From 7f01318e0be022ab19efb6c44c266602b2c5e5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Kr=C3=A1tk=C3=BD?= <rkratky@gmail.com> Date: Fri, 13 Oct 2023 14:17:09 +0200 Subject: [PATCH] FR-5688 Add missing style artifacts. --- doc/.sphinx/_static/custom.css | 189 +++++++++++++++++++++ doc/.sphinx/_static/favicon.png | Bin 0 -> 57806 bytes doc/.sphinx/_static/furo_colors.css | 88 ++++++++++ doc/.sphinx/_static/github_issue_links.css | 24 +++ doc/.sphinx/_static/github_issue_links.js | 34 ++++ doc/.sphinx/_static/header-nav.js | 10 ++ doc/.sphinx/_static/header.css | 167 ++++++++++++++++++ doc/.sphinx/_static/tag.png | Bin 0 -> 6781 bytes doc/.sphinx/_templates/base.html | 12 ++ doc/.sphinx/_templates/footer.html | 99 +++++++++++ doc/.sphinx/_templates/header.html | 36 ++++ doc/.sphinx/_templates/page.html | 49 ++++++ doc/.sphinx/spellingcheck.yaml | 28 +++ 13 files changed, 736 insertions(+) create mode 100644 doc/.sphinx/_static/custom.css create mode 100644 doc/.sphinx/_static/favicon.png create mode 100644 doc/.sphinx/_static/furo_colors.css create mode 100644 doc/.sphinx/_static/github_issue_links.css create mode 100644 doc/.sphinx/_static/github_issue_links.js create mode 100644 doc/.sphinx/_static/header-nav.js create mode 100644 doc/.sphinx/_static/header.css create mode 100644 doc/.sphinx/_static/tag.png create mode 100644 doc/.sphinx/_templates/base.html create mode 100644 doc/.sphinx/_templates/footer.html create mode 100644 doc/.sphinx/_templates/header.html create mode 100644 doc/.sphinx/_templates/page.html create mode 100644 doc/.sphinx/spellingcheck.yaml diff --git a/doc/.sphinx/_static/custom.css b/doc/.sphinx/_static/custom.css new file mode 100644 index 0000000000..cad94b74cf --- /dev/null +++ b/doc/.sphinx/_static/custom.css @@ -0,0 +1,189 @@ +/** Fix the font weight (300 for normal, 400 for slightly bold) **/ + +div.page, h1, h2, h3, h4, h5, h6, .sidebar-tree .current-page>.reference, button, input, optgroup, select, textarea, th.head { + font-weight: 300 +} + +.toc-tree li.scroll-current>.reference, dl.glossary dt, dl.simple dt, dl:not([class]) dt { + font-weight: 400; +} + +/** Table styling **/ + +th.head { + text-transform: uppercase; + font-size: var(--font-size--small); +} + +table.docutils { + border: 0; + box-shadow: none; + width:100%; +} + +table.docutils td, table.docutils th, table.docutils td:last-child, table.docutils th:last-child, table.docutils td:first-child, table.docutils th:first-child { + border-right: none; + border-left: none; +} + +/* Allow to centre text horizontally in table data cells */ +table.align-center { + text-align: center !important; +} + +/** No rounded corners **/ + +.admonition, code.literal, .sphinx-tabs-tab, .sphinx-tabs-panel, .highlight { + border-radius: 0; +} + +/** Admonition styling **/ + +.admonition { + border-top: 1px solid #d9d9d9; + border-right: 1px solid #d9d9d9; + border-bottom: 1px solid #d9d9d9; +} + +/** Color for the "copy link" symbol next to headings **/ + +a.headerlink { + color: var(--color-brand-primary); +} + +/** Line to the left of the current navigation entry **/ + +.sidebar-tree li.current-page { + border-left: 2px solid var(--color-brand-primary); +} + +/** Some tweaks for issue #16 **/ + +[role="tablist"] { + border-bottom: 1px solid var(--color-sidebar-item-background--hover); +} + +.sphinx-tabs-tab[aria-selected="true"] { + border: 0; + border-bottom: 2px solid var(--color-brand-primary); + background-color: var(--color-sidebar-item-background--current); + font-weight:300; +} + +.sphinx-tabs-tab{ + color: var(--color-brand-primary); + font-weight:300; +} + +.sphinx-tabs-panel { + border: 0; + border-bottom: 1px solid var(--color-sidebar-item-background--hover); + background: var(--color-background-primary); +} + +button.sphinx-tabs-tab:hover { + background-color: var(--color-sidebar-item-background--hover); +} + +/** Custom classes to fix scrolling in tables by decreasing the + font size or breaking certain columns. + Specify the classes in the Markdown file with, for example: + ```{rst-class} break-col-4 min-width-4-8 + ``` +**/ + +table.dec-font-size { + font-size: smaller; +} +table.break-col-1 td.text-left:first-child { + word-break: break-word; +} +table.break-col-4 td.text-left:nth-child(4) { + word-break: break-word; +} +table.min-width-1-15 td.text-left:first-child { + min-width: 15em; +} +table.min-width-4-8 td.text-left:nth-child(4) { + min-width: 8em; +} + +/** Underline for abbreviations **/ + +abbr[title] { + text-decoration: underline solid #cdcdcd; +} + +/** Use the same style for right-details as for left-details **/ +.bottom-of-page .right-details { + font-size: var(--font-size--small); + display: block; +} + +/** Version switcher */ +button.version_select { + color: var(--color-foreground-primary); + background-color: var(--color-toc-background); + padding: 5px 10px; + border: none; +} + +.version_select:hover, .version_select:focus { + background-color: var(--color-sidebar-item-background--hover); +} + +.version_dropdown { + position: relative; + display: inline-block; + text-align: right; + font-size: var(--sidebar-item-font-size); +} + +.available_versions { + display: none; + position: absolute; + right: 0px; + background-color: var(--color-toc-background); + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 11; +} + +.available_versions a { + color: var(--color-foreground-primary); + padding: 12px 16px; + text-decoration: none; + display: block; +} + +.available_versions a:hover {background-color: var(--color-sidebar-item-background--current)} + +.show {display:block;} + +/** Fix for nested numbered list - the nested list is lettered **/ +ol.arabic ol.arabic { + list-style: lower-alpha; +} + +/** Make expandable sections look like links **/ +details summary { + color: var(--color-link); +} + +/** Fix the styling of the version box for readthedocs **/ + +#furo-readthedocs-versions .rst-versions, #furo-readthedocs-versions .rst-current-version, #furo-readthedocs-versions:focus-within .rst-current-version, #furo-readthedocs-versions:hover .rst-current-version { + background: var(--color-sidebar-item-background--hover); +} + +.rst-versions .rst-other-versions dd a { + color: var(--color-link); +} + +#furo-readthedocs-versions:focus-within .rst-current-version .fa-book, #furo-readthedocs-versions:hover .rst-current-version .fa-book, .rst-versions .rst-other-versions { + color: var(--color-sidebar-link-text); +} + +.rst-versions .rst-current-version { + color: var(--color-version-popup); + font-weight: bolder; +} diff --git a/doc/.sphinx/_static/favicon.png b/doc/.sphinx/_static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c7109908f2af5c9bb0ad130c13ac143929643aa2 GIT binary patch literal 57806 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 Tci{bhEwz{WC?{4XqVNA-TM;k( literal 0 HcmV?d00001 diff --git a/doc/.sphinx/_static/furo_colors.css b/doc/.sphinx/_static/furo_colors.css new file mode 100644 index 0000000000..ffc36cbc8f --- /dev/null +++ b/doc/.sphinx/_static/furo_colors.css @@ -0,0 +1,88 @@ +body { + --color-code-background: #f8f8f8; + --color-code-foreground: black; + --font-stack: Ubuntu, -apple-system, Segoe UI, Roboto, Oxygen, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + --font-stack--monospace: Ubuntu Mono, Consolas, Monaco, Courier, monospace; + --color-foreground-primary: #111; + --color-foreground-secondary: var(--color-foreground-primary); + --color-foreground-muted: #333; + --color-background-secondary: #FFF; + --color-background-hover: #f2f2f2; + --color-brand-primary: #111; + --color-brand-content: #06C; + --color-api-background: #cdcdcd; + --color-inline-code-background: rgba(0,0,0,.03); + --color-sidebar-link-text: #111; + --color-sidebar-item-background--current: #ebebeb; + --color-sidebar-item-background--hover: #f2f2f2; + --toc-font-size: var(--font-size--small); + --color-admonition-title-background--note: var(--color-background-primary); + --color-admonition-title-background--tip: var(--color-background-primary); + --color-admonition-title-background--important: var(--color-background-primary); + --color-admonition-title-background--caution: var(--color-background-primary); + --color-admonition-title--note: #24598F; + --color-admonition-title--tip: #24598F; + --color-admonition-title--important: #C7162B; + --color-admonition-title--caution: #F99B11; + --color-highlighted-background: #EbEbEb; + --color-link-underline: var(--color-background-primary); + --color-link-underline--hover: var(--color-background-primary); + --color-version-popup: #772953; +} + +@media not print { + body[data-theme="dark"] { + --color-code-background: #202020; + --color-code-foreground: #d0d0d0; + --color-foreground-secondary: var(--color-foreground-primary); + --color-foreground-muted: #CDCDCD; + --color-background-secondary: var(--color-background-primary); + --color-background-hover: #666; + --color-brand-primary: #fff; + --color-brand-content: #06C; + --color-sidebar-link-text: #f7f7f7; + --color-sidebar-item-background--current: #666; + --color-sidebar-item-background--hover: #333; + --color-admonition-background: transparent; + --color-admonition-title-background--note: var(--color-background-primary); + --color-admonition-title-background--tip: var(--color-background-primary); + --color-admonition-title-background--important: var(--color-background-primary); + --color-admonition-title-background--caution: var(--color-background-primary); + --color-admonition-title--note: #24598F; + --color-admonition-title--tip: #24598F; + --color-admonition-title--important: #C7162B; + --color-admonition-title--caution: #F99B11; + --color-highlighted-background: #666; + --color-link-underline: var(--color-background-primary); + --color-link-underline--hover: var(--color-background-primary); + --color-version-popup: #F29879; + } + @media (prefers-color-scheme: dark) { + body:not([data-theme="light"]) { + --color-code-background: #202020; + --color-code-foreground: #d0d0d0; + --color-foreground-secondary: var(--color-foreground-primary); + --color-foreground-muted: #CDCDCD; + --color-background-secondary: var(--color-background-primary); + --color-background-hover: #666; + --color-brand-primary: #fff; + --color-brand-content: #06C; + --color-sidebar-link-text: #f7f7f7; + --color-sidebar-item-background--current: #666; + --color-sidebar-item-background--hover: #333; + --color-admonition-background: transparent; + --color-admonition-title-background--note: var(--color-background-primary); + --color-admonition-title-background--tip: var(--color-background-primary); + --color-admonition-title-background--important: var(--color-background-primary); + --color-admonition-title-background--caution: var(--color-background-primary); + --color-admonition-title--note: #24598F; + --color-admonition-title--tip: #24598F; + --color-admonition-title--important: #C7162B; + --color-admonition-title--caution: #F99B11; + --color-highlighted-background: #666; + --color-link-underline: var(--color-background-primary); + --color-link-underline--hover: var(--color-background-primary); + --color-version-popup: #F29879; + } + } +} diff --git a/doc/.sphinx/_static/github_issue_links.css b/doc/.sphinx/_static/github_issue_links.css new file mode 100644 index 0000000000..af4be86ce6 --- /dev/null +++ b/doc/.sphinx/_static/github_issue_links.css @@ -0,0 +1,24 @@ +.github-issue-link-container { + padding-right: 0.5rem; +} +.github-issue-link { + font-size: var(--font-size--small); + font-weight: bold; + background-color: #DD4814; + padding: 13px 23px; + text-decoration: none; +} +.github-issue-link:link { + color: #FFFFFF; +} +.github-issue-link:visited { + color: #FFFFFF +} +.muted-link.github-issue-link:hover { + color: #FFFFFF; + text-decoration: underline; +} +.github-issue-link:active { + color: #FFFFFF; + text-decoration: underline; +} diff --git a/doc/.sphinx/_static/github_issue_links.js b/doc/.sphinx/_static/github_issue_links.js new file mode 100644 index 0000000000..f0706038b7 --- /dev/null +++ b/doc/.sphinx/_static/github_issue_links.js @@ -0,0 +1,34 @@ +// if we already have an onload function, save that one +var prev_handler = window.onload; + +window.onload = function() { + // call the previous onload function + if (prev_handler) { + prev_handler(); + } + + const link = document.createElement("a"); + link.classList.add("muted-link"); + link.classList.add("github-issue-link"); + link.text = "Give feedback"; + link.href = ( + github_url + + "/issues/new?" + + "title=docs%3A+TYPE+YOUR+QUESTION+HERE" + + "&body=*Please describe the question or issue you're facing with " + + `"${document.title}"` + + ".*" + + "%0A%0A%0A%0A%0A" + + "---" + + "%0A" + + `*Reported+from%3A+${location.href}*` + ); + link.target = "_blank"; + + const div = document.createElement("div"); + div.classList.add("github-issue-link-container"); + div.append(link) + + const container = document.querySelector(".article-container > .content-icon-container"); + container.prepend(div); +}; diff --git a/doc/.sphinx/_static/header-nav.js b/doc/.sphinx/_static/header-nav.js new file mode 100644 index 0000000000..3608576e03 --- /dev/null +++ b/doc/.sphinx/_static/header-nav.js @@ -0,0 +1,10 @@ +$(document).ready(function() { + $(document).on("click", function () { + $(".more-links-dropdown").hide(); + }); + + $('.nav-more-links').click(function(event) { + $('.more-links-dropdown').toggle(); + event.stopPropagation(); + }); +}) diff --git a/doc/.sphinx/_static/header.css b/doc/.sphinx/_static/header.css new file mode 100644 index 0000000000..0b9440903d --- /dev/null +++ b/doc/.sphinx/_static/header.css @@ -0,0 +1,167 @@ +.p-navigation { + border-bottom: 1px solid var(--color-sidebar-background-border); +} + +.p-navigation__nav { + background: #333333; + display: flex; +} + +.p-logo { + display: flex !important; + padding-top: 0 !important; + text-decoration: none; +} + +.p-logo-image { + height: 44px; + padding-right: 10px; +} + +.p-logo-text { + margin-top: 18px; + color: white; + text-decoration: none; +} + +ul.p-navigation__links { + display: flex; + list-style: none; + margin-left: 0; + margin-top: auto; + margin-bottom: auto; + max-width: 800px; + width: 100%; +} + +ul.p-navigation__links li { + margin: 0 auto; + text-align: center; + width: 100%; +} + +ul.p-navigation__links li a { + background-color: rgba(0, 0, 0, 0); + border: none; + border-radius: 0; + color: var(--color-sidebar-link-text); + display: block; + font-weight: 400; + line-height: 1.5rem; + margin: 0; + overflow: hidden; + padding: 1rem 0; + position: relative; + text-align: left; + text-overflow: ellipsis; + transition-duration: .1s; + transition-property: background-color, color, opacity; + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + white-space: nowrap; + width: 100%; +} + +ul.p-navigation__links .p-navigation__link { + color: #ffffff; + font-weight: 300; + text-align: center; + text-decoration: none; +} + +ul.p-navigation__links .p-navigation__link:hover { + background-color: #2b2b2b; +} + +ul.p-navigation__links .p-dropdown__link:hover { + background-color: var(--color-sidebar-item-background--hover); +} + +ul.p-navigation__links .p-navigation__sub-link { + background: var(--color-background-primary); + padding: .5rem 0 .5rem .5rem; + font-weight: 300; +} + +ul.p-navigation__links .more-links-dropdown li a { + border-left: 1px solid var(--color-sidebar-background-border); + border-right: 1px solid var(--color-sidebar-background-border); +} + +ul.p-navigation__links .more-links-dropdown li:first-child a { + border-top: 1px solid var(--color-sidebar-background-border); +} + +ul.p-navigation__links .more-links-dropdown li:last-child a { + border-bottom: 1px solid var(--color-sidebar-background-border); +} + +ul.p-navigation__links .p-navigation__logo { + padding: 0.5rem; +} + +ul.p-navigation__links .p-navigation__logo img { + width: 40px; +} + +ul.more-links-dropdown { + display: none; + overflow-x: visible; + height: 0; + z-index: 55; + padding: 0; + position: relative; + list-style: none; + margin-bottom: 0; + margin-top: 0; +} + +.nav-more-links::after { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23111' d='M8.187 11.748l6.187-6.187-1.06-1.061-5.127 5.127L3.061 4.5 2 5.561z'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + content: ""; + display: block; + filter: invert(100%); + height: 1rem; + pointer-events: none; + position: absolute; + right: 1rem; + text-indent: calc(100% + 10rem); + top: calc(1rem + 0.25rem); + width: 1rem; +} + +.nav-ubuntu-com { + display: none; +} + +@media only screen and (min-width: 480px) { + ul.p-navigation__links li { + width: 100%; + } + + .nav-ubuntu-com { + display: inherit; + } +} + +@media only screen and (max-width: 800px) { + .nav-more-links { + margin-left: auto !important; + padding-right: 2rem !important; + width: 8rem !important; + } +} + +@media only screen and (min-width: 800px) { + ul.p-navigation__links li { + width: 100% !important; + } +} + +@media only screen and (min-width: 1310px) { + ul.p-navigation__links { + margin-left: calc(50% - 41em); + } +} diff --git a/doc/.sphinx/_static/tag.png b/doc/.sphinx/_static/tag.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f6e5aa4bc55fb934c973726b10a0efc92445a8 GIT binary patch literal 6781 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 literal 0 HcmV?d00001 diff --git a/doc/.sphinx/_templates/base.html b/doc/.sphinx/_templates/base.html new file mode 100644 index 0000000000..33081547c2 --- /dev/null +++ b/doc/.sphinx/_templates/base.html @@ -0,0 +1,12 @@ +{% extends "furo/base.html" %} + +{% block theme_scripts %} +<script> + const github_url = "{{ github_url }}"; +</script> +{% endblock theme_scripts %} + +{# ru-fu: don't include the color variables from the conf.py file, but use a + separate CSS file to save space #} +{% block theme_styles %} +{% endblock theme_styles %} diff --git a/doc/.sphinx/_templates/footer.html b/doc/.sphinx/_templates/footer.html new file mode 100644 index 0000000000..f13cb63141 --- /dev/null +++ b/doc/.sphinx/_templates/footer.html @@ -0,0 +1,99 @@ +{# ru-fu: copied from Furo, with modifications as stated below. Modifications are marked 'mod:'. #} + +<div class="related-pages"> + {# mod: Per-page navigation #} + {% if meta %} + {% if 'sequential_nav' in meta %} + {% set sequential_nav = meta.sequential_nav %} + {% endif %} + {% endif %} + {# mod: Conditional wrappers to control page navigation buttons #} + {% if sequential_nav != "none" -%} + {% if next and (sequential_nav == "next" or sequential_nav == "both") -%} + <a class="next-page" href="{{ next.link }}"> + <div class="page-info"> + <div class="context"> + <span>{{ _("Next") }}</span> + </div> + <div class="title">{{ next.title }}</div> + </div> + <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> + </a> + {%- endif %} + {% if prev and (sequential_nav == "prev" or sequential_nav == "both") -%} + <a class="prev-page" href="{{ prev.link }}"> + <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> + <div class="page-info"> + <div class="context"> + <span>{{ _("Previous") }}</span> + </div> + {% if prev.link == pathto(master_doc) %} + <div class="title">{{ _("Home") }}</div> + {% else %} + <div class="title">{{ prev.title }}</div> + {% endif %} + </div> + </a> + {%- endif %} + {%- endif %} +</div> +<div class="bottom-of-page"> + <div class="left-details"> + {%- if show_copyright %} + <div class="copyright"> + {%- if hasdoc('copyright') %} + {% trans path=pathto('copyright'), copyright=copyright|e -%} + <a href="{{ path }}">Copyright</a> © {{ copyright }} + {%- endtrans %} + {%- else %} + {% trans copyright=copyright|e -%} + Copyright © {{ copyright }} + {%- endtrans %} + {%- endif %} + </div> + {%- endif %} + + {# mod: removed "Made with" #} + + {%- if last_updated -%} + <div class="last-updated"> + {% trans last_updated=last_updated|e -%} + Last updated on {{ last_updated }} + {%- endtrans -%} + </div> + {%- endif %} + + {%- if show_source and has_source and sourcename %} + <div class="show-source"> + <a class="muted-link" href="{{ pathto('_sources/' + sourcename, true)|e }}" + rel="nofollow">Show source</a> + </div> + {%- endif %} + </div> + <div class="right-details"> + + {# mod: replaced RTD icons with our links #} + + {% if discourse %} + <div class="ask-discourse"> + <a class="muted-link" href="{{ discourse }}">Ask a question on Discourse</a> + </div> + {% endif %} + + {% if github_url and github_version and github_folder %} + + {% if github_issues %} + <div class="issue-github"> + <a class="muted-link" href="{{ github_url }}/issues/new?title=doc%3A+ADD+A+TITLE&body=DESCRIBE+THE+ISSUE%0A%0A---%0ADocument: {{ pagename }}{{ page_source_suffix }}">Open a GitHub issue for this page</a> + </div> + {% endif %} + + <div class="edit-github"> + <a class="muted-link" href="{{ github_url }}/edit/{{ github_version }}{{ github_folder }}{{ pagename }}{{ page_source_suffix }}">Edit this page on GitHub</a> + </div> + {% endif %} + + + </div> + </div> +</div> diff --git a/doc/.sphinx/_templates/header.html b/doc/.sphinx/_templates/header.html new file mode 100644 index 0000000000..1a128b6f8d --- /dev/null +++ b/doc/.sphinx/_templates/header.html @@ -0,0 +1,36 @@ +<header id="header" class="p-navigation"> + + <div class="p-navigation__nav" role="menubar"> + + <ul class="p-navigation__links" role="menu"> + + <li> + <a class="p-logo" href="https://{{ product_page }}" aria-current="page"> + <img src="{{ pathto(product_tag,1) }}" alt="Logo" class="p-logo-image"> + <div class="p-logo-text p-heading--4">{{ project }} + </div> + </a> + </li> + + <li class="nav-ubuntu-com"> + <a href="https://{{ product_page }}" class="p-navigation__link">{{ product_page }}</a> + </li> + + <li> + <a href="#" class="p-navigation__link nav-more-links">More resources</a> + <ul class="more-links-dropdown"> + + <li> + <a href="{{ discourse }}" class="p-navigation__sub-link p-dropdown__link">Forum</a> + </li> + + <li> + <a href="{{ github_url }}" class="p-navigation__sub-link p-dropdown__link">GitHub</a> + </li> + + </ul> + </li> + + </ul> + </div> +</header> diff --git a/doc/.sphinx/_templates/page.html b/doc/.sphinx/_templates/page.html new file mode 100644 index 0000000000..bda3061092 --- /dev/null +++ b/doc/.sphinx/_templates/page.html @@ -0,0 +1,49 @@ +{% extends "furo/page.html" %} + +{% block footer %} + {% include "footer.html" %} +{% endblock footer %} + +{% block body -%} + {% include "header.html" %} + {{ super() }} +{%- endblock body %} + +{% if meta and ((meta.discourse and discourse_prefix) or meta.relatedlinks) %} + {% set furo_hide_toc_orig = furo_hide_toc %} + {% set furo_hide_toc=false %} +{% endif %} + +{% block right_sidebar %} +<div class="toc-sticky toc-scroll"> + {% if not furo_hide_toc_orig %} + <div class="toc-title-container"> + <span class="toc-title"> + {{ _("Contents") }} + </span> + </div> + <div class="toc-tree-container"> + <div class="toc-tree"> + {{ toc }} + </div> + </div> + {% endif %} + {% if meta and ((meta.discourse and discourse_prefix) or meta.relatedlinks) %} + <div class="relatedlinks-title-container"> + <span class="relatedlinks-title"> + Related links + </span> + </div> + <div class="relatedlinks-container"> + <div class="relatedlinks"> + {% if meta.discourse and discourse_prefix %} + {{ discourse_links(meta.discourse) }} + {% endif %} + {% if meta.relatedlinks %} + {{ related_links(meta.relatedlinks) }} + {% endif %} + </div> + </div> + {% endif %} + </div> +{% endblock right_sidebar %} diff --git a/doc/.sphinx/spellingcheck.yaml b/doc/.sphinx/spellingcheck.yaml new file mode 100644 index 0000000000..fc160bf89d --- /dev/null +++ b/doc/.sphinx/spellingcheck.yaml @@ -0,0 +1,28 @@ +matrix: +- name: rST files + aspell: + lang: en + d: en_GB + dictionary: + wordlists: + - .wordlist.txt + - .custom_wordlist.txt + output: .sphinx/.wordlist.dic + sources: + - _build/**/*.html + pipeline: + - pyspelling.filters.html: + comments: false + attributes: + - title + - alt + ignores: + - code + - pre + - spellexception + - link + - title + - div.relatedlinks + - div.visually-hidden + - img + - a.p-navigation__link