mirror of https://github.com/openXC7/prjxray.git
169 lines
4.8 KiB
Python
169 lines
4.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# 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
|
|
# https://opensource.org/licenses/ISC
|
|
#
|
|
# SPDX-License-Identifier: ISC
|
|
#
|
|
# Project X-Ray 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.
|
|
|
|
# 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
|
|
import recommonmark
|
|
import os
|
|
from sys import path as sys_path
|
|
import subprocess
|
|
|
|
sys_path.insert(0, os.path.abspath('.'))
|
|
from markdown_code_symlinks import LinkParser, MarkdownSymlinksDomain
|
|
|
|
# -- General configuration ------------------------------------------------
|
|
|
|
project = 'Project X-Ray'
|
|
author = 'F4PGA Authors'
|
|
copyright = f'{author}, 2018 - 2022'
|
|
|
|
# yapf: disable
|
|
extensions = [
|
|
'sphinx.ext.autodoc',
|
|
'sphinx.ext.autosummary',
|
|
'sphinx.ext.doctest',
|
|
'sphinx.ext.imgmath',
|
|
'sphinx.ext.napoleon',
|
|
'sphinx.ext.todo',
|
|
'sphinx_markdown_tables',
|
|
'recommonmark'
|
|
]
|
|
# yapf: enable
|
|
|
|
emplates_path = ['_templates']
|
|
|
|
source_suffix = ['.rst', '.md']
|
|
source_parsers = {
|
|
'.md': 'markdown_code_symlinks.LinkParser',
|
|
}
|
|
|
|
master_doc = 'index'
|
|
|
|
# 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": "f4pga", # Username
|
|
"github_repo": "prjxray", # Repo name
|
|
"github_version": "master", # Version
|
|
"conf_py_path": "/doc/",
|
|
}
|
|
else:
|
|
docs_dir = os.path.abspath(os.path.dirname(__file__))
|
|
print("Docs dir is:", docs_dir)
|
|
subprocess.call('git fetch origin --unshallow', cwd=docs_dir, shell=True)
|
|
subprocess.check_call('git fetch origin --tags', cwd=docs_dir, shell=True)
|
|
subprocess.check_call('make links', cwd=docs_dir, shell=True)
|
|
|
|
# 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
|
|
|
|
# yapf: disable
|
|
exclude_patterns = [
|
|
'_build',
|
|
'architecture/copying.md',
|
|
'db_dev_process/minitests/index/**',
|
|
'db_dev_process/fuzzers/index/**'
|
|
]
|
|
# yapf: enable
|
|
|
|
# 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 ----------------------------------------------
|
|
|
|
html_show_sourcelink = True
|
|
|
|
html_theme = 'sphinx_symbiflow_theme'
|
|
|
|
html_theme_options = {
|
|
'repo_name': 'f4pga/prjxray',
|
|
'github_url' : 'https://github.com/f4pga/prjxray',
|
|
'globaltoc_collapse': True,
|
|
'color_primary': 'indigo',
|
|
'color_accent': 'blue',
|
|
}
|
|
|
|
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 = 'prjxray'
|
|
|
|
# -- Options for LaTeX output ---------------------------------------------
|
|
|
|
latex_elements = {}
|
|
|
|
latex_documents = [
|
|
(
|
|
master_doc, 'ProjectX-Ray.tex', u'Project X-Ray Documentation',
|
|
u'F4PGA Authors', 'manual'),
|
|
]
|
|
|
|
# -- Options for manual page output ---------------------------------------
|
|
|
|
man_pages = [
|
|
(master_doc, 'projectx-ray', u'Project X-Ray Documentation', [author], 1)
|
|
]
|
|
|
|
# -- Options for Texinfo output -------------------------------------------
|
|
|
|
texinfo_documents = [
|
|
(
|
|
master_doc, 'ProjectX-Ray', u'Project X-Ray Documentation', author,
|
|
'ProjectX-Ray', 'One line description of project.', 'Miscellaneous'),
|
|
]
|
|
|
|
intersphinx_mapping = {'https://docs.python.org/': None}
|
|
|
|
|
|
def setup(app):
|
|
# Generate links for markdown-code-symlinks
|
|
subprocess.check_call("make links", shell=True)
|
|
|
|
github_code_repo = 'https://github.com/f4pga/prjxray/'
|
|
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, ".."))
|
|
|
|
MarkdownSymlinksDomain.init_domain(
|
|
github_code_repo, github_code_branch, docs_root_dir, code_root_dir)
|
|
MarkdownSymlinksDomain.find_links()
|
|
app.add_domain(MarkdownSymlinksDomain)
|
|
app.add_config_value(
|
|
'recommonmark_config', {
|
|
'github_code_repo': github_code_repo,
|
|
}, True)
|