| # Configuration file for the Sphinx documentation builder. |
| # |
| # For the full list of built-in configuration values, see the documentation: |
| # https://www.sphinx-doc.org/en/master/usage/configuration.html |
| |
| import importlib.util |
| import sys |
| |
| # -- Project information ----------------------------------------------------- |
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information |
| |
| project = 'PSync: Partial/Full Synchronization Protocol for NDN' |
| copyright = 'Copyright © 2018-2024 Named Data Networking Project.' |
| author = 'Named Data Networking Project' |
| |
| # The short X.Y version. |
| #version = '' |
| |
| # The full version, including alpha/beta/rc tags. |
| #release = '' |
| |
| # There are two options for replacing |today|: either, you set today to some |
| # non-false value, then it is used: |
| #today = '' |
| # Else, today_fmt is used as the format for a strftime call. |
| today_fmt = '%Y-%m-%d' |
| |
| |
| # -- General configuration --------------------------------------------------- |
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration |
| |
| needs_sphinx = '4.0' |
| extensions = [ |
| 'sphinx.ext.extlinks', |
| 'sphinx.ext.todo', |
| ] |
| |
| def addExtensionIfExists(extension: str): |
| try: |
| if importlib.util.find_spec(extension) is None: |
| raise ModuleNotFoundError(extension) |
| except (ImportError, ValueError): |
| sys.stderr.write(f'WARNING: Extension {extension!r} not found. ' |
| 'Some documentation may not build correctly.\n') |
| else: |
| extensions.append(extension) |
| |
| addExtensionIfExists('sphinxcontrib.doxylink') |
| |
| templates_path = ['_templates'] |
| exclude_patterns = ['Thumbs.db', '.DS_Store'] |
| |
| |
| # -- Options for HTML output ------------------------------------------------- |
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output |
| |
| html_theme = 'named_data_theme' |
| html_theme_path = ['.'] |
| |
| # 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_copy_source = False |
| html_show_sourcelink = False |
| |
| # Disable syntax highlighting of code blocks by default. |
| highlight_language = 'none' |
| |
| |
| # -- Misc options ------------------------------------------------------------ |
| |
| doxylink = { |
| 'PSync': ('PSync.tag', 'doxygen/'), |
| } |
| |
| extlinks = { |
| 'issue': ('https://redmine.named-data.net/issues/%s', 'issue #%s'), |
| } |