amaranth/docs/conf.py
Jean-François Nguyen 496432edaa Implement RFC 30: Component metadata.
Co-authored-by: Catherine <whitequark@whitequark.org>
2024-05-10 13:17:24 +00:00

72 lines
1.7 KiB
Python

import os, sys
sys.path.insert(0, os.path.abspath("."))
import time
from importlib.metadata import version as package_version
project = "Amaranth language & toolchain"
version = package_version('amaranth').replace(".editable", "")
release = version.split("+")[0]
copyright = time.strftime("2020—%Y, Amaranth project contributors")
extensions = [
"sphinx.ext.intersphinx",
"sphinx.ext.doctest",
"sphinx.ext.todo",
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinx_rtd_theme",
"sphinxcontrib.platformpicker",
"sphinxcontrib.yowasp_wavedrom",
]
with open(".gitignore") as f:
exclude_patterns = [line.strip() for line in f.readlines()]
root_doc = "cover"
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
}
todo_include_todos = True
autodoc_member_order = "bysource"
autodoc_default_options = {
"members": True
}
autodoc_preserve_defaults = True
napoleon_google_docstring = False
napoleon_numpy_docstring = True
napoleon_use_ivar = True
napoleon_include_init_with_doc = True
napoleon_include_special_with_doc = True
napoleon_custom_sections = [
("Attributes", "params_style"), # by default displays as "Variables", which is confusing
("Members", "params_style"), # `lib.wiring` signature members
"Platform overrides"
]
html_theme = "sphinx_rtd_theme"
html_static_path = ["_static"]
html_css_files = ["custom.css"]
html_logo = "_static/logo.png"
rst_prolog = """
.. role:: py(code)
:language: python
"""
linkcheck_ignore = [
r"^http://127\.0\.0\.1:8000$"
]
linkcheck_anchors_ignore_for_url = [
r"^https://matrix\.to/",
r"^https://web\.libera\.chat/",
# React page with README content included as a JSON payload.
r"^https://github\.com/[^/]+/[^/]+/$",
]