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> &#169; {{ copyright }}
+        {%- endtrans %}
+      {%- else %}
+        {% trans copyright=copyright|e -%}
+          Copyright &#169; {{ 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