Merge pull request #112 from antmicro/umarcor/doc
docs: conf cleanup; add logo and favicon
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/conf.py b/docs/conf.py
index b18a393..f15ec72 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -16,34 +16,26 @@
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
+
+# Configuration file for the Sphinx documentation builder.
#
-# F4PGA V2X documentation build configuration file, created by
-# sphinx-quickstart on Mon Feb 5 11:04:37 2018.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+
+from pathlib import Path
from collect_examples import collect_examples
from pygments.lexers.hdl import VerilogLexer
from sphinx.highlighting import lexers
-import re
+from re import sub as re_sub
-# Markdown support
-import recommonmark # noqa
+from os import path as os_path, environ, popen
+from sys import path as sys_path
-# 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
-sys.path.insert(0, os.path.abspath('.'))
+sys_path.insert(0, os_path.abspath('.'))
+
from markdown_code_symlinks import LinkParser, MarkdownSymlinksDomain # noqa
@@ -51,13 +43,10 @@
# -- General configuration ------------------------------------------------
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-# needs_sphinx = '1.0'
+project = u'F4PGA Verilog to XML (V2X)'
+copyright = u'2018-2022, F4PGA Authors'
+author = u'F4PGA Authors'
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.autosummary',
@@ -66,32 +55,43 @@
'sphinx.ext.napoleon',
'sphinx.ext.todo',
'sphinx_markdown_tables',
- 'sphinxcontrib_hdl_diagrams'
+ 'sphinxcontrib_hdl_diagrams',
+ 'recommonmark'
]
-# Make sphinxcontrib_verilog_diagrams use Yosys installed in conda
hdl_diagram_yosys = "system"
-# Add any paths that contain templates here, relative to this directory.
templates_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'F4PGA Verilog to XML (V2X)'
-copyright = u'2018-2022, F4PGA Authors'
-author = u'F4PGA Authors'
+on_rtd = environ.get('READTHEDOCS', None) == 'True'
+if on_rtd:
+ docs_dir = os_path.abspath(os_path.dirname(__file__))
+ print("Docs dir is:", docs_dir)
+ import subprocess
+ subprocess.call('git fetch origin --unshallow', cwd=docs_dir, shell=True)
+ subprocess.check_call('git fetch origin --tags', cwd=docs_dir, shell=True)
+
+release = re_sub('^v', '', popen('git describe ').read().strip())
+version = release
+
+language = None
+
+exclude_patterns = ['_build', 'env', 'Thumbs.db', '.DS_Store']
+
+pygments_style = 'default'
+
+todo_include_todos = True
+
+# -- Options for HTML output ----------------------------------------------
# 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
@@ -100,101 +100,30 @@
"github_version": "master", # Version
"conf_py_path": "/doc/",
}
-else:
- docs_dir = os.path.abspath(os.path.dirname(__file__))
- print("Docs dir is:", docs_dir)
- import subprocess
- subprocess.call('git fetch origin --unshallow', cwd=docs_dir, shell=True)
- subprocess.check_call('git fetch origin --tags', 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
-exclude_patterns = ['_build', 'env', 'Thumbs.db', '.DS_Store']
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'default'
-
-# If true, `todo` and `todoList` produce output, else they produce nothing.
-todo_include_todos = True
-
-# -- 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_symbiflow_theme'
-# 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_options = {
- # Customize css colors.
- # For details see link.
- # https://getmdl.io/customize/index.html
- #
- # Primary colors:
- # red, pink, purple, deep-purple, indigo, blue, light-blue, cyan,
- # teal, green, light-green, lime, yellow, amber, orange, deep-orange,
- # brown, grey, blue-grey, white
- 'color_primary': 'deep-purple',
-
- # Accent colors:
- # red, pink, purple, deep-purple, indigo, blue, light-blue, cyan,
- # teal, green, light-green, lime, yellow, amber, orange, deep-orange
- 'color_accent': 'indigo'
+ 'repo_name': 'chipsalliance/f4pga-v2x',
+ 'github_url' : 'https://github.com/chipsalliance/f4pga-v2x',
+ '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']
+html_logo = str(Path(html_static_path[0]) / 'logo.svg')
+html_favicon = str(Path(html_static_path[0]) / 'favicon.svg')
+
# -- Options for HTMLHelp output ------------------------------------------
-# Output file base name for HTML help builder.
htmlhelp_basename = 'f4pga-v2x'
# -- 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, 'F4PGAV2X.tex', u'F4PGA V2X Documentation',
@@ -203,27 +132,20 @@
# -- 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, 'f4pga-v2x', u'F4PGA V2X 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, 'F4PGAV2X', u'F4PGA V2X Documentation', author,
'F4PGAV2X', 'One line description of project.', 'Miscellaneous'),
]
-# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'https://docs.python.org/': None}
-
def setup(app):
# Collect tests to form examples
collect_examples()
@@ -231,8 +153,8 @@
github_code_repo = 'https://github.com/chipsalliance/f4pga-v2x/'
github_code_branch = 'blob/master/'
- docs_root_dir = os.path.realpath(os.path.dirname(__file__))
- code_root_dir = os.path.realpath(os.path.join(docs_root_dir, ".."))
+ docs_root_dir = os_path.realpath(os_path.dirname(__file__))
+ code_root_dir = os_path.realpath(os_path.join(docs_root_dir, ".."))
MarkdownSymlinksDomain.init_domain(
github_code_repo, github_code_branch, docs_root_dir, code_root_dir)