diff --git a/website/themes/beastie/assets/styles/main.css b/website/themes/beastie/assets/styles/main.css index ee09ce3361..ae8d1b9e7a 100644 --- a/website/themes/beastie/assets/styles/main.css +++ b/website/themes/beastie/assets/styles/main.css @@ -1,1562 +1,1594 @@ /* * Copyright (c) 1994-2026, The FreeBSD Documentation Project * Copyright (c) 2021-2026, Sergio Carlavilla * Copyright (c) 2023, Mark McBride * Copyright (c) 2023, Mark Phillips * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */ :root { --main-tag-padding: 30px 40px; --max-width: 1200px; --max-width-header: 1350px; --max-width-pages: 1500px; --header-height: 4.5rem; --size-300: .75rem; --size-400: 1rem; --size-500: 1.33rem; --size-550: 1.55rem; --size-600: 1.77rem; --size-700: 2.3rem; --size-750: 2.4rem; --white: #FFF; --black: #000; /* Light theme */ --light-global-font-color: #444; --light-global-background-color: #FFF; --light-header-background: #AB2B28; --light-header-font-color: #FFF; --light-footer-background-color: #F0F1F5; --light-background-accent-color: #F9F0F0; --light-background-frontpage-band-color: #FFF6F6; --light-table-header-background-color: #F1F3F1; --light-table-header-font-color: #444; --light-lines-color: #DDD; --light-links-color: #990000; --light-pre-background-color: #F4F4F4; --light-pre-font-color: #444; --light-feeds-background: #F9F0F0; --light-example-block-font-color: #444; --light-freebsd-logo-horizontal-image: url("/images/FreeBSD-logo-dark.png"); /* Dark theme */ --dark-global-font-color: #EEEFF1; --dark-global-background-color: #333333; --dark-header-background: #AB2B28; --dark-header-font-color: #EEEFF1; --dark-footer-background-color: #2B2B2B; --dark-background-accent-color: #333; --dark-background-frontpage-band-color: #333333; --dark-table-header-background-color: #F1F3F1; --dark-table-header-font-color: #444; --dark-lines-color: #4D4D4D; --dark-links-color: #FF8A80; --dark-pre-background-color: #272727; --dark-pre-font-color: #EEEFF1; --dark-feeds-background: #222; --dark-example-block-font-color: #272727; --dark-freebsd-logo-horizontal-image: url("/images/FreeBSD-logo-light.png"); /* Shared theme values */ --download-release-section-background-color: #FACC2E; --download-release-section-font-color: #990000; --download-section-background-color: #AB2B28; --download-section-font-color: #FFF; --admonition-font-color: #444; --admonition-note-color: #19407C; --admonition-note-background-color: #EAF1FB; --admonition-warning-color: #BF6900; --admonition-warning-background-color: #FFF4E6; --admonition-important-color: #BF0000; --admonition-important-background-color: #FFE6E6; --admonition-caution-color: #BF3400; --admonition-caution-background-color: #FFECE6; --admonition-tip-color: #43B929; --admonition-tip-background-color: #EDFAEA; --example-block-color: #F1BB16; --example-block-background-color: #FEF8E7; --openzfs-image: url("/images/openzfs.svg"); --virtualization-image: url("/images/virtualization.png"); --jails-image: url("/images/jails.svg"); --networking-image: url("/images/networking.svg"); --documentation-image: url("/images/documentation.svg"); --community-image: url("/images/community.svg"); } #page { --global-font-color: var(--light-global-font-color); --global-background-color: var(--light-global-background-color); --header-background: var(--light-header-background); --header-font-color: var(--light-header-font-color); --footer-background-color: var(--light-footer-background-color); --background-accent-color: var(--light-background-accent-color); --background-frontpage-band-color: var(--light-background-frontpage-band-color); --table-header-background-color: var(--light-table-header-background-color); --table-header-font-color: var(--light-table-header-font-color); --lines-color: var(--light-lines-color); --links-color: var(--light-links-color); --pre-background-color: var(--light-pre-background-color); --pre-font-color: var(--light-pre-font-color); --feeds-background: var(--light-feeds-background); --example-block-font-color: var(--light-example-block-font-color); --admonition-links-color: #0645AD; --freebsd-logo-horizontal-image: var(--light-freebsd-logo-horizontal-image); } @media (prefers-color-scheme: dark) { #page { --global-font-color: var(--dark-global-font-color); --global-background-color: var(--dark-global-background-color); --header-background: var(--dark-header-background); --header-font-color: var(--dark-header-font-color); --footer-background-color: var(--dark-footer-background-color); --background-accent-color: var(--dark-background-accent-color); --background-frontpage-band-color: var(--dark-background-frontpage-band-color); --table-header-background-color: var(--dark-table-header-background-color); --table-header-font-color: var(--dark-table-header-font-color); --lines-color: var(--dark-lines-color); --links-color: var(--dark-links-color); --pre-background-color: var(--dark-pre-background-color); --pre-font-color: var(--dark-pre-font-color); --feeds-background: var(--dark-feeds-background); --example-block-font-color: var(--dark-example-block-font-color); --admonition-links-color: #1A79FF; --freebsd-logo-horizontal-image: var(--dark-freebsd-logo-horizontal-image); } } .theme-switch:checked ~ #page { --global-font-color: var(--dark-global-font-color); --global-background-color: var(--dark-global-background-color); --header-background: var(--dark-header-background); --header-font-color: var(--dark-header-font-color); --footer-background-color: var(--dark-footer-background-color); --background-accent-color: var(--dark-background-accent-color); --background-frontpage-band-color: var(--dark-background-frontpage-band-color); --table-header-background-color: var(--dark-table-header-background-color); --table-header-font-color: var(--dark-table-header-font-color); --lines-color: var(--dark-lines-color); --links-color: var(--dark-links-color); --pre-background-color: var(--dark-pre-background-color); --pre-font-color: var(--dark-pre-font-color); --feeds-background: var(--dark-feeds-background); --example-block-font-color: var(--dark-example-block-font-color); --admonition-links-color: #1A79FF; --freebsd-logo-horizontal-image: var(--dark-freebsd-logo-horizontal-image); } @media (prefers-color-scheme: dark) { .theme-switch:checked ~ #page { --global-font-color: var(--light-global-font-color); --global-background-color: var(--light-global-background-color); --header-background: var(--light-header-background); --header-font-color: var(--light-header-font-color); --footer-background-color: var(--light-footer-background-color); --background-accent-color: var(--light-background-accent-color); --background-frontpage-band-color: var(--light-background-frontpage-band-color); --table-header-background-color: var(--light-table-header-background-color); --table-header-font-color: var(--light-table-header-font-color); --lines-color: var(--light-lines-color); --links-color: var(--light-links-color); --pre-background-color: var(--light-pre-background-color); --pre-font-color: var(--light-pre-font-color); --feeds-background: var(--light-feeds-background); --example-block-font-color: var(--light-example-block-font-color); --admonition-links-color: #0645AD; --freebsd-logo-horizontal-image: var(--light-freebsd-logo-horizontal-image); } } @media (max-width: 599px) { :root { --main-tag-padding: 30px 15px; } } @media (min-width: 600px) and (max-width: 1199px) { :root { --main-tag-padding: 30px 20px; } } @media (min-width: 1200px) { :root { --main-tag-padding: 30px 40px; } } *, *::before, *::after { box-sizing: border-box; } :focus-visible { outline: 2px solid var(--links-color); outline-offset: 2px; } :focus:not(:focus-visible) { outline: none; } html { font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif; scroll-padding-top: var(--header-height); scroll-behavior: auto; } html, body { text-rendering: optimizeLegibility; line-height: 1.5; } body { padding: 0; margin: 0; font-size: 100%; font-weight: 400; font-style: normal; cursor: auto; } #page { display: flex; flex-direction: column; min-height: 100vh; color: var(--global-font-color); background-color: var(--global-background-color); } /* HTML Tags */ h1, h2, h3, h4, h5, h6 { margin: 0; padding-bottom: .3rem; } :is(h1, h2, h3, h4) { line-height: 1.3; } :is(h1, h2) { font-weight: 900; } h1 { font-size: var(--size-750); } h2 { font-size: var(--size-600); } h3 { font-size: var(--size-550); padding-top: .8rem; } h4 { font-size: var(--size-500); } h5 { font-size: var(--size-400); } h6 { font-size: var(--size-300); } :is(h2, h3, h4, h5, h6) > .anchor { text-decoration: none; } :is(h2, h3, h4, h5, h6) > .anchor:hover { text-decoration: none; } :is(h2, h3, h4, h5, h6) > .anchor::before { visibility: hidden; margin-left: .3rem; content: "#"; color: var(--global-font-color); } :is(h2, h3, h4, h5, h6):hover .anchor::before, :is(h2, h3, h4, h5, h6):focus-within .anchor::before { visibility: visible; } hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top: 1px solid var(--lines-color); } a { text-decoration: none; color: var(--links-color); } a:hover { text-decoration: underline; } img { max-width: 100%; } figcaption { font-size: var(--size-300); font-style: italic; margin-top: 1rem; } pre { display: block; width: 100%; max-width: 100%; margin: 0; padding: 1rem; box-sizing: border-box; overflow: auto hidden; white-space: pre; word-break: normal; overflow-wrap: normal; border-radius: .25rem; font-family: Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace; background-color: var(--pre-background-color); font-size: 1rem; color: var(--pre-font-color); line-height: 1.4; } p { text-justify: inter-word; } b, dt, strong, th { font-weight: bolder; } dt { font-style: italic; } blockquote { padding-left: var(--size-600); border-left: 5px solid; font-style: italic; } code { padding: .12rem .2rem; border-radius: .25rem; background-color: var(--pre-background-color); font-family: "DejaVu Sans Mono", Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; color: var(--pre-font-color); } kbd { font-family: "DejaVu Sans", "DejaVu Sans Bold"; display: inline-block; color: rgba(0,0,0,.8); font-size: .65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; border-radius: 3px; box-shadow: 0 1px 0 rgba(0,0,0,0.2), 0 0 0 0.1em var(--white) inset; margin: 0 .15em; padding: .2em .5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } details { margin: 1rem 0; } details summary { cursor: pointer; } /* Header section */ header { padding: .5rem 1rem; background-color: var(--header-background); font-size: clamp(13px, 0.8vw, 15px); } .header-container { display: flex; width: 100%; max-width: var(--max-width-header); margin-left: auto; margin-right: auto; align-items: center; } .logo-menu-bars-container { display: flex; align-items: center; } .logo { display: flex; align-items: center; margin-right: 1rem; } header nav { margin-left: 0; margin-right: 0; } header ul { margin: 0; padding: 0; list-style: none; overflow: hidden; } header ul li { list-style: none; } .menu-bars { display: none; width: 2rem; height: 2rem; margin-left: auto; color: var(--white); cursor: pointer; align-items: center; justify-content: center; position: relative; } .menu-bars::before { content: ""; display: block; width: 1.5rem; height: 2px; background-color: currentColor; border-radius: 999px; box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor; } input[type='checkbox'] { display: none; } .menu { display: flex; padding: 0; margin: 0; } .menu-item { display: flex; margin-right: 1rem; align-items: center; color: var(--white); } .menu-item a { padding: 1rem 0; color: inherit; } .menu-item a, .donate a { text-decoration: none; font-weight: 600; } .menu-item a:hover, .donate a:hover { text-decoration: none; } .donate a { color: var(--black); } .heart { font-size: 1.2rem; color: #E38582; } .heart:hover { color: #D1332E; } .menu-item i { margin-left: .1rem; } .sub-menu { visibility: hidden; position: absolute; top: 3rem; padding: 1rem .75rem; min-width: 250px; background-color: var(--white); border-radius: .4rem; color: #444; border: 1px solid #CDCDCD; z-index: 999; } .sub-menu:hover { visibility: visible; } .menu-item a:hover+.sub-menu { visibility: visible; } .sub-menu li { margin-top: 0; padding: .75rem .6rem; } .sub-menu .title { border-bottom: 1px solid #E5E7EB; } .sub-menu li a { font-weight: normal; } .sub-menu .title a { font-weight: bolder; } .search-donate-container { display: flex; align-items: center; margin-left: auto; } .search { display: flex; width: 150px; min-width: 150px; border-radius: .4rem; background-color: var(--white); border: 1px solid var(--white); margin-right: .5rem; } .search input[type='text'] { display: inline-block; width: 100%; min-width: 0; padding: .3rem .5rem; border: none; border-radius: .4rem; appearance: none; outline: none; background-color: var(--white); color: var(--black); } .search button { flex: 0 0 2rem; width: 2rem; padding: 0; background-color: var(--white); border: none; border-radius: .4rem; } .search button i { color: var(--black); } .donate { margin-left: .5rem; } .donate a { display: inline-block; padding: .45rem .85rem; background-color: var(--white); border-radius: .4rem; } .i18n { position: relative; display: inline-block; } .lang-toggle { display: flex; list-style: none; cursor: pointer; } .lang-toggle img { height: 1.5rem; width: 1.5rem; } .lang-dropdown { display: none; position: absolute; top: 100%; right: 0; background: var(--white); border: 1px solid var(--lines-color); box-shadow: 0 4px 6px rgba(0,0,0,0.1); list-style: none; margin: 0; padding: 0; min-width: 120px; z-index: 10; } .i18n[open] .lang-dropdown { display: block; } .lang-dropdown li a { display: block; padding: 8px 12px; text-decoration: none; color: #444; } .lang-dropdown li a:hover { background: #F5F5F5; } .lang-dropdown .current-lang { font-weight: bold; background: #F0F0F0; pointer-events: none; } @media screen and (max-width: 1300px) { .header-container { flex-direction: column; } .logo-menu-bars-container { width: 100%; padding: .5rem 0; } nav { width: 100%; margin: 0; padding: 0; } .menu-bars { display: flex; } .menu { display: none; width: 100%; } #menu-bars:checked~nav .menu { display: block; } .menu-item { flex-direction: column; width: 100%; margin-right: 0px; border-top: 1px solid var(--white); cursor: pointer; } .menu-item a { width: 100%; } .menu-item a:hover+.sub-menu { visibility: visible; } .menu-item-description { display: flex; width: 100%; cursor: pointer; } .menu-item-description i { margin-left: auto; } .sub-menu { display: none; flex-direction: column; width: 100%; padding: 0px; position: static; visibility: visible; border: none; background-color: inherit; color: inherit; box-shadow: inherit; } .sub-menu .title { display: block; border-bottom: none; } .sub-menu li { padding-left: 0px; padding-right: 0px; } #about:checked~.sub-menu, #download:checked~.sub-menu, #documentation:checked~.sub-menu, #community:checked~.sub-menu, #developers:checked~.sub-menu, #support:checked~.sub-menu { display: flex; } .search-donate-container { display: none; } .search { width: 100%; min-width: 0; } #menu-bars:checked~.search-donate-container { display: flex; flex-direction: column; width: 100%; margin-left: unset; padding-top: .2rem; } .donate { display: flex; width: 100%; margin-left: unset; padding-top: .8rem; } .donate a { width: 100%; text-align: center; } .donate a .heart { font-size: 1.2rem; color: #D1332E; } } @media screen and (min-width: 900px) { header { padding: .5rem 2rem; } } @media screen and (min-width: 1451px) { header { padding: .5rem 5rem; } } /* Home page */ .front-page-band-on { background: var(--background-frontpage-band-color); } .front-page-band-content { max-width: var(--max-width); margin: 0px auto; padding: var(--main-tag-padding); padding-top: 20px; padding-bottom: 20px; } .main-section { margin: 1rem 0 0 0; } .freebsd-horizontal .logo-box-image { background-image: var(--freebsd-logo-horizontal-image); } .logo-box { width: 100px; height: 100px; float: right; margin: 5px 10px 20px 20px; } .logo-box-image { width: 100%; height: 100%; margin: auto; background-repeat: no-repeat; background-position: center center; background-size: contain; } .front-page-logo { float: none; width: auto; height: clamp(100px, 30vw, 180px); } .front-page-tagline { line-height: normal; font-weight: 400; font-size: 30px; text-align: center; } .downloads-container { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 auto; } .download-section { flex: 0 0 20%; min-width: 275px; margin: 0; margin-top: 50px; text-align: center; } .download-section-title { padding: 2px 0px; border-radius: 5px; font-size: 18px; font-weight: 500; margin: 0 0 5px 0; } .download-button-release { background: var(--download-release-section-background-color); color: var(--download-release-section-font-color); padding: 5px 10px; border-radius: 5px; font-size: 14px; font-weight: 500; } .download-button { background: var(--download-section-background-color); color: var(--download-section-font-color); padding: 5px 10px; border-radius: 5px; font-size: 14px; font-weight: 500; } .download-links { margin: 5px 0 0 0; } .additional-downloads { margin: 5px 0; } .why-freebsd-flex { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 30px; } .why-freebsd-flex-item { flex: 1 1 30%; min-width: 280px; } .why-freebsd-flex-item p { padding: 0 20px 0 0; } .why-freebsd-flex-item h3 { margin-top: 0; border-radius: 5px; padding: 2px 10px 0 0px; } .openzfs .logo-box-image { background-image: var(--openzfs-image); } .bhyve .logo-box-image { background-image: var(--virtualization-image); } .jails .logo-box-image { background-image: var(--jails-image); } .network .logo-box-image { background-image: var(--networking-image); } .docs .logo-box-image { background-image: var(--documentation-image); } .community .logo-box-image { background-image: var(--community-image); } /* Feeds section in home page */ .feed-flex { display: flex; flex-wrap: wrap; gap: 30px 20px; } .feed-flex-item { background: var(--feeds-background); line-height: 1.3em; border-radius: 7px; } .feed-flex-item a { text-decoration: none; } .feed-flex-item a:hover { text-decoration: underline; } .feed-flex-item { flex: 1 1 15%; padding: 1rem 1.5rem; min-width: 150px; border-radius: 1rem; font-size: .8em; } .feed-flex-item .feed-item { margin: 0; padding: 0 0 5px 0; } .feed-flex-item .feed-source { display: flex; align-items: center; gap: .3rem; } .feed-flex-item .feed-source a { color: var(--links-color); } .rssimage { margin-top: .35rem; } /* Normal page */ #content { display: flex; gap: 2rem; max-width: var(--max-width-pages); margin: 0 auto; padding: 2rem 1rem; } #sidenav { display: flex; width: 200px; padding: 1rem; border-right: 1px solid #D4D4D4; } #sidenav ul { list-style: none; margin: 0; padding: 0; } #sidenav li { margin: .5rem 0; } #contentwrap { min-width: 0; } #contentwrap h1 { margin-top: 0; padding-bottom: 1.2rem; } +/* Release documents navigation */ +#contentwrap h1:has(+ .release-docs) { + padding-bottom: .5rem; +} + +.release-docs { + margin-bottom: 1.5rem; + padding-bottom: .6rem; + border-bottom: 1px solid var(--lines-color); + font-size: var(--size-300); + line-height: 1.8; +} + +.release-docs ul { + display: inline; + margin: 0; + padding: 0; + list-style: none; +} + +.release-docs li { + display: inline; +} + +.release-docs li:not(:last-child)::after { + content: " \00B7 "; +} + +.release-docs [aria-current="page"] { + font-weight: 600; +} + @media (max-width: 768px) { #sidewrap { display: none; } } /* Downloads page*/ .tblDownload ul { list-style: none; padding: 0 10px; } /* 404 */ .error-section { display: flex; width: 100%; max-width: var(--max-width); min-height: 70vh; margin: 0 auto; align-items: center; justify-content: center; } .error-container { display: flex; flex-direction: column; width: 100%; align-items: center; justify-content: center; } @media (max-width: 480px) { .error-container h1 { font-size: 1.8rem; } } /* Callouts */ .conum { display: inline-block; color: var(--white); background-color: #000; border-radius: 100px; text-align: center; font-size: .75em; width: 1.67em; height: 1.67em; font-style: normal; font-weight: bold; } .conum[data-value] { color: var(--white); text-align: center; font-size: .75em; line-height: 1.67em; font-style: normal; font-weight: bold; } .conum[data-value]::after { content: attr(data-value); } .colist td { padding-top: 4px; padding-bottom: 4px; vertical-align: top; } .colist tr td b, .programlisting b { display: none; } .rouge b { display: none; } /* Tables */ table caption { text-rendering: optimizeLegibility; text-align: left; font-weight: bolder; font-size: 1rem; } table.tableblock { display: block; margin: auto; margin-bottom: 1.25em; max-width: 100%; border-collapse: collapse; overflow-x: auto; } table.tableblock th { text-align: left; background-color: var(--table-header-background-color); color: var(--table-header-font-color); text-rendering: optimizeLegibility; padding: .5em .625em .625em; border: 0 solid #dedede; border-width: 0 1px 1px 0; } table.tableblock td { text-align: left; border: 0 solid #dedede; text-rendering: optimizeLegibility; line-height: 1.6; padding: .5em .625em .625em; font-size: inherit; border-width: 0 1px 1px 0; vertical-align: top; } table.tableblock td.icon { border: none; } table.tableblock td:first-of-type, table.tableblock th:first-of-type { border-left: none; } table.tableblock td:last-of-type, table.tableblock th:last-of-type { border-right: none; } table.stretch { width: 100%; } /* Admonitions */ .admonitionblock { margin: 1.4rem 0; padding: 1rem; color: var(--admonition-font-color); } .admonitionblock table { table-layout: fixed; position: relative; width: 100%; } .admonitionblock table tbody tr td.icon { position: absolute; top: 0; left: 0; line-height: 1; padding-bottom: 0.5rem; } .admonitionblock table tbody tr td.icon i { display: inline-flex; align-items: center; width: auto; background-position-x: 0.5em; vertical-align: initial; font-style: normal; } .admonitionblock table tbody tr td.icon i::after { content: attr(title); font-family: 'Inter var', sans-serif; font-weight: bolder; padding: 0 0.5em; margin: -0.05em; } .admonitionblock table tbody tr td.icon .icon-note::before { content: "\f05a"; color: var(--admonition-note-color); } .admonitionblock table tbody tr td.icon .icon-tip::before { content: "\f0eb"; color: var(--admonition-tip-color); } .admonitionblock table tbody tr td.icon .icon-warning::before { content: "\f071"; color: var(--admonition-warning-color); } .admonitionblock table tbody tr td.icon .icon-caution::before { content: "\f06d"; color: var(--admonition-caution-color); } .admonitionblock table tbody tr td.icon .icon-important::before { content: "\f06a"; color: var(--admonition-important-color); } .admonitionblock table tbody tr td.icon [class^="fa icon-"] { font-size: 1.2rem; cursor: default; } .admonitionblock table tbody tr td.content { width: 100%; word-wrap: anywhere; } .admonitionblock table tbody tr td.content .title { margin-top: 2rem; } .admonitionblock table tbody tr td.content .paragraph { padding-top: 0.5rem; } .admonitionblock table tbody tr td.content a { color: var(--admonition-links-color); } .note { border-left: 5px solid var(--admonition-note-color); background-color: var(--admonition-note-background-color); } .warning { border-left: 5px solid var(--admonition-warning-color); background-color: var(--admonition-warning-background-color); } .important { border-left: 5px solid var(--admonition-important-color); background-color: var(--admonition-important-background-color); } .caution { border-left: 5px solid var(--admonition-caution-color); background-color: var(--admonition-caution-background-color); } .tip { border-left: 5px solid var(--admonition-tip-color); background-color: var(--admonition-tip-background-color); } /* Example */ .example, .exampleblock { border-left: 5px solid var(--example-block-color); padding: 1rem; background-color: var(--example-block-background-color); } .exampleblock { margin: .75rem 0; color: var(--example-block-font-color); } .exampleblock .title { font-weight: bolder; font-family: sans-serif; } .exampleblock .content .literalblock .content { background: #fefde6; border: none; color: var(--global-font-color); } .exampleblock .content a { color: var(--admonition-links-color); } .procedure { border-left: 5px solid #b3b3b3; padding: 1rem; margin-bottom: 1.4rem; } /* Misc */ .imageblock .title { margin-top: .5rem; padding-bottom: 0; font-weight: bolder; font-style: italic; } .literalblock { margin: .75em 0; overflow-x: auto; overflow-y: hidden; max-width: 100%; } .literalblock .content { min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; } .fa { font-family: FontAwesome; font-style: normal; } .listingblock { margin: .75em 0; position: relative; } .listingblock .title { position: absolute; top: -1em; left: 1em; } .highlight { padding: 1.5em 2em; } .highlight code { font-size: .75rem; padding: 0; border-radius: inherit; background-color: transparent; color: inherit; } .highlight:hover code::before { content: attr(data-lang); position: absolute; top: .5em; right: 3em; } .filename { font-weight: bolder; } .right { display: block; float: right; } /* Footer section */ footer { margin-top: 1rem; padding: 1rem; color: var(--global-font-color); background-color: var(--footer-background-color); } .footer-container { display: grid; gap: 1rem; grid-template-columns: 1fr; grid-template-areas: "logo" "about" "documentation" "community" "legal" "copyright"; max-width: var(--max-width); margin-left: auto; margin-right: auto; } .logo-column { grid-area: logo; } .about-column { grid-area: about; } .community-column { grid-area: community; } .documentation-column { grid-area: documentation; } .legal-column { grid-area: legal; } .copyright-column { grid-area: copyright; padding-top: 1rem; border-top: 1px solid #E5E7EB; line-height: 1rem; font-size: .8rem; } .column-title { margin-top: 0; font-size: inherit; border-bottom: none; } .column-elements-container { margin: .5rem 0; padding: 0; list-style: none; } .column-elements-container li { margin-top: .7rem; } .column-element { text-decoration: none; line-height: 2rem; color: inherit; font-size: inherit; } .theme-switch { position: fixed !important; top: 0; left: 0; display: block !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; } .theme-container { display: block; } .theme-switch-label { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; cursor: pointer; border: 1px solid var(--lines-color); border-radius: 999px; color: var(--global-font-color); background-color: var(--global-background-color); } .theme-switch-label:hover { text-decoration: none; background-color: var(--background-accent-color); } .theme-icon { font-size: 1rem; line-height: 1; } .theme-icon-light { display: none; } .theme-icon-dark { display: inline-block; } @media (prefers-color-scheme: dark) { #page .theme-icon-light { display: inline-block; } #page .theme-icon-dark { display: none; } } .theme-switch:checked ~ #page .theme-icon-light { display: inline-block; } .theme-switch:checked ~ #page .theme-icon-dark { display: none; } @media (prefers-color-scheme: dark) { .theme-switch:checked ~ #page .theme-icon-light { display: none; } .theme-switch:checked ~ #page .theme-icon-dark { display: inline-block; } } .theme-switch:focus-visible ~ #page .theme-switch-label { outline: 2px solid var(--links-color); outline-offset: 3px; } @media screen and (min-width: 450px) { .footer-container { gap: 2rem; grid-template-columns: 1fr 1fr; grid-template-areas: "logo logo" "about community" "documentation legal" "copyright copyright"; } } @media screen and (min-width: 900px) { footer { padding: 2rem; } .footer-container { grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; grid-template-areas: "logo about documentation community legal" "copyright copyright copyright copyright copyright"; gap: 1rem; } } @media screen and (min-width: 1451px) { footer { padding: 2rem 5rem; } .footer-container { gap: 2rem; } } diff --git a/website/themes/beastie/i18n/en.toml b/website/themes/beastie/i18n/en.toml index b433526892..368ad2fb53 100644 --- a/website/themes/beastie/i18n/en.toml +++ b/website/themes/beastie/i18n/en.toml @@ -1,710 +1,744 @@ # --------------------------------------------------- # Global # --------------------------------------------------- [freebsd] other = "FreeBSD" [freebsdProject] other = "The FreeBSD Project" [freebsdPowerServe] other = "FreeBSD The Power to Serve" [freebsdFoundation] other = "The FreeBSD Foundation" [downloadFreeBSD] other = "Download FreeBSD" [production] other = "Production" [last-modified] other = "Last modified on" [by] other = "by" [more] other = "more" [rss] other = "feed" # --------------------------------------------------- # Header # --------------------------------------------------- [documentation] other = "Documentation" [community] other = "Community" [h-about] other = "About" [h-introduction] other = "Introduction" [h-features] other = "Features" [h-freebsd] other = "FreeBSD" [h-freebsd-foundation] other = "FreeBSD Foundation" [h-code-of-conduct] other = "Code of Conduct" [h-get-freebsd] other = "Get FreeBSD" [h-release-information] other = "Release Information" [h-release-engineering] other = "Release Engineering" [h-security-advisories] other = "Security Advisories" [h-documentation] other = "Documentation" [h-documentation-portal] other = "Documentation portal" [h-freebsd-handbook] other = "Handbook" [h-documentation-faq] other = "FAQ" [h-porter-handbook] other = "Porter's Handbook" [h-documentation-handbook] other = "Documentation Project Handbook" [h-manual-pages] other = "Manual pages" [h-presentation-and-papers] other = "Presentations and papers" [h-wiki] other = "Wiki" [h-books] other = "Books" [h-articles] other = "Articles" [h-community] other = "Community" [h-get-involved] other = "Get involved" [h-community-forum] other = "Forum" [h-mailing-lists] other = "Mailing lists" [h-irc-channels] other = "IRC Channels" [h-bug-tracker] other = "Bug Tracker" [h-support] other = "Support" [h-donate] other = "Donate" [h-privacy-policy] other = "Privacy Policy" [h-projects] other = "Projects" [h-ports] other = "Ports" [h-forums] other = "Forums" [h-user-groups] other = "User Groups" [h-events] other = "Events" [h-freebsd-journal] other = "FreeBSD Journal" [h-developers] other = "Developers" [h-project-ideas] other = "Project Ideas" [h-git-repository] other = "Git Repository" [h-git-mirror] other = "GitHub Mirror" [h-phabricator] other = "Code Review (Phabricator)" [h-CI] other = "Continuous Integration Service" [h-vendors] other = "Vendors" [h-security-information] other = "Security Information" [h-bug-reports] other = "Bug Reports" [h-submitting-bug-reports] other = "Submitting Bug Reports" [h-webresources] other = "Web Resources" # --------------------------------------------------- # Main # --------------------------------------------------- [title-one] other = "A Powerful, Open Source" [title-two] other = "Operating System" [download-freebsd] other = "Download FreeBSD" [other] other = "other" [announcement] other = "announcement" [notes] other = "notes" [upcoming-releases] other = "Upcoming Releases" [development-snapshots] other = "development snapshots" [features-introduction-two] other = "features" [features-introduction-three] other = "for more insights" [zfs-title] other = "Native ZFS" [zfs-description] other = "combines the roles of a filesystem and volume manager into a single, reliable storage platform. In FreeBSD, it is fully integrated into the operating system." [virtualization-title] other = "Virtualization" [virtualization-description] other = "is FreeBSD’s modern hypervisor, with support for virtio, PCI passthrough, and fast NVMe emulation." [jails-title] other = "Jails" [jails-description] other = "FreeBSD jails provide isolation for services and applications. Each jail can run with its own filesystem, networking, and configuration." [networking-title] other = "Networking" [networking-description] other = "FreeBSD is widely recognized for its network performance and stability. It powers infrastructure that handles demanding workloads around the world." [documentation-title] other = "Documentation" [documentation-description] other = "FreeBSD includes extensive, well-maintained documentation. From the Handbook to manual pages, documentation is treated as a core part of the system." [community-title] other = "Community" [community-description] other = "FreeBSD has a vibrant and collaborative community, from individual contributors to large corporate organisations. Groups are active across various channels, from real-time communications to mailing lists and newsgroups." [latest-news] other = "Latest news" [upcoming-events] other = "Upcoming events" [press] other = "Press" [security-advisories] other = "Security advisories" [errata-notices] other = "Errata notices" # --------------------------------------------------- # Footer # --------------------------------------------------- [system] other = "System" [light] other = "Light" [dark] other = "Dark" [high-contrast] other = "High contrast" [f-about] other = "About" [f-freebsd] other = "FreeBSD" [f-freebsd-foundation] other = "FreeBSD Foundation" [f-get-freebsd] other = "Get FreeBSD" [f-code-of-conduct] other = "Code of Conduct" [f-security-advisories] other = "Security Advisories" [f-documentation] other = "Documentation" [f-documentation-portal] other = "Documentation portal" [f-manual-pages] other = "Manual pages" [f-presentation-and-papers] other = "Presentations and papers" [f-previous-versions] other = "Previous versions" [f-44bsd-documents] other = "4.4BSD Documents" [f-wiki] other = "Wiki" [f-community] other = "Community" [f-get-involved] other = "Get involved" [f-community-forum] other = "Community forum" [f-mailing-lists] other = "Mailing lists" [f-irc-channels] other = "IRC Channels" [f-bug-tracker] other = "Bug Tracker" [f-legal] other = "Legal" [f-donations] other = "Donations" [f-licensing] other = "Licensing" [f-privacy-policy] other = "Privacy Policy" [f-legal-notices] other = "Legal notices" [f-all-rights-reserved] other = "The FreeBSD Project. All rights reserved" [f-made-with] other = "Made with" [f-by-freebsd-community] other = "by the FreeBSD Community" # --------------------------------------------------- # 404 # --------------------------------------------------- [pageNotFound] other = "Page not found." [notFoundTitle] other = "We could not find the page you requested." [notFoundDesc] other = "Please try your request again, use one of the links in the navigation menu, or the search box at the top of the page." # --------------------------------------------------- # Ports form # --------------------------------------------------- [ports-search] other = "Search ports for:" [all] other = "All" [package-name] other = "Package Name" [description] other = "Description" [long-description] other = "Long description" [maintainer] other = "Maintainer" [requires] other = "Requires" [submit] other = "Submit" # Months [1] other = "January" [2] other = "February" [3] other = "March" [4] other = "April" [5] other = "May" [6] other = "June" [7] other = "July" [8] other = "August" [9] other = "September" [10] other = "October" [11] other = "November" [12] other = "December" # Security section [data] other = "Data" [errataNoticeName] other = "Errata Notice name" [advisoryName] other = "Advisory name" # Events section [currentEvents] other = "Current/Upcoming Events:" [pastEvents] other = "Past Events:" [upcomingFreeBSDEvents] other = "Upcoming FreeBSD Events" # Continents, countries [europe] other = "Europe" [africa] other = "Africa" [australia] other = "Australia" [newZealand] other = "New Zealand" [northAmerica] other = "North America" [asia] other = "Asia" [southAmerica] other = "South America" [oceania] other = "Oceania" [global] other = "Global" # Commercial software [databases] other = "Databases" [developmentTools] other = "Development Tools" [ecommerce] other = "E-Commerce Solutions and Tools" [email] other = "Electronic Mail Software" [network] other = "Network Systems and Applications" [scientific] other = "Scientific and Language Tools" [security] other = "Security" [isp] other = "System Administration / ISP" # sidenav [applications] other = "Applications" [administration] other = "Administration" [news] other = "News" [pressSidenav] other = "Press" [multimedia] other = "Multimedia" [art] other = "Artwork" [logo] other = "Logo" [donations] other = "Donations" [privacy] other = "Privacy Policy" [mailinglists] other = "Mailing Lists" [newsgroups] other = "Newsgroups" [usergroups] other = "User Groups" [sourceCodeRepositories] other = "Source code repositories" [releng] other = "Release Engineering" [platforms] other = "Platforms" [ideas] other = "Project Ideas" [contributing] other = "Contributing" [FAQ] other = "FAQ" [man] other = "Manual Pages" [papers] other = "Presentations and Papers" [booksArticles] other = "Books and Articles Online" [publications] other = "Publications" [newbies] other = "For Newbies" [docproj] other = "Documentation Project" [archive] other = "Archive" [releases] other = "Release Information" [productionRelease] other = "Production Release" [legacyRelease] other = "Legacy Release" [upcomingRelease] other = "Upcoming Release" [snapshotReleases] other = "Snapshot Releases" [portedApplications] other = "Ported Applications" [gnome] other = "GNOME" [installationInstructions] other = "Installation Instructions" [upgradeInstructions] other = "Upgrade Instructions" [availableApplications] other = "Available Applications" [howHelp] other = "How to Help" [reportingBug] other = "Reporting a Bug" [screenshots] other = "Screenshots" [contactUs] other = "Contact Us" [HALFAQ] other = "HAL FAQ" [upgradeFAQ] other = "2.30 to 2.32 Upgrade FAQ" [developmentBranchFAQ] other = "Development Branch FAQ" [creatingPorts] other = "Creating Ports" [knownIssues] other = "Known Issues" [aboutPorts] other = "About ports" [installing] other = "Installing" [updating] other = "Updating" [searching] other = "Searching" [categories] other = "Categories" [alphabetically] other = "listed alphabetically" [logicalGroup] other = "listed by logical group" [allPorts] other = "List of All Ports" [moreInformation] other = "For More Information" [software] other = "Software" [hardware] other = "Hardware" [consulting] other = "Consulting" [ispCommercial] other = "Internet Service Providers" [securityInfo] other = "Security Information" [advisories] other = "Advisories" [errataNoticesSidenav] other = "Errata Notices" [unsupportedReleases] other = "Unsupported Releases" [readSecurityAdvisories] other = "How to read FreeBSD Security Advisories" [charterSecurityOfficerTeam] other = "Charter for the Security Officer and Team" [bugreports] other = "Bug Reports" [submitPR] other = "Submit a Problem Report" [webresources] other = "Web Resources" + +# --------------------------------------------------- +# Release documents navigation +# --------------------------------------------------- + +[rel-doc-nav] +other = "Release documents" + +[rel-doc-announce] +other = "announcement" + +[rel-doc-signatures] +other = "signed checksum files" + +[rel-doc-upgrading] +other = "upgrading instructions" + +[rel-doc-installation] +other = "installation instructions" + +[rel-doc-hardware] +other = "hardware information" + +[rel-doc-relnotes] +other = "release notes" + +[rel-doc-errata] +other = "errata" + +[rel-doc-readme] +other = "readme" + +[rel-doc-schedule] +other = "schedule" diff --git a/website/themes/beastie/i18n/es.toml b/website/themes/beastie/i18n/es.toml index 266ac93f1a..020ba69484 100644 --- a/website/themes/beastie/i18n/es.toml +++ b/website/themes/beastie/i18n/es.toml @@ -1,710 +1,744 @@ # --------------------------------------------------- # Global # --------------------------------------------------- [freebsd] other = "FreeBSD" [freebsdProject] other = "El Proyecto FreeBSD" [freebsdPowerServe] other = "FreeBSD The Power to Serve" [freebsdFoundation] other = "La Fundación FreeBSD" [downloadFreeBSD] other = "Descargar FreeBSD" [production] other = "Producción" [last-modified] other = "Última modificación el" [by] other = "por" [more] other = "más" [rss] other = "feed" # --------------------------------------------------- # Header # --------------------------------------------------- [documentation] other = "Documentación" [community] other = "Comunidad" [h-about] other = "Acerca de" [h-introduction] other = "Introducción" [h-features] other = "Características" [h-freebsd] other = "FreeBSD" [h-freebsd-foundation] other = "La Fundación FreeBSD" [h-code-of-conduct] other = "Código de conducta" [h-get-freebsd] other = "Obtener FreeBSD" [h-release-information] other = "Información de la versión" [h-release-engineering] other = "Ingeniería de versiones" [h-security-advisories] other = "Avisos de seguridad" [h-documentation] other = "Documentación" [h-documentation-portal] other = "Portal de documentación" [h-freebsd-handbook] other = "Manual de FreeBSD" [h-porter-handbook] other = "Manual del Porter" [h-documentation-handbook] other = "Manual del proyecto de documentación" [h-manual-pages] other = "Páginas de manual" [h-presentation-and-papers] other = "Presentaciones y artículos" [h-wiki] other = "Wiki" [h-books] other = "Libros" [h-articles] other = "Artículos" [h-community] other = "Comunidad" [h-get-involved] other = "Participa" [h-community-forum] other = "Foro" [h-mailing-lists] other = "Listas de correo" [h-irc-channels] other = "Canales IRC" [h-bug-tracker] other = "Bug Tracker" [h-support] other = "Soporte" [h-donate] other = "Donar" [h-privacy-policy] other = "Política de privacidad" [h-projects] other = "Proyectos" [h-ports] other = "Ports" [h-forums] other = "Foros" [h-user-groups] other = "Grupos de usuarios" [h-events] other = "Eventos" [h-freebsd-journal] other = "FreeBSD Journal" [h-developers] other = "Desarrolladores" [h-project-ideas] other = "Ideas de proyectos" [h-git-repository] other = "Repositorio Git" [h-git-mirror] other = "Réplica de GitHub" [h-phabricator] other = "Revisión de código (Phabricator)" [h-CI] other = "Servicio de integración continua (CI)" [h-vendors] other = "Proveedores" [h-security-information] other = "Información de seguridad" [h-bug-reports] other = "Informes de error" [h-submitting-bug-reports] other = "Enviar informes de error" [h-webresources] other = "Recursos web" # --------------------------------------------------- # Main # --------------------------------------------------- [title-one] other = "Un Sistema Operativo" [title-two] other = "Potente y Open Source" [download-freebsd] other = "Descargar FreeBSD" [other] other = "otros" [announcement] other = "anuncio" [notes] other = "notas" [upcoming-releases] other = "Próximas versiones" [development-snapshots] other = "instantáneas de desarrollo" [features-introduction-two] other = "características" [features-introduction-three] other = "para más información" [zfs-title] other = "ZFS nativo" [zfs-description] other = "combina las funciones de sistema de archivos y gestor de volúmenes en una única plataforma de almacenamiento. En FreeBSD, está completamente integrado en el sistema operativo." [virtualization-title] other = "Virtualización" [virtualization-description] other = "es el hipervisor moderno de FreeBSD, con soporte para virtio, PCI passthrough y emulación rápida de NVMe." [jails-title] other = "Jails" [jails-description] other = "Las jails de FreeBSD proporcionan aislamiento para servicios y aplicaciones. Cada jail puede ejecutarse con su propio sistema de archivos, red y configuración." [networking-title] other = "Redes" [networking-description] other = "FreeBSD es ampliamente reconocido por su rendimiento y estabilidad de red. Impulsa infraestructuras que manejan cargas de trabajo exigentes en todo el mundo." [documentation-title] other = "Documentación" [documentation-description] other = "FreeBSD incluye una documentación extensa y bien mantenida. Desde el Handbook hasta las páginas de manual, la documentación se trata como una parte fundamental del sistema." [community-title] other = "Comunidad" [community-description] other = "FreeBSD cuenta con una comunidad comprometida y colaborativa, desde colaboradores individuales hasta grandes organizaciones corporativas. Los grupos están activos en diversos canales, desde comunicaciones en tiempo real hasta listas de correo y grupos de noticias." [latest-news] other = "Últimas noticias" [upcoming-events] other = "Próximos eventos" [press] other = "Prensa" [security-advisories] other = "Avisos de seguridad" [errata-notices] other = "Avisos de erratas" # --------------------------------------------------- # Footer # --------------------------------------------------- [system] other = "Sistema" [light] other = "Claro" [dark] other = "Oscuro" [high-contrast] other = "Alto contraste" [f-about] other = "Acerca de" [f-freebsd] other = "FreeBSD" [f-freebsd-foundation] other = "La Fundación FreeBSD" [f-get-freebsd] other = "Obtener FreeBSD" [f-code-of-conduct] other = "Código de conducta" [f-security-advisories] other = "Avisos de seguridad" [f-documentation] other = "Documentación" [f-documentation-portal] other = "Portal de documentación" [f-manual-pages] other = "Páginas de manual" [f-presentation-and-papers] other = "Presentaciones y artículos" [f-previous-versions] other = "Versiones anteriores" [f-44bsd-documents] other = "Documentos de 4.4BSD" [f-wiki] other = "Wiki" [f-community] other = "Comunidad" [f-get-involved] other = "Participa" [f-community-forum] other = "Foro de la comunidad" [f-mailing-lists] other = "Listas de correo" [f-irc-channels] other = "Canales IRC" [f-bug-tracker] other = "Gestor de errores" [f-legal] other = "Aviso legal" [f-donations] other = "Donaciones" [f-licensing] other = "Licencias" [f-privacy-policy] other = "Política de privacidad" [f-legal-notices] other = "Avisos legales" [f-all-rights-reserved] other = "El Proyecto FreeBSD. Todos los derechos reservados" [f-made-with] other = "Hecho con" [f-by-freebsd-community] other = "por la comunidad FreeBSD" # --------------------------------------------------- # 404 # --------------------------------------------------- [pageNotFound] other = "Página no encontrada." [notFoundTitle] other = "No hemos podido encontrar la página solicitada." [notFoundDesc] other = "Inténtelo de nuevo, utilice los enlaces del menú de navegación o el cuadro de búsqueda en la parte superior de la página." # --------------------------------------------------- # Ports form # --------------------------------------------------- [ports-search] other = "Buscar ports por:" [all] other = "Todos" [package-name] other = "Nombre del paquete" [description] other = "Descripción" [long-description] other = "Descripción larga" [maintainer] other = "Mantenedor" [requires] other = "Requiere" [submit] other = "Enviar" # Months [1] other = "enero" [2] other = "febrero" [3] other = "marzo" [4] other = "abril" [5] other = "mayo" [6] other = "junio" [7] other = "julio" [8] other = "agosto" [9] other = "septiembre" [10] other = "octubre" [11] other = "noviembre" [12] other = "diciembre" # Security section [data] other = "Fecha" [errataNoticeName] other = "Nombre del aviso de erratas" [advisoryName] other = "Nombre del aviso" # Events section [currentEvents] other = "Eventos actuales/próximos:" [pastEvents] other = "Eventos pasados:" [upcomingFreeBSDEvents] other = "Próximos eventos de FreeBSD" # Continents, countries [europe] other = "Europa" [africa] other = "África" [australia] other = "Australia" [newZealand] other = "Nueva Zelanda" [northAmerica] other = "América del Norte" [asia] other = "Asia" [southAmerica] other = "América del Sur" [oceania] other = "Oceanía" [global] other = "Global" # Commercial software [databases] other = "Bases de datos" [developmentTools] other = "Herramientas de desarrollo" [ecommerce] other = "Soluciones y herramientas de comercio electrónico" [email] other = "Software de correo electrónico" [misc] other = "Varios" [network] other = "Sistemas y aplicaciones de red" [scientific] other = "Herramientas científicas y de idiomas" [security] other = "Seguridad" [isp] other = "Administración de sistemas / ISP" # sidenav [applications] other = "Aplicaciones" [administration] other = "Administración" [news] other = "Noticias" [pressSidenav] other = "Prensa" [multimedia] other = "Multimedia" [art] other = "Diseño gráfico" [logo] other = "Logotipo" [donations] other = "Donaciones" [privacy] other = "Política de privacidad" [mailinglists] other = "Listas de correo" [newsgroups] other = "Grupos de noticias" [usergroups] other = "Grupos de usuarios" [sourceCodeRepositories] other = "Repositorios de código fuente" [releng] other = "Ingeniería de versiones" [platforms] other = "Plataformas" [ideas] other = "Ideas de proyectos" [contributing] other = "Contribuir" [FAQ] other = "Preguntas frecuentes" [man] other = "Páginas de manual" [papers] other = "Presentaciones y artículos" [booksArticles] other = "Libros y artículos en línea" [publications] other = "Publicaciones" [newbies] other = "Para principiantes" [docproj] other = "Proyecto de documentación" [archive] other = "Archivo" [releases] other = "Información de la versión" [productionRelease] other = "Versión de producción" [legacyRelease] other = "Versión obsoleta" [upcomingRelease] other = "Próxima versión" [snapshotReleases] other = "Instantáneas de versiones" [portedApplications] other = "Aplicaciones migradas" [gnome] other = "GNOME" [installationInstructions] other = "Instrucciones de instalación" [upgradeInstructions] other = "Instrucciones de actualización" [availableApplications] other = "Aplicaciones disponibles" [howHelp] other = "Cómo ayudar" [reportingBug] other = "Informar de un error" [screenshots] other = "Capturas de pantalla" [contactUs] other = "Contacto" [HALFAQ] other = "Preguntas frecuentes de HAL" [upgradeFAQ] other = "Preguntas frecuentes sobre la actualización de 2.30 a 2.32" [developmentBranchFAQ] other = "Preguntas frecuentes de la rama de desarrollo" [creatingPorts] other = "Crear ports" [knownIssues] other = "Problemas conocidos" [aboutPorts] other = "Acerca de los ports" [installing] other = "Instalación" [updating] other = "Actualización" [searching] other = "Búsqueda" [categories] other = "Categorías" [alphabetically] other = "ordenadas alfabéticamente" [logicalGroup] other = "ordenadas por grupo lógico" [allPorts] other = "Lista de todos los ports" [moreInformation] other = "Para más información" [software] other = "Software" [hardware] other = "Hardware" [consulting] other = "Consultoría" [ispCommercial] other = "Proveedores de servicios de Internet" [securityInfo] other = "Información de seguridad" [advisories] other = "Avisos" [errataNoticesSidenav] other = "Avisos de erratas" [unsupportedReleases] other = "Versiones sin soporte" [readSecurityAdvisories] other = "Cómo leer los avisos de seguridad de FreeBSD" [charterSecurityOfficerTeam] other = "Carta del Oficial y Equipo de Seguridad" [bugreports] other = "Informes de error" [submitPR] other = "Enviar un informe de problema" [webresources] other = "Recursos web" + +# --------------------------------------------------- +# Release documents navigation +# --------------------------------------------------- + +[rel-doc-nav] +other = "Release documents" + +[rel-doc-announce] +other = "announcement" + +[rel-doc-signatures] +other = "signed checksum files" + +[rel-doc-upgrading] +other = "upgrading instructions" + +[rel-doc-installation] +other = "installation instructions" + +[rel-doc-hardware] +other = "hardware information" + +[rel-doc-relnotes] +other = "release notes" + +[rel-doc-errata] +other = "errata" + +[rel-doc-readme] +other = "readme" + +[rel-doc-schedule] +other = "schedule" diff --git a/website/themes/beastie/i18n/ru.toml b/website/themes/beastie/i18n/ru.toml index 1c8d1ce64e..002c96fad8 100644 --- a/website/themes/beastie/i18n/ru.toml +++ b/website/themes/beastie/i18n/ru.toml @@ -1,716 +1,750 @@ # --------------------------------------------------- # Глобальные определения # --------------------------------------------------- [freebsd] other = "FreeBSD" [freebsdProject] other = "Проект FreeBSD" [freebsdPowerServe] other = "FreeBSD — мощь для сервера" [freebsdFoundation] other = "Фонд FreeBSD" [downloadFreeBSD] other = "Скачать FreeBSD" [production] other = "Продуктивный" [last-modified] other = "Последнее изменение" [by] other = "от" [more] other = "ещё" [rss] other = "лента" # --------------------------------------------------- # Шапка # --------------------------------------------------- [documentation] other = "Документация" [community] other = "Сообщество" [h-about] other = "О проекте" [h-introduction] other = "Введение" [h-features] other = "Возможности" [h-freebsd] other = "FreeBSD" [h-freebsd-foundation] other = "Фонд FreeBSD" [h-code-of-conduct] other = "Кодекс поведения" [h-get-freebsd] other = "Установка FreeBSD" [h-release-information] other = "Информация о релизах" [h-release-engineering] other = "О подготовке релизов" [h-security-advisories] other = "Уведомления о безопасности" [h-documentation] other = "Документация" [h-documentation-portal] other = "Портал документации" [h-freebsd-handbook] other = "Руководство FreeBSD" [h-documentation-faq] other = "Часто задаваемые вопросы" [h-porter-handbook] other = "Руководство по созданию портов" [h-documentation-handbook] other = "Учебник проекта документирования" [h-manual-pages] other = "Страницы Справочника" [h-presentation-and-papers] other = "Презентации и публикации" [h-wiki] other = "Wiki" [h-books] other = "Книги" [h-articles] other = "Статьи" [h-community] other = "Сообщество" [h-get-involved] other = "Присоединиться" [h-community-forum] other = "Форум" [h-mailing-lists] other = "Списки рассылки" [h-irc-channels] other = "Каналы IRC" [h-bug-tracker] other = "Трекер ошибок" [h-support] other = "Поддержка" [h-donate] other = "По\u00ADжерт\u00ADво\u00ADвать" [h-privacy-policy] other = "Политика конфиденциальности" [h-projects] other = "Проекты" [h-ports] other = "Порты" [h-forums] other = "Форумы" [h-user-groups] other = "Сообщества пользователей" [h-events] other = "События" [h-freebsd-journal] other = "Вестник FreeBSD" [h-developers] other = "Разработчики" [h-project-ideas] other = "Идеи для проектов" [h-git-repository] other = "Хранилище Git" [h-git-mirror] other = "Зеркало GitHub" [h-phabricator] other = "Рецензирование кода (Phabricator)" [h-CI] other = "Сервис непрерывной интеграции" [h-vendors] other = "Вендоры" [h-security-information] other = "Информация о безопасности" [h-bug-reports] other = "Сообщения об ошибках" [h-submitting-bug-reports] other = "Отправка сообщений об ошибках" [h-webresources] other = "Ресурсы Интернет" # --------------------------------------------------- # Главная страница # --------------------------------------------------- [title-one] other = "Мощная операционная система" [title-two] other = "с открытым исходным кодом" [download-freebsd] other = "Скачать FreeBSD" [other] other = "другие" [announcement] other = "анонс" [notes] other = "описание" [upcoming-releases] other = "Предстоящие релизы" [development-snapshots] other = "промежуточные релизы" [features-introduction-two] other = "возможности" [features-introduction-three] other = "для более подробного знакомства" [zfs-title] other = "Встроенная ZFS" [zfs-description] other = "объединяет файловую систему и менеджер томов в единую надёжную платформу хранения данных. Во FreeBSD она полностью интегрирована в систему." [virtualization-title] other = "Виртуализация" [virtualization-description] other = "во FreeBSD является современным гипервизором с поддержкой virtio, сквозного доступа к PCI и быстрой эмуляции NVMe." [jails-title] other = "Контейнеры" [jails-description] other = "Собственная реализация контейнеров во FreeBSD обеспечивает изоляцию сервисов и приложений. Каждое изолированное окружение может работать со своей файловой системой, сетевыми настройками и собственной конфигурацией." [networking-title] other = "Сетевые технологии" [networking-description] other = "FreeBSD широко известна производительностью и стабильностью работы своих сетевых функций. Во всём мире она используется для построения инфраструктуры, обрабатывающей существенные нагрузки." [documentation-title] other = "Документация" [documentation-description] other = "FreeBSD содержит обширную и хорошо поддерживаемую документацию. Будь то Руководство или страницы Справочника, документация считается одной из ключевых частей системы." [community-title] other = "Сообщество" [community-description] other = "FreeBSD имеет живое и дружное сообщество, в которое входят как отдельные участники, так и крупные корпорации. Сообщества ведут свои активности в различных каналах коммуникаций, от средств связи в реальном времени до списков рассылки и новостных групп." [latest-news] other = "Последние новости" [upcoming-events] other = "Пред\u00ADсто\u00ADя\u00ADщие со\u00ADбы\u00ADтия" [press] other = "Пресса" [security-advisories] other = "Бюл\u00ADле\u00ADте\u00ADни бе\u00ADзо\u00ADпас\u00ADнос\u00ADти" [errata-notices] other = "Уве\u00ADдом\u00ADле\u00ADния об ис\u00ADправ\u00ADле\u00ADниях" # --------------------------------------------------- # Подвал # --------------------------------------------------- [system] other = "Системная" [light] other = "Светлая" [dark] other = "Тёмная" [high-contrast] other = "Контрастная" [f-about] other = "О проекте" [f-freebsd] other = "FreeBSD" [f-freebsd-foundation] other = "Фонд FreeBSD" [f-get-freebsd] other = "Установка FreeBSD" [f-code-of-conduct] other = "Кодекс поведения" [f-security-advisories] other = "Бюллетени безопасности" [f-documentation] other = "Документация" [f-documentation-portal] other = "Портал документации" [f-manual-pages] other = "Страницы Справочника" [f-presentation-and-papers] other = "Презентации и публикации" [f-previous-versions] other = "Предыдущие версии" [f-44bsd-documents] other = "Документы 4.4BSD" [f-wiki] other = "Wiki" [f-community] other = "Сообщество" [f-get-involved] other = "Присоединиться" [f-community-forum] other = "Форум сообщества" [f-mailing-lists] other = "Списки рассылки" [f-irc-channels] other = "Каналы IRC" [f-bug-tracker] other = "Трекер ошибок" [f-legal] other = "Правовая информация" [f-donations] other = "Пожертвования" [f-licensing] other = "Лицензирование" [f-privacy-policy] other = "Политика конфиденциальности" [f-legal-notices] other = "Юридические уведомления" [f-all-rights-reserved] other = "Проект FreeBSD. Все права защищены" [f-made-with] other = "Сделано" [f-by-freebsd-community] other = "сообществом FreeBSD" # --------------------------------------------------- # 404 # --------------------------------------------------- [pageNotFound] other = "Страница не найдена." [notFoundTitle] other = "Мы не смогли найти запрошенную страницу." [notFoundDesc] other = "Пожалуйста, повторите ваш запрос либо воспользуйтесь одной из ссылок в меню навигации или окном поиска вверху страницы." # --------------------------------------------------- # Форма для портов # --------------------------------------------------- [ports-search] other = "Поиск в портах:" [all] other = "Все" [package-name] other = "Название пакета" [description] other = "Краткое описание" [long-description] other = "Расширенное описание" [maintainer] other = "Ответственный" [requires] other = "Зависит от" [submit] other = "Искать" # Месяцы [1] other = "Январь" [2] other = "Февраль" [3] other = "Март" [4] other = "Апрель" [5] other = "Май" [6] other = "Июнь" [7] other = "Июль" [8] other = "Август" [9] other = "Сентябрь" [10] other = "Октябрь" [11] other = "Ноябрь" [12] other = "Декабрь" # Раздел безопасности [data] other = "Данные" [errataNoticeName] other = "Название сообщения об ошибке" [advisoryName] other = "Название бюллетеня" # Events section [currentEvents] other = "Текущие/Планируемые мероприятия:" [pastEvents] other = "Прошедшие мероприятия:" [upcomingFreeBSDEvents] other = "Предстоящие мероприятия FreeBSD" # Континенты, страны [europe] other = "Европа" [africa] other = "Африка" [australia] other = "Австралия" [newZealand] other = "Новая Зеландия" [northAmerica] other = "Северная Америка" [asia] other = "Азия" [southAmerica] other = "Южная Америка" [oceania] other = "Океания" [global] other = "Весь мир" # Коммерческое программное обеспечение [databases] other = "Базы данных" [developmentTools] other = "Средства разработки" [ecommerce] other = "Решения и инструменты для электронной коммерции" [email] other = "Программное обеспечение для электронной почты" [network] other = "Системы и приложения для работы с сетью" [scientific] other = "Научные инструменты и работа с языками" [security] other = "Безопасность" [isp] other = "Системное администрирование / Поддержка провайдеров" # sidenav [applications] other = "При\u00ADло\u00ADже\u00ADния" [administration] other = "Ад\u00ADми\u00ADни\u00ADстра\u00ADция" [news] other = "Но\u00ADво\u00ADсти" [pressSidenav] other = "Прес\u00ADса" [multimedia] other = "Ме\u00ADди\u00ADа\u00ADре\u00ADсур\u00ADсы" [art] other = "Ил\u00ADлюс\u00ADтра\u00ADции" [logo] other = "Логотип" [donations] other = "По\u00ADжертво\u00ADва\u00ADния" [privacy] other = "Политика кон\u00ADфи\u00ADден\u00ADци\u00ADаль\u00ADнос\u00ADти" [mailinglists] other = "Списки рассылки" [newsgroups] other = "Но\u00ADвост\u00ADные груп\u00ADпы" [usergroups] other = "Группы поль\u00ADзова\u00ADте\u00ADлей" [sourceCodeRepositories] other = "Ре\u00ADпо\u00ADзи\u00ADто\u00ADрии ис\u00ADход\u00ADно\u00ADго кода" [releng] other = "Под\u00ADго\u00ADтов\u00ADка ре\u00ADли\u00ADзов" [platforms] other = "Платформы" [ideas] other = "Идеи для проекта" [contributing] other = "Участие в проекте" [FAQ] other = "Час\u00ADто за\u00ADда\u00ADва\u00ADе\u00ADмые воп\u00ADро\u00ADсы" [man] other = "Стра\u00ADни\u00ADцы Спра\u00ADвоч\u00ADни\u00ADка" [papers] other = "Пре\u00ADзен\u00ADта\u00ADции и ис\u00ADсле\u00ADдо\u00ADва\u00ADния" [booksArticles] other = "Книги и статьи" [publications] other = "Пуб\u00ADли\u00ADка\u00ADции" [newbies] other = "Для но\u00ADвич\u00ADков" [docproj] other = "Про\u00ADект до\u00ADку\u00ADмен\u00ADти\u00ADро\u00ADва\u00ADния" [archive] other = "Архив" [releases] other = "Ин\u00ADфор\u00ADма\u00ADция о ре\u00ADли\u00ADзах" [productionRelease] other = "Про\u00ADдук\u00ADтив\u00ADный ре\u00ADлиз" [legacyRelease] other = "Ста\u00ADрый про\u00ADдук\u00ADтив\u00ADный ре\u00ADлиз" [upcomingRelease] other = "Пред\u00ADсто\u00ADя\u00ADщий ре\u00ADлиз" [snapshotReleases] other = "Про\u00ADме\u00ADжу\u00ADточ\u00ADные сбор\u00ADки" [portedApplications] other = "Пор\u00ADти\u00ADро\u00ADван\u00ADные при\u00ADло\u00ADже\u00ADния" [gnome] other = "GNOME" [installationInstructions] other = "Ин\u00ADструк\u00ADции по уста\u00ADнов\u00ADке" [upgradeInstructions] other = "Ин\u00ADструк\u00ADции по об\u00ADнов\u00ADле\u00ADнию" [availableApplications] other = "До\u00ADступ\u00ADные при\u00ADло\u00ADже\u00ADния" [howHelp] other = "Как помочь" [reportingBug] other = "Со\u00ADоб\u00ADщить об оши\u00ADбке" [screenshots] other = "Скриншоты" [contactUs] other = "Свя\u00ADзать\u00ADся с на\u00ADми" [HALFAQ] other = "HAL FAQ" [upgradeFAQ] other = "FAQ по обновлению с 2.30 до 2.32" [developmentBranchFAQ] other = "FAQ по ветке разработки" [creatingPorts] other = "Создание портов" [knownIssues] other = "Известные проблемы" [aboutPorts] other = "О портах" [installing] other = "Установка" [updating] other = "Обновление" [searching] other = "Поиск" [categories] other = "Категории" [alphabetically] other = "в алфавитном порядке" [logicalGroup] other = "по логическим группам" [allPorts] other = "Список всех портов" [moreInformation] other = "Дополнительная информация" [software] other = "Программное обеспечение" [hardware] other = "Обо\u00ADру\u00ADдо\u00ADва\u00ADние" [consulting] other = "Кон\u00ADсал\u00ADтин\u00ADго\u00ADвые ус\u00ADлу\u00ADги" [ispCommercial] other = "Интернет-провайдеры" [securityInfo] other = "О ин\u00ADфор\u00ADма\u00ADци\u00ADон\u00ADной бе\u00ADзо\u00ADпас\u00ADнос\u00ADти" [advisories] other = "Бюллетени" [errataNoticesSidenav] other = "Ошибки" [unsupportedReleases] other = "Не\u00ADпод\u00ADдер\u00ADжи\u00ADва\u00ADе\u00ADмые ре\u00ADли\u00ADзы" [readSecurityAdvisories] other = "Как чи\u00ADтать Бюл\u00ADле\u00ADте\u00ADни бе\u00ADзо\u00ADпас\u00ADно\u00ADсти FreeBSD" [charterSecurityOfficerTeam] other = "Ус\u00ADтав ди\u00ADрек\u00ADто\u00ADра и ко\u00ADман\u00ADды по ин\u00ADфор\u00ADма\u00ADци\u00ADон\u00ADной бе\u00ADзо\u00ADпас\u00ADно\u00ADсти" [bugreports] other = "Сообщения об ошибках" [submitPR] other = "Отправить сообщение о проблеме" [webresources] other = "Веб-ресурсы" +# --------------------------------------------------- +# Release documents navigation +# --------------------------------------------------- + +[rel-doc-nav] +other = "Release documents" + +[rel-doc-announce] +other = "announcement" + +[rel-doc-signatures] +other = "signed checksum files" + +[rel-doc-upgrading] +other = "upgrading instructions" + +[rel-doc-installation] +other = "installation instructions" + +[rel-doc-hardware] +other = "hardware information" + +[rel-doc-relnotes] +other = "release notes" + +[rel-doc-errata] +other = "errata" + +[rel-doc-readme] +other = "readme" + +[rel-doc-schedule] +other = "schedule" + # # The FreeBSD Russian Documentation Project # # Original EN revision (04.07.2026): 1429387ea6272ab62c87ba6488bb20742cf95dbd # diff --git a/website/themes/beastie/layouts/_partials/release-docs.html b/website/themes/beastie/layouts/_partials/release-docs.html new file mode 100644 index 0000000000..c880d00735 --- /dev/null +++ b/website/themes/beastie/layouts/_partials/release-docs.html @@ -0,0 +1,75 @@ +{{/* + Discreet navigation between the documents of a single release. + + Every release ships a different set of documents, so the list is not + hardcoded: it holds the documents the release index page links to. Following + the index keeps this in step with the documents of an upcoming release, which + are committed well before they are announced and are deliberately left out of + the index until then. + + Only the documents of the modern release layout are listed; the + per-architecture pages of the old releases (hardware-i386, relnotes-alpha, + ...) and one-off pages (todo, qa, approvals, ...) are ignored. + + The partial renders nothing unless the page is a document of a release + directory holding its own _index.adoc, which is the case from 10.2R on, and + the index links at least one other document. +*/}} + +{{- $ordered := slice "announce" "signatures" "upgrading" "installation" "hardware" "relnotes" "errata" "readme" "schedule" -}} + +{{- $page := . -}} +{{- with $page.File -}} + {{- $dir := .Dir -}} + {{- if findRE `^releases/[^/]+/?$` $dir -}} + {{- $section := $page.CurrentSection -}} + {{- with $section.File -}} + {{- if eq .Dir $dir -}} + + {{- /* The documents the release index page links to, by base name. */ -}} + {{- $linked := slice -}} + {{- range findRE `href="[^"]+"` $section.Content -}} + {{- $href := . | strings.TrimPrefix `href="` | strings.TrimSuffix `"` | strings.TrimSuffix "/" -}} + {{- $linked = $linked | append (path.Base $href) -}} + {{- end -}} + + {{- $documents := slice -}} + {{- $others := false -}} + {{- range $name := $ordered -}} + {{- if in $linked $name -}} + {{- range $sibling := $section.RegularPages -}} + {{- with $sibling.File -}} + {{- if eq .TranslationBaseName $name -}} + {{- $documents = $documents | append (dict "key" $name "page" $sibling) -}} + {{- if ne $sibling.RelPermalink $page.RelPermalink -}} + {{- $others = true -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + + {{- $release := $dir | strings.TrimPrefix "releases/" | strings.TrimSuffix "/" | strings.TrimSuffix "R" -}} + + {{- if $others -}} + + {{- end -}} + + {{- end -}} + {{- end -}} + {{- end -}} +{{- end -}} diff --git a/website/themes/beastie/layouts/single.html b/website/themes/beastie/layouts/single.html index e93e915cac..45d75e4312 100644 --- a/website/themes/beastie/layouts/single.html +++ b/website/themes/beastie/layouts/single.html @@ -1,20 +1,21 @@ {{ define "main" }}

{{ .Title }}

+ {{ partial "release-docs.html" . }} {{- .Content -}} {{ if .GitInfo }}

{{ i18n "last-modified" }}: {{ .GitInfo.AuthorDate | time.Format ":date_long" }} {{ i18n "by" }} {{ .GitInfo.AuthorName }}

{{ end }}
{{ end }}