Switch the manual theme to Furo #104735

Merged
Aaron Carlisle merged 30 commits from furo-theme into blender-v4.1-release 2024-03-20 21:38:49 +01:00
9 changed files with 256 additions and 467 deletions

View File

@ -0,0 +1,11 @@
{%- extends "!base.html" -%}
{%- block linktags -%}
{{ super() }}
{%- include "components/linktags.html" -%}
{%- endblock -%}
{%- block theme_scripts -%}
{{ super() }}
<script defer data-domain="docs.blender.org" src="https://analytics.blender.org/js/script.js"></script>
{%- endblock -%}

View File

@ -1,17 +1,15 @@
{%- extends "!footer.html" %}
{%- block extrafooter %}
{%- if not pagename in ("search", "404", "genindex", "advanced/command_line/arguments") and hasdoc(pagename) %} {%- if not pagename in ("search", "404", "genindex", "advanced/command_line/arguments") and hasdoc(pagename) %}
<div class="footer-contribute"> <div class="footer-contribute">
<ul> <ul>
<li>{# Add the `display=source` because GITEA's rendering misses Sphinx's features and shows warnings. #} <li>{# Add the `display=source` because GITEA's rendering misses Sphinx's features and shows warnings. #}
<a href="https://projects.blender.org/blender/blender-manual/{# <a href="https://projects.blender.org/blender/blender-manual/{#
#}src/branch/main/manual/{{ pagename }}{{ page_source_suffix }}?display=source" #}src/branch/main/manual/{{ pagename }}{{ page_source_suffix }}?display=source" class="fa fa-edit"> {{
class="fa fa-edit"> {{ _('View Source') }}</a> _('View Source') }}</a>
</li> </li>
<li> <li>
<a href="https://translate.blender.org/zen/blender-manual/{# <a href="https://translate.blender.org/zen/blender-manual/{#
#}manual/{{ language }}/?q=location%3Amanual%2F{{ pagename }}" #}manual/{{ language }}/?q=location%3Amanual%2F{{ pagename }}" class="fa fa-edit"> {{ _('View
class="fa fa-edit"> {{ _('View Translation') }}</a> Translation') }}</a>
</li>{# </li>{#
<li> <li>
<a href="https://projects.blender.org/blender/blender-manual/src/branch/main/manual/{{ pagename }}{{ page_source_suffix }}" <a href="https://projects.blender.org/blender/blender-manual/src/branch/main/manual/{{ pagename }}{{ page_source_suffix }}"
@ -27,10 +25,9 @@
#}Permanent+Link%5D%28https%3A%2F%2Fdocs.blender.org%2F{# #}Permanent+Link%5D%28https%3A%2F%2Fdocs.blender.org%2F{#
#}manual%2F{{ language }}%2F{{ version }}%2F{{ pagename }}{{ file_suffix }}%29%0D%0A%0D%0A%2A%2A{# #}manual%2F{{ language }}%2F{{ version }}%2F{{ pagename }}{{ file_suffix }}%29%0D%0A%0D%0A%2A%2A{#
#}Short+description+of+error%2A%2A%0D%0A%5B{# #}Short+description+of+error%2A%2A%0D%0A%5B{#
#}Please+fill+out+a+short+description+of+the+error+here%5D%0D%0A" #}Please+fill+out+a+short+description+of+the+error+here%5D%0D%0A" class="fa fa-bug"> {{ _('Report issue
class="fa fa-bug"> {{ _('Report issue on this page') }}</a> on this page') }}</a>
</li> </li>
</ul> </ul>
</div> </div>
{%- endif %} {%- endif %}
{% endblock %}

View File

@ -1,5 +1,3 @@
{%- extends "!layout.html" %}
{%- block linktags %}
<link rel="alternate" hreflang="en" href="https://docs.blender.org/manual/en/latest/" /> <link rel="alternate" hreflang="en" href="https://docs.blender.org/manual/en/latest/" />
<link rel="alternate" hreflang="ar" href="https://docs.blender.org/manual/ar/latest/" /> <link rel="alternate" hreflang="ar" href="https://docs.blender.org/manual/ar/latest/" />
<link rel="alternate" hreflang="de" href="https://docs.blender.org/manual/de/latest/" /> <link rel="alternate" hreflang="de" href="https://docs.blender.org/manual/de/latest/" />
@ -21,5 +19,3 @@
<link rel="alternate" hreflang="zh-Hans" href="https://docs.blender.org/manual/zh-hans/latest/" /> <link rel="alternate" hreflang="zh-Hans" href="https://docs.blender.org/manual/zh-hans/latest/" />
<link rel="alternate" hreflang="zh-Hant" href="https://docs.blender.org/manual/zh-hant/latest/" /> <link rel="alternate" hreflang="zh-Hant" href="https://docs.blender.org/manual/zh-hant/latest/" />
<link rel="alternate" hreflang="x-default" href="https://docs.blender.org/manual/en/latest/" /> <link rel="alternate" hreflang="x-default" href="https://docs.blender.org/manual/en/latest/" />
{{ super() }}
{%- endblock %}

View File

@ -0,0 +1,6 @@
{%- extends "!page.html" -%}
{%- block footer -%}
{{ super() }}
{%- include "components/footer_contribute.html" -%}
{%- endblock footer -%}

View File

@ -6,10 +6,8 @@
{{ release }} {{ release }}
</span> </span>
<div class="version-dialog" aria-hidden="true"> <div class="version-dialog" aria-hidden="true">
<div class="version-arrow" aria-hidden="true"></div>
<div class="version-title">Versions</div> <div class="version-title">Versions</div>
<ul id="version-vsnlist" class="version-list" role="menu" aria-labelledby="version-popover" <ul id="version-vsnlist" class="version-list" role="menu" aria-labelledby="version-popover" aria-hidden="true">
aria-hidden="true">
<li role="presentation">Loading...</li> <li role="presentation">Loading...</li>
</ul> </ul>
</div> </div>
@ -20,10 +18,8 @@
{% if language is not none %} {{ language }} {% else %} en {% endif %} {% if language is not none %} {{ language }} {% else %} en {% endif %}
</span> </span>
<div class="version-dialog" aria-hidden="true"> <div class="version-dialog" aria-hidden="true">
<div class="version-arrow" aria-hidden="true"></div>
<div class="version-title">Languages</div> <div class="version-title">Languages</div>
<ul id="version-langlist" class="version-list" role="menu" aria-labelledby="lang-popover" <ul id="version-langlist" class="version-list" role="menu" aria-labelledby="lang-popover" aria-hidden="true">
aria-hidden="true">
<li role="presentation">Loading...</li> <li role="presentation">Loading...</li>
</ul> </ul>
</div> </div>

View File

@ -6,108 +6,180 @@
* https://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_css_file * https://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_css_file
*/ */
h5 { body {
margin-bottom: 5px --sidebar-caption-font-size: var(--font-size--normal);
--toc-title-font-size: var(--font-size--normal);
--toc-font-size: var(--sidebar-item-font-size);
--admonition-font-size: var(--font-size--normal);
--admonition-title-font-size: var(--font-size--normal);
} }
/* Sidebar menu links. */ h1,
.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a:hover { h2,
background: #c0c0c0 h3 {
margin-top: 1.75rem;
margin-bottom: 1rem;
} }
.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a:hover { h1 {
background: #b5b5b5 font-size: 2em;
} }
.wy-menu-vertical li.toctree-l4 { h2 {
font-size: 1em font-size: 1.5em;
} }
.wy-menu-vertical li.current a { h3 {
border: 0 font-size: 1.25em;
} }
.wy-side-nav-search>a:hover { h4,
background: none; h5,
opacity: 0.9 h6,
.rubric {
margin-top: 1.25rem;
margin-bottom: 0.75rem;
font-size: 1.125em;
} }
.wy-side-nav-search>a.icon::before { /* Reduce the margins on top/bottom of horizontal lines. */
content: none hr.docutils {
margin: 1rem 0;
} }
.wy-menu-vertical p.caption {
color: #e6e6e6; /* Slightly decrease text to make the text fit on one line */
.sidebar-brand-text {
font-size: 1.4rem;
} }
/* Ensure background of input fields is light color even when a local theme wants it to be dark. */ .toctree-checkbox~label .icon svg {
input[type="text"], transition: transform 0.25s ease-out;
input[type="search"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="number"],
input[type="tel"],
input[type="color"] {
background-color: #FCFCFC;
} }
/* Boxed paragraphs. */ /* Add more visual weight to definition terms */
.rst-content .refbox .admonition-title { dl dt {
background-color: #bbb font-weight: bold !important
} }
.rst-content .refbox { /* Fixes to field list, see #104636 */
background-color: #e3e3e3 dl.field-list {
display: grid;
grid-template-columns: auto minmax(80%, 95%);
p {
margin-bottom: 0;
}
} }
.rst-content .seealso .admonition-title { /* TABLE & FIGURE */
background-color: #7a87e6
/* Cell's vertical align. */
/* use "valign" class for middle align */
table.docutils:not(.valign) td {
vertical-align: baseline;
} }
.rst-content .seealso { /* Decrease whitespace above figure and add it below */
background-color: #e7ebfa figure {
padding-bottom: 0.5rem;
} }
.rst-content .important .admonition-title { figcaption {
background-color: #ddca3b margin-bottom: 0.5rem !important;
p {
margin-top: 0;
}
} }
.rst-content .important { /* End TABLE & FIGURE. */
background-color: #f6f3a5
/* Force admonition to span the full width if close to a figure */
.admonition {
clear: both;
} }
/* refbox =, seealso ( > ), note ( i ), tip i , hint (+), warn / ! \ */ /* Use secondary font color for caption text */
.refbox .admonition-title::before { figcaption,
content: "\f00b" caption {
color: var(--color-foreground-secondary);
font-size: var(--font-size--small)
} }
.seealso .admonition-title::before { /* A bit hacky, revert the themes styling of kbd */
content: "\f138" kbd:not(.compound) {
all: revert;
} }
.note .admonition-title::before { /* Only style parent kbd elements instead of the individual children */
content: "\f05a" :not(dl.option-list)> :not(kbd):not(kbd)>kbd,
.menuselection {
background-color: var(--color-background-secondary);
border: 1px solid var(--color-foreground-border);
border-radius: .2rem;
box-shadow: 0 .0625rem 0 rgba(0, 0, 0, .2), inset 0 0 0 .125rem var(--color-background-secondary);
color: var(--color-foreground-primary);
display: inline-block;
margin: 0;
padding: 0 .2rem;
} }
.tip .admonition-title::before { .caption .menuselection {
content: "\f129"; background-color: transparent;
width: 0.75em; border: none;
text-align: center
} }
.hint .admonition-title::before { a {
content: "\f055" text-decoration: none;
} }
.warning .admonition-title::before { /* Quotes for Fig. "link". */
content: "\f071" a[href^="#fig-"]::before {
content: "\201c";
}
a[href^="#fig-"]::after {
content: "\201d";
}
/* Mark external links. */
a.external {
filter: brightness(150%);
}
/* List blender.org as internal. */
.external[href^="https://www.blender.org"],
.external[href^="https://docs.blender.org"],
.external[href^="https://projects.blender.org"],
.external[href^="https://builder.blender.org"],
.external[href^="https://code.blender.org"],
.external[href^="https://translate.blender.org"],
.external[href^="https://fund.blender.org"],
.external[href^="blender_manual_html.zip"],
.external[href^="blender_manual_epub.zip"],
.external[href^="https://archive.blender.org"] {
filter: revert;
}
/* ".. container::" lead, block text float around image. */
.lead {
clear: both;
width: 100%;
}
/* Start reference admonition. */
.admonition.refbox {
border-color: rgb(50, 50, 50);
}
.admonition.refbox>.admonition-title {
background-color: rgba(50, 50, 50, 0.2);
border-color: rgb(50, 50, 50);
}
.admonition.refbox>.admonition-title::before {
background-color: var(--color-content-foreground);
} }
/* 'refbox' field. */ /* 'refbox' field. */
@ -120,215 +192,7 @@ input[type="color"] {
font-weight: normal font-weight: normal
} }
/* Ugly 'red' literals. */ /* End reference admonition. */
.rst-content tt.literal,
.rst-content tt.literal,
.rst-content code.literal {
color: #404040;
border-radius: .4em;
}
/* Literal blocks that use too much padding, make them look like regular literals. */
.rst-content pre.literal-block {
font-size: 75%;
margin: 0;
padding: 2px 4px;
color: #404040;
background: #ffffff;
white-space: normal;
display: inline;
border-radius: .4em;
}
/* Fix definisions with different ids. */
.rst-content dl.simple {
margin-bottom: 0px;
}
/* Fix nested block spacing. */
.rst-content .document dl dt,
.rst-content dd dl,
.rst-content dl.field-list dd>p {
margin: 0;
}
/* Dont indent field lists */
.rst-content dl.field-list dt {
padding-left: 0 !important;
}
/* Fix padding for normal definitions nested in field lists */
.rst-content dl.field-list dd>dl.simple {
padding-top: 12px;
}
/* Without this, paragraphs in bullet points within definition lists have too much vertical padding. */
.rst-content li>p {
margin-bottom: 0px !important;
}
/* TABLE & FIGURE */
/* captions text style */
.rst-content .figure .caption,
.rst-content figure figcaption>p,
.rst-content table.docutils caption,
.rst-content table.field-list caption {
font: italic 90%/18px Lato, proxima-nova, 'Helvetica Neue', Arial, sans-serif;
color: #808080;
}
/* Captions top padding. */
.rst-content .figure .caption,
.rst-content figure figcaption {
margin-top: 4px;
}
.rst-content table.docutils caption {
padding: 0.5em;
}
/* Text word wrap. */
.wy-table-responsive table td,
.wy-table-responsive table th {
white-space: normal;
}
/* Cell's vertical align. */
/* use "valign" class for middle align. */
.rst-content table.docutils:not(.valign) td {
vertical-align: baseline;
}
/* Field list align. */
.rst-content table.field-list td {
padding-top: 8px;
}
/* Table header cells border color. */
.rst-content table.docutils th {
border-color: #e1e4e5;
}
/* Figure in table margin. */
.rst-content td div.figure,
.rst-content td figure {
margin-top: 4px;
margin-bottom: 0;
}
/* Figure legend. */
.legend {
font-size: 90%;
color: #484848;
margin-top: -20px;
}
.rst-content dl .legend {
margin-top: -10px;
}
@media screen and (max-width: 768px) {
.wy-table-responsive table:not(.footnote) {
min-width: 520px;
}
.rst-content table.docutils caption {
text-align: left;
}
img {
width: auto;
}
}
/* End TABLE & FIGURE. */
/* Video center. */
iframe {
display: block;
margin: 0 auto 24px auto;
border: 0;
max-width: 100%;
}
/* Copyright font scale down. */
footer p {
font-size: smaller
}
.footer-contribute {
display: block;
font-size: smaller;
margin-top: -12px
}
.footer-contribute li {
display: inline;
list-style-type: none;
padding-right: 20px;
}
/* Quotes for Fig. "link". */
a[href^="#fig-"]::before {
content: "\201c";
}
a[href^="#fig-"]::after {
content: "\201d";
}
/* Intermediate headline. */
.rubric {
font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif
}
/* ".. container::" lead, block text float around image. */
.lead {
clear: both;
width: 100%;
}
/* Mark external links. */
a.external {
color: #656AE0;
}
/* List blender.org as internal. */
.external[href^="https://www.blender.org"],
.external[href^="https://docs.blender.org"],
.external[href^="https://wiki.blender.org"] {
color: #2980B9;
}
/* Draws a box around menuselection role. */
.menuselection {
font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif;
font-size: 90%;
font-weight: normal;
background-color: rgba(255, 255, 255, 0.65);
border: solid #E1E4E5 1px;
padding: 2px 5px;
border-radius: .4em;
}
@media screen and (max-width: 420px) {
.menuselection {
white-space: normal
}
}
.caption .menuselection {
background-color: transparent;
border: none;
}
/* Remove indent on line break. */
.rst-content .line-block {
margin-left: 0px
}
/* Applied on main index:sections. */ /* Applied on main index:sections. */
@ -339,7 +203,7 @@ a.external {
/* Start section cards. */ /* Start section cards. */
.toc-cards { .toc-cards {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
grid-gap: 20px; grid-gap: 20px;
list-style-type: none; list-style-type: none;
margin-bottom: 24px; margin-bottom: 24px;
@ -379,20 +243,19 @@ a.external {
} }
.card dl dt { .card dl dt {
padding: 18px 15px 0px !important padding: 0px 15px 0px !important
} }
.card dl dd { .card dl dd {
padding: 0px 15px 5px 15px; padding: 0px 15px 5px 15px;
font-style: normal; font-style: normal;
margin: 0px; margin: 0px;
color: #808080; color: var(--color-foreground-secondary);
font-size: 90%; font-size: 90%;
} }
.card { .card {
box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 4px 0px, box-shadow: 0 .2rem .5rem rgba(0, 0, 0, .05), 0 0 .0625rem rgba(0, 0, 0, .1);
rgba(211, 216, 223, 0.33) 0px 15px 20px -1px;
} }
#getting-started .card { #getting-started .card {
@ -402,107 +265,52 @@ a.external {
/* End section cards. */ /* End section cards. */
/* Start custom toctree. */ /* Start custom toctree. */
.toctree-wrapper .toctree-l1>a {
margin-bottom: 0.15em
}
/* Indent all lines following the first. */ /* Indent all lines following the first. */
.toctree-wrapper * a { .toctree-wrapper * a {
display: block; display: block;
width: 90%;
text-indent: -1em;
margin-left: 1em;
/*invert indent*/
padding-top: 0.25em; padding-top: 0.25em;
line-height: 1.25em; }
.toctree-wrapper ul {
list-style: none;
padding-left: 0;
} }
/* Underline provided by nested ul (not li). */ /* Underline provided by nested ul (not li). */
.toctree-wrapper * ul { .toctree-wrapper * ul {
margin-bottom: 1rem !important;
border-top: solid var(--color-background-border) 1px;
padding-left: 2em; padding-left: 2em;
border-top: solid #ececec 1px;
}
.toctree-wrapper>ul {
margin-left: 1em
}
.rst-content .toctree-wrapper ul li ul {
margin-bottom: 0.75em;
padding-top: 0.5em;
}
.rst-content .toctree-wrapper ul li a:hover {
color: #25afef
}
.rst-content .toctree-wrapper ul li a:visited:hover {
color: #C961DA
}
.toctree-wrapper .toctree-l1>a {
font-size: 104%
}
.toctree-wrapper .toctree-l2>a {
font-size: 102%
}
.toctree-wrapper .toctree-l3>a {
font-size: 100%
}
.toctree-wrapper .toctree-l1>ul {
border-color: #bfbfbf
}
.toctree-wrapper .toctree-l2>ul {
border-color: #e1e0e0
}
.toctree-wrapper .toctree-l3>ul {
border-color: #ececec
}
/* Remove list styling, css rule hierarchy. */
.rst-content .toctree-wrapper ul li,
.rst-content .toctree-wrapper ul li li,
.rst-content .toctree-wrapper ul li li li {
list-style-type: none;
margin-left: 0px;
} }
/* End custom toctree. */ /* End custom toctree. */
/* Start genindex consistency. */ /* Start footer contribute link */
.genindextable * strong { .footer-contribute {
font-weight: normal display: block;
font-size: var(--font-size--small);
} }
.genindex-jumpbox { .bottom-of-page {
margin-bottom: 1.245em padding-bottom: 0;
} }
.indextable { .footer-contribute ul {
margin-bottom: 1.245em margin: 0;
padding: 0;
padding-bottom: 1rem
} }
/* End genindex consistency. */ .footer-contribute li {
display: inline;
/* Correctly display keyboard shortcuts inside definition lists (theme.css explicitly excludes this case for some reason) */ list-style-type: none;
dt>kbd { padding-right: 1.5rem;
font-weight: normal;
font-size: 80%;
background-color: #fff;
border: 1px solid #a6a6a6;
border-radius: 4px;
box-shadow: 0 2px grey;
padding: 2.4px 6px;
margin: auto 0;
} }
/* Fixes to field list, see #104636 */ @media print {
.footer-contribute {
.field-list { display: none;
grid-template-columns: fit-content(24px) auto !important; }
} }
/* End footer contribute link */

View File

@ -1,49 +1,35 @@
/* Override RTD theme */
.rst-versions {
border-top: 0px;
overflow: visible;
}
.version-btn.vdeact {
cursor: default;
color: dimgray;
}
.version-btn.vdeact::after {
content: "";
}
#versionwrap { #versionwrap {
margin: 0;
display: flex; display: flex;
padding-top: 2px; padding-top: 2px;
font-size: 90%; padding-left: 0;
font-size: var(--sidebar-item-font-size);
justify-content: center; justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
} }
#versionwrap>ul {
list-style: none;
}
#versionwrap>li {
display: flex;
width: 50%;
}
.version-btn { .version-btn {
display: inline-block; display: inline-block;
background-color: #272525; background-color: var(--color-sidebar-background);
width: 140px; width: 100%;
text-align: center; text-align: center;
padding: 3px 10px; padding: 3px 10px;
margin: 0px 5px 4px; margin: 0px 5px 4px;
vertical-align: middle; vertical-align: middle;
color: #27AE60; color: var(--color-link);
border: solid 1px #444444; border: solid 1px var(--color-sidebar-background-border);
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer;
z-index: 400; z-index: 400;
transition: border-color 0.4s;
}
.version-btn::after {
content: "\f0d8";
display: inline;
font: normal normal normal 16px/1 FontAwesome;
color: #8d8c8c;
vertical-align: top;
padding-left: 0.5em;
} }
.version-btn-open::after { .version-btn-open::after {
@ -57,7 +43,7 @@
.version-btn-open { .version-btn-open {
color: gray; color: gray;
border: solid 1px gray; border: solid 1px var(--color-sidebar-background-border);
} }
.version-btn.wait { .version-btn.wait {
@ -73,32 +59,34 @@
display: none; display: none;
position: absolute; position: absolute;
bottom: 28px; bottom: 28px;
width: 140px; width: 50%;
margin: 0 5px; margin: 0 5px;
padding-bottom: 4px; padding-bottom: 4px;
background-color: #0003;
border-radius: 3px; border-radius: 3px;
box-shadow: 0 0 6px #000C; box-shadow: 0 0 6px #000C;
z-index: 999; z-index: 999;
max-height: calc(100vh - 30px); max-height: calc(100vh - 30px);
overflow-x: clip;
overflow-y: auto; overflow-y: auto;
cursor: default; cursor: default;
} }
.version-title { .version-title {
padding: 5px; padding: 5px;
color: black; color: var(--color-content-foreground);
text-align: center; text-align: center;
font-size: 102%; font-size: 102%;
background-color: #27ae60; font-weight: 700;
border-bottom: solid 1.5px #444; background-color: var(--color-brand-primary);
border-bottom: solid 1.5px var(--color-sidebar-background-border);
} }
.version-list { .version-list {
padding-left: 0;
margin-top: 0;
margin-bottom: 4px; margin-bottom: 4px;
text-align: center; text-align: center;
background-color: #000C; border: solid 1px var(--color-sidebar-background-border);
border: solid 1px gray;
border-radius: 0px 0px 3px 3px; border-radius: 0px 0px 3px 3px;
} }
@ -112,39 +100,21 @@
width: 100%; width: 100%;
margin: 0; margin: 0;
padding: 4px 0px; padding: 4px 0px;
color: #404040; color: var(--color-sidebar-link-text);
} }
.version-list li { .version-list li {
background-color: #ede9e9; background-color: var(--color-sidebar-background);
color: #404040; color: var(--color-sidebar-link-text);
padding: 1px; padding: 1px;
} }
.version-list li:hover, .version-list li:hover,
.version-list li a:focus { .version-list li a:focus {
background-color: #b9cfda; background-color: var(--color-background-hover);
} }
.version-list li.selected, .version-list li.selected {
.version-list li.selected:hover { background: var(--color-sidebar-item-background--current);
background-color: #8d8c8c; font-weight: 700;
}
.version-list li.selected span {
cursor: default;
outline-color: red;
}
.version-arrow {
position: absolute;
width: 8px;
height: 8px;
left: 50%;
bottom: 4px;
margin-left: -4px;
transform: rotate(225deg);
background: #ede9e9;
border: 1px solid gray;
border-width: 1px 0 0 1px;
} }

View File

@ -54,7 +54,6 @@ extensions = [
'sphinx.ext.intersphinx', 'sphinx.ext.intersphinx',
'sphinx.ext.mathjax', 'sphinx.ext.mathjax',
'sphinx.ext.todo', 'sphinx.ext.todo',
'sphinxcontrib.jquery',
] ]
# Is there a better way to check for PDF building? # Is there a better way to check for PDF building?
@ -95,9 +94,6 @@ numfig = False
# if set to 0, figures, tables and code-blocks are continuously numbered starting at 1. # if set to 0, figures, tables and code-blocks are continuously numbered starting at 1.
numfig_secnum_depth = 0 numfig_secnum_depth = 0
# The style name to use for Pygments highlighting of source code.
pygments_style = 'default'
# -- Options for Internationalization ---------------------------------------- # -- Options for Internationalization ----------------------------------------
@ -118,11 +114,11 @@ gettext_allow_fuzzy_translations = False
# The theme to use for HTML and HTML Help pages. See the documentation for # The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes. # a list of builtin themes.
html_theme = "default" html_theme = "basic"
try: try:
import sphinx_rtd_theme import furo
html_theme = "sphinx_rtd_theme" html_theme = "furo"
del sphinx_rtd_theme del furo
except ModuleNotFoundError: except ModuleNotFoundError:
pass pass
@ -135,21 +131,30 @@ html_theme_options = {}
# the configuration directory. # the configuration directory.
html_theme_path = [] html_theme_path = []
if html_theme == "sphinx_rtd_theme": if html_theme == "furo":
html_theme_options = { html_theme_options = {
"analytics_id": "UA-1418081-1", "source_edit_link": "https://projects.blender.org/blender/blender-manual/_edit/main/manual/{filename}",
# included in the title "light_css_variables": {
"display_version": False, "color-brand-primary": "#265787",
"collapse_navigation": True, "color-brand-content": "#265787",
"navigation_depth": -1, },
} }
extensions.append('sphinx_rtd_theme') html_sidebars = {
"**": [
"sidebar/brand.html",
"sidebar/search.html",
"sidebar/scroll-start.html",
"sidebar/navigation.html",
"sidebar/scroll-end.html",
"sidebar/variant-selector.html",
]
}
# The "title" for HTML documentation generated with Sphinx's own templates. # The "title" for HTML documentation generated with Sphinx's own templates.
# This is appended to the <title> tag of individual pages, and # This is appended to the <title> tag of individual pages, and
# used in the navigation bar as the "topmost" element. # used in the navigation bar as the "topmost" element.
html_title = "Blender Manual" html_title = 'Blender %s Manual' % blender_version
# The base URL which points to the root of the HTML documentation. # The base URL which points to the root of the HTML documentation.
# It is used to indicate the location of document using # It is used to indicate the location of document using
@ -168,7 +173,7 @@ html_logo = "../build_files/theme/blender-logo.svg"
# the docs, or URL that points an image file for the favicon. # the docs, or URL that points an image file for the favicon.
html_favicon = "../build_files/theme/favicon.ico" html_favicon = "../build_files/theme/favicon.ico"
if html_theme == "sphinx_rtd_theme": if html_theme == "furo":
html_css_files = ["css/theme_overrides.css", html_css_files = ["css/theme_overrides.css",
"css/version_switch.css"] "css/version_switch.css"]
html_js_files = ["js/version_switch.js"] html_js_files = ["js/version_switch.js"]

View File

@ -13,7 +13,7 @@ sphinx-intl==2.1.0
# Only needed to match the theme used for the official documentation. # Only needed to match the theme used for the official documentation.
# Without this theme, the default theme will be used. # Without this theme, the default theme will be used.
sphinx_rtd_theme==2.0.0 furo==2024.1.29
# Only for convenience, allows live updating while editing RST files. # Only for convenience, allows live updating while editing RST files.
# Access by running: # Access by running: