From 781c535ddec382b8fc3323e4ad8a4f220f96b47a Mon Sep 17 00:00:00 2001 From: Unai Martinez-Corral Date: Wed, 23 Feb 2022 02:38:10 +0100 Subject: [PATCH 1/3] readthedocs: quote python version Signed-off-by: Unai Martinez-Corral --- .readthedocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 4f5e29761..0b154b614 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -14,7 +14,7 @@ formats: all # 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 From a92d3a1d8ecbfea33304e8b6e02a1cc5892213e9 Mon Sep 17 00:00:00 2001 From: Unai Martinez-Corral Date: Wed, 23 Feb 2022 03:02:11 +0100 Subject: [PATCH 2/3] docs: update theme; add logo and favicon Signed-off-by: Unai Martinez-Corral --- docs/_static/.keepme | 0 docs/_static/favicon.svg | 1 + docs/_static/logo.svg | 66 +++++++++++++++ docs/conf.py | 171 ++++++--------------------------------- docs/requirements.txt | 6 +- 5 files changed, 95 insertions(+), 149 deletions(-) delete mode 100644 docs/_static/.keepme create mode 100644 docs/_static/favicon.svg create mode 100644 docs/_static/logo.svg diff --git a/docs/_static/.keepme b/docs/_static/.keepme deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/_static/favicon.svg b/docs/_static/favicon.svg new file mode 100644 index 000000000..5535f1988 --- /dev/null +++ b/docs/_static/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_static/logo.svg b/docs/_static/logo.svg new file mode 100644 index 000000000..29b511d98 --- /dev/null +++ b/docs/_static/logo.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + diff --git a/docs/conf.py b/docs/conf.py index d302154a9..1569b7e59 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. -import re +# Updated documentation of the configuration options is available at +# https://www.sphinx-doc.org/en/master/usage/configuration.html -# Markdown support +from pathlib import Path +import re 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 + +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 = { - # 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', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', -} +latex_elements = {} -# 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 @@ def setup(app): # 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/requirements.txt b/docs/requirements.txt index 622ee4866..3a1f77664 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 @@ sphinx-markdown-tables 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 From 5a41cf408bba8b8840d6a3bbaf839ac6f51f2b5a Mon Sep 17 00:00:00 2001 From: Unai Martinez-Corral Date: Wed, 23 Feb 2022 03:18:29 +0100 Subject: [PATCH 3/3] docs: hierarchy Signed-off-by: Unai Martinez-Corral --- docs/architecture/index.rst | 16 ---------------- docs/db_dev_process/index.rst | 15 --------------- docs/index.rst | 18 ++++++++++++++++-- 3 files changed, 16 insertions(+), 33 deletions(-) delete mode 100644 docs/architecture/index.rst delete mode 100644 docs/db_dev_process/index.rst diff --git a/docs/architecture/index.rst b/docs/architecture/index.rst deleted file mode 100644 index 9701bdf09..000000000 --- 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/db_dev_process/index.rst b/docs/db_dev_process/index.rst deleted file mode 100644 index 7b78fa073..000000000 --- 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 192e93bb8..9efb7baaf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,13 +25,27 @@ to develop a free and open Verilog to bitstream toolchain for these devices. :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