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)