diff --git a/docs/conf.py b/docs/conf.py index 55f1af31..4a59e2d5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,23 +6,53 @@ import os import sys sys.path.insert(0, os.path.abspath('../src')) +sys.path.insert(0, os.path.abspath('../src/aare')) +sys.path.insert(0, os.path.abspath('../src/aare/daq')) +sys.path.insert(0, os.path.abspath('../src/aare/common')) +sys.path.insert(0, os.path.abspath('../src/aare/gui')) # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = 'AareDAQ' -copyright = '2026, Martin Appleby, Guillaume Gotthard, Filip Leonarski and Dawn (Jiaxin) Daun' +copyright = '2026, Paul Scherrer Institute' author = 'Martin Appleby, Guillaume Gotthard, Filip Leonarski and Dawn (Jiaxin) Daun' release = '0.3.0' +master_doc = 'index' +root_doc = 'index' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration +autodoc_mock_imports = [ + 'aaredb', + 'jfjoch_client', + 'numpy', + 'requests', + "pyJW", + "pyzmq", + "opencv-python-headless", + "PySide6", + "pyepics", + "redis", + "python-redis-lock", + "fastapi", + "uvicorn", + "python_multipart", + "websocket-client", + "sseclient-py", + "psi-pshell", +] + +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] extensions = [ + 'fuse_search', + 'sphinx.ext.intersphinx', + 'myst_parser', + 'sphinx_immaterial', 'sphinx.ext.autodoc', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode', - 'myst_parser', ] # Optional: allow includes in Markdown @@ -33,18 +63,91 @@ myst_enable_extensions = [ "html_image", "linkify", "substitution", + 'smartquotes', "tasklist", ] templates_path = ['_templates'] -exclude_patterns = [] +myst_heading_anchor = 3 + + +# -- Options for Fuzzy Search ------------------------------------------------ +# Fuse.js configuration +fuse_js_options = { + 'includeScore': True, + 'includeMatches': True, + 'threshold': 0.3, # More fuzzy (0.0 = exact, 1.0 = match everything) + 'distance': 100, + 'minMatchCharLength': 2, + 'keys': [ + {'name': 'title', 'weight': 0.8}, + {'name': 'content', 'weight': 0.5}, + {'name': 'tags', 'weight': 0.3}, + ] +} + +#Static Files +html_static_path = ['_static'] +html_css_files = [ + 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css', + 'css/fuse-search.css', +] +html_js_files = [ + 'js/fuse-search.js', +] # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = 'furo' -html_static_path = [] +html_theme = 'sphinx_immaterial' + +html_theme_options = { + "icon": { + "repo": "fontawesome/brands/github", # or gitlab/gitea icon + }, + "site_url": "https://gitea.psi.ch/mx/aaredaq", + "repo_url": "https://gitea.psi.ch/mx/aaredaq", + "repo_name": "AareDAQ", + "palette": [ + { + "media": "(prefers-color-scheme: light)", + "scheme": "default", + "primary": "indigo", + "accent": "lime", + "toggle": { + "icon": "material/lightbulb-outline", + "name": "Switch to dark mode", + }, + }, + { + "media": "(prefers-color-scheme: dark)", + "scheme": "slate", + "primary": "indigo", + "accent": "lime", + "toggle": { + "icon": "material/lightbulb", + "name": "Switch to light mode", + }, + }, + ], + "features": [ + "navigation.expand", + "navigation.sections", + "navigation.top", + "search.share", + "toc.follow", + ], + "globaltoc_collapse": False, +} +html_theme_options["google_fonts"] = [] +html_sidebars = { + "**": ["logo-text.html", "globaltoc.html", "searchbox.html"] +} + + +html_show_sourcelink = False + # Optional autodoc_default_options = { diff --git a/docs/index.rst b/docs/index.rst index 16a0d691..e1106fb8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,20 +3,26 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -AareDAQ Documentation +Welcome to the AareDAQ Documentation ===================== -Welcome to the AareDAQ documentation. - .. toctree:: :maxdepth: 2 - :caption: Getting Started + :caption: Contents: + :glob: - readme - changelog + ../README + ../CHANGELOG .. toctree:: :maxdepth: 2 :caption: API Reference api/aare + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt index 9ec9c8d4..fb87cf65 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,37 @@ -Sphinx==8.2.3 -myst-parser -sphinx_immaterial -linkify-it-py -furo +alabaster==1.0.0 +babel==2.16.0 +beautifulsoup4==4.12.3 +certifi==2024.8.30 +charset-normalizer==3.4.0 +css-html-js-minify==2.5.5 +docutils==0.21.2 +idna==3.10 +imagesize==1.4.1 +Jinja2==3.1.4 +linkify-it-py==2.0.3 +lxml==5.3.0 +markdown-it-py==3.0.0 +MarkupSafe==3.0.2 +mdit-py-plugins==0.4.2 +mdurl==0.1.2 +myst-parser==4.0.0 +packaging==24.2 +Pygments==2.18.0 +python-slugify==8.0.4 +PyYAML==6.0.2 +requests==2.32.3 +snowballstemmer==2.2.0 +soupsieve==2.6 +Sphinx==8.1.3 +sphinx-material==0.0.36 +sphinxcontrib-applehelp==2.0.0 +sphinxcontrib-devhelp==2.0.0 +sphinxcontrib-htmlhelp==2.1.0 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==2.0.0 +sphinxcontrib-serializinghtml==2.0.0 +text-unidecode==1.3 +uc-micro-py==1.0.3 +Unidecode==1.3.8 +urllib3==2.2.3 +sphinx_immaterial==0.13.8 \ No newline at end of file