Merge pull request #1862 from antmicro/umarcor/docs/theme

docs: update theme; add logo and favicon
diff --git a/.readthedocs.yml b/.readthedocs.yml
index 4f5e297..0b154b6 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -14,7 +14,7 @@
 
 # Optionally set the version of Python and requirements required to build your docs
 python:
-  version: 3.7
+  version: "3.7"
   install:
     - requirements: docs/requirements.txt
 
diff --git a/docs/_static/.keepme b/docs/_static/.keepme
deleted file mode 100644
index e69de29..0000000
--- a/docs/_static/.keepme
+++ /dev/null
diff --git a/docs/_static/favicon.svg b/docs/_static/favicon.svg
new file mode 100644
index 0000000..5535f19
--- /dev/null
+++ b/docs/_static/favicon.svg
@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 13.564L8.175 16v-4.877L4 8.688v4.876zm0-5.659V3.028l4.175 2.435v4.877L4 7.905zm4.852 2.435l3.841-2.241-3.841-2.241v4.482zm-.339-5.463l4.18-2.439L8.513 0l-4.18 2.438 4.18 2.439z" fill="#10CFC9"/></svg>
\ No newline at end of file
diff --git a/docs/_static/logo.svg b/docs/_static/logo.svg
new file mode 100644
index 0000000..29b511d
--- /dev/null
+++ b/docs/_static/logo.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   width="288.41299"
+   height="83.888"
+   viewBox="0 0 288.41299 83.888"
+   fill="none"
+   version="1.1"
+   id="svg13"
+   sodipodi:docname="logo.svg"
+   inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview15"
+     pagecolor="#505050"
+     bordercolor="#ffffff"
+     borderopacity="1"
+     inkscape:pageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="2.0675422"
+     inkscape:cx="144.37432"
+     inkscape:cy="42.562613"
+     inkscape:window-width="1920"
+     inkscape:window-height="1017"
+     inkscape:window-x="1912"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg13" />
+  <path
+     fill-rule="evenodd"
+     clip-rule="evenodd"
+     d="m 218.704,67.436 c -3.225,0 -6.271,-0.627 -9.137,-1.881 a 23.737,23.737 0 0 1 -7.524,-5.173 25.78,25.78 0 0 1 -5.106,-7.726 c -1.21,-2.956 -1.814,-6.113 -1.814,-9.472 0,-3.36 0.604,-6.495 1.814,-9.406 1.254,-2.911 2.956,-5.464 5.106,-7.659 a 22.92,22.92 0 0 1 7.658,-5.173 c 2.956,-1.254 6.136,-1.88 9.54,-1.88 3.717,0 7.166,0.716 10.346,2.15 3.18,1.432 5.845,3.47 7.995,6.113 l -5.241,5.24 c -1.388,-1.97 -3.247,-3.471 -5.576,-4.501 -2.329,-1.075 -4.837,-1.613 -7.524,-1.613 -3.225,0 -6.069,0.717 -8.532,2.15 -2.419,1.389 -4.3,3.337 -5.643,5.845 -1.344,2.508 -2.016,5.42 -2.016,8.733 0,3.315 0.672,6.248 2.016,8.801 1.388,2.508 3.247,4.48 5.576,5.912 2.329,1.433 4.971,2.15 7.927,2.15 3.135,0 5.823,-0.56 8.062,-1.68 2.284,-1.164 4.031,-2.866 5.24,-5.105 0.758,-1.433 1.279,-3.067 1.562,-4.904 h -14.998 v -7.055 h 23.245 v 1.075 c 0,5.599 -1.008,10.257 -3.023,13.974 -1.971,3.718 -4.681,6.494 -8.129,8.33 -3.449,1.837 -7.39,2.755 -11.824,2.755 z M 123.412,19.737 109.848,49.969 v 4.703 h 22.304 v 12.092 h 7.591 V 54.672 h 6.584 v -6.92 h -6.584 V 35.995 h -7.591 v 11.757 h -12.95 l 12.944,-28.015 z m 39.423,29.291 v 17.736 h -7.726 V 19.737 h 17.467 c 2.956,0 5.599,0.605 7.928,1.814 2.374,1.21 4.232,2.911 5.576,5.106 1.388,2.194 2.083,4.77 2.083,7.726 0,2.956 -0.695,5.531 -2.083,7.726 -1.344,2.194 -3.202,3.896 -5.576,5.105 -2.329,1.21 -4.972,1.814 -7.928,1.814 z m 0,-6.718 h 9.338 c 1.613,0 3.024,-0.313 4.233,-0.94 1.254,-0.672 2.239,-1.59 2.956,-2.755 0.716,-1.21 1.075,-2.62 1.075,-4.232 0,-1.613 -0.359,-3.001 -1.075,-4.166 a 7.019,7.019 0 0 0 -2.956,-2.754 c -1.209,-0.672 -2.62,-1.008 -4.233,-1.008 h -9.338 z m 100.99,-22.573 -19.349,47.027 h 8.196 l 3.615,-9.07 h 20.212 l 3.583,9.07 h 8.331 L 269.199,19.737 Z m 10.02,31.24 -7.407,-18.75 -7.473,18.75 z M 86.199,20.368 h 25.382 l -3.162,7.054 h -22.22 v 12.765 h 16.498 l -3.162,7.054 H 86.199 V 67.395 H 78.473 V 20.369 h 7.726 z"
+     fill="#1226aa"
+     id="path2"
+     style="fill:#ffffff;fill-opacity:1" />
+  <g
+     clip-path="url(#clip0_311_258)"
+     fill="#1226aa"
+     id="g6"
+     transform="translate(-121.678,-25.111)"
+     style="fill:#ffffff;fill-opacity:1">
+    <path
+       d="M 121.677,96.199 144.306,109 V 83.456 L 121.677,70.655 Z m 0,-29.683 V 40.972 l 22.629,12.801 v 25.544 z m 26.232,12.801 20.772,-11.751 -20.772,-11.754 z m -1.8,-28.662 22.572,-12.771 -22.572,-12.773 -22.573,12.773 22.573,12.77 z"
+       id="path4"
+       style="fill:#ffffff;fill-opacity:1" />
+  </g>
+  <defs
+     id="defs11">
+    <clipPath
+       id="clip0_311_258">
+      <path
+         fill="#ffffff"
+         transform="translate(121.678,25.11)"
+         d="M 0,0 H 47.003 V 83.889 H 0 Z"
+         id="path8" />
+    </clipPath>
+  </defs>
+</svg>
diff --git a/docs/architecture/index.rst b/docs/architecture/index.rst
deleted file mode 100644
index 9701bdf..0000000
--- a/docs/architecture/index.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-============================
-Xilinx 7-series Architecture
-============================
-
-.. toctree::
-   :maxdepth: 1
-
-   overview
-   configuration
-   bitstream_format
-   interconnect
-   dram_configuration
-   glossary
-   reference
-   code_of_conduct
-   updating_the_docs
diff --git a/docs/conf.py b/docs/conf.py
index d302154..1569b7e 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2017-2020  The Project X-Ray Authors.
+# Copyright (C) 2017-2022 The Project X-Ray Authors.
 #
 # Use of this source code is governed by a ISC-style
 # license that can be found in the LICENSE file or at
@@ -19,31 +19,24 @@
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
+# Updated documentation of the configuration options is available at
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+from pathlib import Path
 import re
-
-# Markdown support
 import recommonmark
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
 import os
-import sys
+from sys import path as sys_path
 import subprocess
 
-sys.path.insert(0, os.path.abspath('.'))
+sys_path.insert(0, os.path.abspath('.'))
 from markdown_code_symlinks import LinkParser, MarkdownSymlinksDomain
 
 # -- General configuration ------------------------------------------------
 
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-needs_sphinx = '3.0'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
+project = 'Project X-Ray'
+author = 'F4PGA Authors'
+copyright = f'{author}, 2018 - 2022'
 
 # yapf: disable
 extensions = [
@@ -58,30 +51,21 @@
 ]
 # yapf: enable
 
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+emplates_path = ['_templates']
 
-# The suffix(es) of source filenames.
-# You can specify multiple suffix as a list of string:
 source_suffix = ['.rst', '.md']
 source_parsers = {
     '.md': 'markdown_code_symlinks.LinkParser',
 }
 
-# The master toctree document.
 master_doc = 'index'
 
-# General information about the project.
-project = u'Project X-Ray'
-copyright = u'2018, SymbiFlow Team'
-author = u'SymbiFlow Team'
-
 # Enable github links when not on readthedocs
 on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
 if not on_rtd:
     html_context = {
         "display_github": True,  # Integrate GitHub
-        "github_user": "symbiflow",  # Username
+        "github_user": "f4pga",  # Username
         "github_repo": "prjxray",  # Repo name
         "github_version": "master",  # Version
         "conf_py_path": "/doc/",
@@ -93,26 +77,11 @@
     subprocess.check_call('git fetch origin --tags', cwd=docs_dir, shell=True)
     subprocess.check_call('make links', cwd=docs_dir, shell=True)
 
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
 # The full version, including alpha/beta/rc tags.
 release = re.sub('^v', '', os.popen('git describe ').read().strip())
 # The short X.Y version.
 version = release
 
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#
-# This is also used if you do content translation via gettext catalogs.
-# Usually you set "language" from the command line for these cases.
-language = None
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This patterns also effect to html_static_path and html_extra_path
-
 # yapf: disable
 exclude_patterns = [
     '_build',
@@ -130,87 +99,22 @@
 
 # -- Options for HTML output ----------------------------------------------
 
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-#
-html_theme = 'sphinx_materialdesign_theme'
+html_show_sourcelink = True
 
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#
+html_theme = 'sphinx_symbiflow_theme'
+
 html_theme_options = {
-    # Specify a list of menu in Header.
-    # Tuples forms:
-    #  ('Name', 'external url or path of pages in the document', boolean, 'icon name')
-    #
-    # Third argument:
-    # True indicates an external link.
-    # False indicates path of pages in the document.
-    #
-    # Fourth argument:
-    # Specify the icon name.
-    # For details see link.
-    # https://material.io/icons/
-    'header_links': [
-        ('Home', 'index', False, 'home'),
-        ("GitHub", "https://github.com/SymbiFlow/prjxray", True, 'link')
-    ],
-
-    # Customize css colors.
-    # For details see link.
-    # https://getmdl.io/customize/index.html
-    #
-    # Values: amber, blue, brown, cyan deep_orange, deep_purple, green, grey, indigo, light_blue,
-    #         light_green, lime, orange, pink, purple, red, teal, yellow(Default: indigo)
-    'primary_color':
-    'deep_purple',
-    # Values: Same as primary_color. (Default: pink)
-    'accent_color':
-    'purple',
-
-    # Customize layout.
-    # For details see link.
-    # https://getmdl.io/components/index.html#layout-section
-    'fixed_drawer':
-    True,
-    'fixed_header':
-    True,
-    'header_waterfall':
-    True,
-    'header_scroll':
-    False,
-
-    # Render title in header.
-    # Values: True, False (Default: False)
-    'show_header_title':
-    False,
-    # Render title in drawer.
-    # Values: True, False (Default: True)
-    'show_drawer_title':
-    True,
-    # Render footer.
-    # Values: True, False (Default: True)
-    'show_footer':
-    True
+    'repo_name': 'f4pga/prjxray',
+    'github_url' : 'https://github.com/f4pga/prjxray',
+    'globaltoc_collapse': True,
+    'color_primary': 'indigo',
+    'color_accent': 'blue',
 }
 
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
 html_static_path = ['_static']
 
-# Custom sidebar templates, must be a dictionary that maps document names
-# to template names.
-#
-# This is required for the alabaster theme
-# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
-html_sidebars = {
-    '**': [
-        'relations.html',  # needs 'show_related': True theme option to display
-        'searchbox.html',
-    ]
-}
+html_logo = str(Path(html_static_path[0]) / 'logo.svg')
+html_favicon = str(Path(html_static_path[0]) / 'favicon.svg')
 
 # -- Options for HTMLHelp output ------------------------------------------
 
@@ -219,53 +123,28 @@
 
 # -- Options for LaTeX output ---------------------------------------------
 
-latex_elements = {
-    # The paper size ('letterpaper' or 'a4paper').
-    #
-    # 'papersize': 'letterpaper',
+latex_elements = {}
 
-    # The font size ('10pt', '11pt' or '12pt').
-    #
-    # 'pointsize': '10pt',
-
-    # Additional stuff for the LaTeX preamble.
-    #
-    # 'preamble': '',
-
-    # Latex figure (float) alignment
-    #
-    # 'figure_align': 'htbp',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-#  author, documentclass [howto, manual, or own class]).
 latex_documents = [
     (
         master_doc, 'ProjectX-Ray.tex', u'Project X-Ray Documentation',
-        u'SymbiFlow Team', 'manual'),
+        u'F4PGA Authors', 'manual'),
 ]
 
 # -- Options for manual page output ---------------------------------------
 
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
 man_pages = [
     (master_doc, 'projectx-ray', u'Project X-Ray Documentation', [author], 1)
 ]
 
 # -- Options for Texinfo output -------------------------------------------
 
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
 texinfo_documents = [
     (
         master_doc, 'ProjectX-Ray', u'Project X-Ray Documentation', author,
         'ProjectX-Ray', 'One line description of project.', 'Miscellaneous'),
 ]
 
-# Example configuration for intersphinx: refer to the Python standard library.
 intersphinx_mapping = {'https://docs.python.org/': None}
 
 
@@ -273,7 +152,7 @@
     # Generate links for markdown-code-symlinks
     subprocess.check_call("make links", shell=True)
 
-    github_code_repo = 'https://github.com/SymbiFlow/prjxray/'
+    github_code_repo = 'https://github.com/f4pga/prjxray/'
     github_code_branch = 'blob/master/'
 
     docs_root_dir = os.path.realpath(os.path.dirname(__file__))
diff --git a/docs/db_dev_process/index.rst b/docs/db_dev_process/index.rst
deleted file mode 100644
index 7b78fa0..0000000
--- a/docs/db_dev_process/index.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-============================
-Database Development Process
-============================
-
-.. toctree::
-   :maxdepth: 1
-
-   readme
-   contributing
-   new_fuzzer
-   fuzzers/index
-   minitests/index
-   parts
-   newpart
-
diff --git a/docs/index.rst b/docs/index.rst
index 192e93b..9efb7ba 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -25,13 +25,27 @@
    :maxdepth: 2
    :caption: Xilinx 7-Series Architecture
 
-   architecture/index
+   architecture/overview
+   architecture/configuration
+   architecture/bitstream_format
+   architecture/interconnect
+   architecture/dram_configuration
+   architecture/glossary
+   architecture/reference
+   architecture/code_of_conduct
+   architecture/updating_the_docs
 
 .. toctree::
    :maxdepth: 2
    :caption: Database Development Process
 
-   db_dev_process/index
+   db_dev_process/readme
+   db_dev_process/contributing
+   db_dev_process/new_fuzzer
+   db_dev_process/fuzzers/index
+   db_dev_process/minitests/index
+   db_dev_process/parts
+   db_dev_process/newpart
 
 .. toctree::
    :maxdepth: 2
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 622ee48..3a1f776 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,7 +1,7 @@
-sphinx_materialdesign_theme
+http://github.com/SymbiFlow/sphinx_symbiflow_theme/archive/chips.zip#sphinx-symbiflow-theme
 
 docutils
-sphinx>=3.0
+sphinx
 sphinx-autobuild
 
 breathe
@@ -10,4 +10,4 @@
 sphinxcontrib-napoleon
 
 # Markdown cross-reference solver library
-git+https://github.com/SymbiFlow/sphinxcontrib-markdown-symlinks
+http://github.com/SymbiFlow/sphinxcontrib-markdown-symlinks/archive/master.zip#sphinxcontrib-markdown-symlinks