gnunet-handbook

The GNUnet Handbook
Log | Files | Refs

conf.py (4795B)


      1 # Configuration file for the Sphinx documentation builder.
      2 #
      3 # This file only contains a selection of the most common options. For a full
      4 # list see the documentation:
      5 # https://www.sphinx-doc.org/en/master/usage/configuration.html
      6 
      7 # -- Path setup --------------------------------------------------------------
      8 
      9 # If extensions (or modules to document with autodoc) are in another directory,
     10 # add these directories to sys.path here. If the directory is relative to the
     11 # documentation root, use os.path.abspath to make it absolute, like shown here.
     12 #
     13 # import os
     14 # import sys
     15 # sys.path.insert(0, os.path.abspath('.'))
     16 
     17 
     18 # -- Project information -----------------------------------------------------
     19 import sys
     20 import os
     21 
     22 project = 'GNUnet'
     23 copyright = '2024, GNUnet Project'
     24 author = 'GNUnet Project'
     25 
     26 sys.path.append(os.path.abspath("_exts"))
     27 
     28 # -- General configuration ---------------------------------------------------
     29 
     30 # Add any Sphinx extension module names here, as strings. They can be
     31 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
     32 # ones.
     33 extensions = [
     34   'httpdomain.httpdomain',
     35   'typescriptdomain',
     36   'sphinx.ext.todo',
     37 ]
     38 
     39 if os.environ.get("SPHINX_MULTIVERSION"):
     40     extensions.append('sphinx_multiversion')
     41 
     42 #breathe_projects = {
     43 #    "gnunet": "../gnunet/doc/doxygen/xml/",
     44 #}
     45 
     46 #breathe_default_project = "gnunet"
     47 
     48 # Add any paths that contain templates here, relative to this directory.
     49 templates_path = ['_templates']
     50 
     51 # List of patterns, relative to source directory, that match files and
     52 # directories to ignore when looking for source files.
     53 # This pattern also affects html_static_path and html_extra_path.
     54 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
     55 
     56 
     57 # -- Options for HTML output -------------------------------------------------
     58 
     59 # The theme to use for HTML and HTML Help pages.  See the documentation for
     60 # a list of builtin themes.
     61 #
     62 html_theme = 'sphinx_rtd_theme'
     63 
     64 html_sidebars = {
     65     "**": ["globaltoc.html", "versioning.html"]
     66 }
     67 
     68 html_theme_options = {
     69     #'logo_only': True,
     70     'display_version': True,
     71     'collapse_navigation': True,
     72 }
     73 
     74 man_make_section_directory = False
     75 man_pages = [
     76         ('about', 'gnunet', 'About GNUnet', '', '1'),
     77         ('installing', 'gnunet', 'Installing GNUnet', '', '2'),
     78         ('users/start', 'gnunet', 'Starting and stopping', '', '3'),
     79         ('users/gns', 'gnunet', 'The GNU Name System', '', '4'),
     80         ('users/reclaim', 'gnunet', 're:claimID', '', '5'),
     81         ('users/fs', 'gnunet', 'GNUnet File-Sharing', '', '6'),
     82         ('users/vpn', 'gnunet', 'GNUnet VPN', '', '7'),
     83         ('users/messenger', 'gnunet', 'GNUnet Messenger', '', '8'),
     84         ('users/configuration', 'gnunet', 'GNUnet advanced configuration', '', '9'),
     85         ('developers/contributing', 'gnunet-dev', 'Contributing', '', '1'),
     86         ('developers/style', 'gnunet-dev', 'Style and workflow', '', '2'),
     87         ('developers/util', 'gnunet-dev', 'libgnunetutil', '', '3'),
     88         ('developers/rest/rest', 'gnunet-dev', 'REST API', '', '5'),
     89         ('developers/tutorial', 'gnunet-dev', 'GNUnet Developer Tutorial', '', '6'),
     90         ('livingstandards', 'lsd', 'Living Standards', '', '1'),
     91 ]
     92 
     93 # Add any paths that contain custom static files (such as style sheets) here,
     94 # relative to this directory. They are copied after the builtin static files,
     95 # so a file named "default.css" will overwrite the builtin "default.css".
     96 html_static_path = ['_static']
     97 
     98 # These paths are either relative to html_static_path
     99 # or fully qualified paths (eg. https://...)
    100 html_css_files = [
    101     'css/custom.css',
    102 ]
    103 
    104 html_logo = "images/gnunet-blue.png"
    105 
    106 # Display to-do items in docs
    107 todo_include_todos = True
    108 
    109 primary_domain = "c"
    110 
    111 highlight_language = "c"
    112 
    113 rst_prolog = f"""
    114 .. role:: c(code)
    115    :language: c
    116 
    117 .. role:: bolditalic
    118    :class: bolditalic
    119 """
    120 
    121 if os.environ.get("GNUNET_VERSION"):
    122     rst_prolog = ".. |gnunet_version| replace:: " + os.environ["GNUNET_VERSION"]
    123 else:
    124     rst_prolog = ".. |gnunet_version| replace:: latest"
    125 
    126 # Whitelist pattern for tags (set to None to ignore all tags)
    127 #smv_tag_whitelist = r'^.*$'
    128 smv_tag_whitelist = 'latest'
    129 
    130 # Whitelist pattern for branches (set to None to ignore all branches)
    131 smv_branch_whitelist = r'^(v\d+\.\d+\.x|master)$'
    132 #smv_branch_whitelist = 'master'
    133 
    134 # Whitelist pattern for remotes (set to None to use local branches only)
    135 smv_remote_whitelist = None
    136 
    137 # Pattern for released versions
    138 smv_released_pattern = r'^refs/(tags/latest|heads/(?!master)).*$'
    139 #smv_released_pattern = r'^refs/(heads/[^/]+)/(?!master).*$'
    140 
    141 # Format for versioned output directories inside the build directory
    142 smv_outputdir_format = '{ref.name}'
    143 
    144 # Determines whether remote or local git branches/tags are preferred if their output dirs conflict
    145 smv_prefer_remote_refs = False