From a92d3a1d8ecbfea33304e8b6e02a1cc5892213e9 Mon Sep 17 00:00:00 2001 From: Unai Martinez-Corral Date: Wed, 23 Feb 2022 03:02:11 +0100 Subject: [PATCH] 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 e69de29b..00000000 diff --git a/docs/_static/favicon.svg b/docs/_static/favicon.svg new file mode 100644 index 00000000..5535f198 --- /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 00000000..29b511d9 --- /dev/null +++ b/docs/_static/logo.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + diff --git a/docs/conf.py b/docs/conf.py index d302154a..1569b7e5 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 @@ extensions = [ ] # 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 @@ else: 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 @@ 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_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 @@ htmlhelp_basename = 'prjxray' # -- 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 @@ 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 622ee486..3a1f7766 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