Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 30 additions & 19 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,9 @@
"sphinx.ext.autodoc",
"sphinx.ext.viewcode",
"sphinx_preview",
"ubt_sphinx"
]

# During a PDF build with Sphinx-SimplePDF, a special theme is used.
# But adding "sphinx_immaterial" to the extension list, the "immaterial" already
# does a lot of sphinx voodoo, which is not needed and does not work during a PDF build.
# Therefore we add it only, if a special ENV-Var is not set.
#
# As we can't ask Sphinx already in the config file, which Builder will be used, we need
# to set this information by hand, or in this case via an ENV var.
#
# To build HTML, just call ``make html
# To build PDF, call ``env PDF=1 make simplepdf"
if os.environ.get("PDF", "0") != "1":
extensions.append("sphinx_immaterial")

###############################################################################
# SPHINX-NEEDS Config START
###############################################################################
Expand Down Expand Up @@ -127,22 +115,17 @@

html_theme = "alabaster" # Sphinx Defaul Theme

# Set ``html_theme`` to ``sphinx_immaterial`` only, if we do NOT perform a PDF build.
if os.environ.get("PDF", 0) != 1:
html_theme = "sphinx_immaterial"

html_static_path = ["_static"]

sphinx_immaterial_override_generic_admonitions = True

html_logo = "_images/sphinx-needs-logo.png"
html_theme_options = {
"font": False,
"icon": {
"repo": "fontawesome/brands/github",
"edit": "material/file-edit-outline",
},
"site_url": "https://jbms.github.io/sphinx-immaterial/",
"site_url": "https://sphinx-needs.com",
"repo_url": "https://github.com/useblocks/sphinx-needs-demo",
"repo_name": "Sphinx-Needs Demo",
"edit_uri": "blob/main/docs",
Expand Down Expand Up @@ -192,6 +175,34 @@
"custom.css",
]

##################################################################
# ubTrace Builder options #
##################################################################
ubtrace_organization = "useblocks"
ubtrace_project = "sphinx-needs-demo"
ubtrace_version = "1"

# Pattern to secure pages manually.
# Example: {"developer_handbook/features/": ["int_developer"]}
ubtrace_secure_pattern = {}

# ubTrace Theme Options
ubtrace_theme_options = {
"logo": {
"desktop": {
"light": "_static/sn_demo_logo_light.png",
"dark": "_static/sn_demo_logo_dark.png",
},
"mobile": {
"light": "_static/sn_demo_logo_light.png",
"dark": "_static/sn_demo_logo_dark.png",
},
},
"repo_url": "https://github.com/useblocks/sphinx-needs-demo/",
"edit_uri": "/edit/main/docs/",
"view_source_uri": "/blob/main/docs/",
}


# Some special vodoo to render each rst-file by jinja, before it gets handled by Sphinx.
# This allows us to use the powerfull jinja-features to create content in a loop, react on
Expand Down
213 changes: 213 additions & 0 deletions requirements-dev.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# generated by rye
# use `rye lock` or `rye sync` to update this lockfile
#
# last locked with the following flags:
# pre: false
# features: []
# all-features: false
# with-sources: false
# generate-hashes: false
# universal: false

-e file:.
accessible-pygments==0.0.5
# via furo
alabaster==1.0.0
# via sphinx
annotated-types==0.7.0
# via pydantic
appdirs==1.4.4
# via sphinx-immaterial
attrs==25.3.0
# via jsonschema
# via referencing
babel==2.17.0
# via sphinx
beautifulsoup4==4.13.5
# via furo
# via sphinx-simplepdf
brotli==1.1.0
# via fonttools
certifi==2025.8.3
# via requests
cffi==2.0.0
# via weasyprint
charset-normalizer==3.4.3
# via requests
contourpy==1.3.3
# via matplotlib
cssselect2==0.8.0
# via weasyprint
cycler==0.12.1
# via matplotlib
cython==3.1.4
# via sphinx
defusedxml==0.7.1
# via sphinx
docutils==0.21.2
# via sphinx
execnet==2.1.1
# via pytest-xdist
fonttools==4.60.0
# via matplotlib
# via weasyprint
furo==2025.7.19
# via sphinx-needs-demo
idna==3.10
# via requests
imagesize==1.4.1
# via sphinx
iniconfig==2.1.0
# via pytest
jinja2==3.1.6
# via sphinx
jsonschema==4.25.1
# via sphinx-needs
jsonschema-specifications==2025.9.1
# via jsonschema
kiwisolver==1.4.9
# via matplotlib
libsass==0.23.0
# via sphinx-simplepdf
lxml==6.0.1
# via sphinx-test-reports
markupsafe==3.0.2
# via jinja2
# via sphinx-immaterial
matplotlib==3.10.6
# via sphinx-needs
numpy==2.3.3
# via contourpy
# via matplotlib
packaging==25.0
# via matplotlib
# via pytest
# via sphinx
pillow==11.3.0
# via matplotlib
# via weasyprint
pluggy==1.6.0
# via pytest
psutil==7.0.0
# via pytest-xdist
pycparser==2.23
# via cffi
pydantic==2.11.9
# via pydantic-extra-types
# via sphinx-immaterial
pydantic-core==2.33.2
# via pydantic
pydantic-extra-types==2.10.5
# via sphinx-immaterial
pydyf==0.11.0
# via weasyprint
pygments==2.19.2
# via accessible-pygments
# via furo
# via pytest
# via sphinx
pyparsing==3.2.4
# via matplotlib
pyphen==0.17.2
# via weasyprint
pytest==8.4.2
# via pytest-xdist
# via sphinx
pytest-xdist==3.8.0
# via sphinx
python-dateutil==2.9.0.post0
# via matplotlib
referencing==0.36.2
# via jsonschema
# via jsonschema-specifications
requests==2.32.5
# via requests-file
# via sphinx
# via sphinx-immaterial
# via sphinx-needs
requests-file==2.1.0
# via sphinx-needs
roman-numerals-py==3.1.0
# via sphinx
rpds-py==0.27.1
# via jsonschema
# via referencing
setuptools==80.9.0
# via sphinx
six==1.17.0
# via python-dateutil
snowballstemmer==3.0.1
# via sphinx
soupsieve==2.8
# via beautifulsoup4
sphinx==8.2.3
# via furo
# via sphinx-basic-ng
# via sphinx-data-viewer
# via sphinx-design
# via sphinx-immaterial
# via sphinx-needs
# via sphinx-needs-demo
# via sphinx-simplepdf
# via sphinx-test-reports
# via sphinxcontrib-jquery
# via sphinxcontrib-plantuml
sphinx-basic-ng==1.0.0b2
# via furo
sphinx-data-viewer==0.1.5
# via sphinx-needs
sphinx-design==0.6.1
# via sphinx-needs-demo
sphinx-immaterial==0.13.6
# via sphinx-needs-demo
sphinx-needs==5.1.0
# via sphinx-needs-demo
# via sphinx-test-reports
sphinx-preview==0.1.2
# via sphinx-needs-demo
sphinx-simplepdf==1.6.0
# via sphinx-needs-demo
sphinx-test-reports==1.2.0
# via sphinx-needs-demo
sphinxcontrib-applehelp==2.0.0
# via sphinx
sphinxcontrib-devhelp==2.0.0
# via sphinx
sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-jquery==4.1
# via sphinx-needs
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-plantuml==0.31
# via sphinx-needs-demo
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==2.0.0
# via sphinx
tinycss2==1.4.0
# via cssselect2
# via weasyprint
tinyhtml5==2.0.0
# via weasyprint
typing-extensions==4.15.0
# via beautifulsoup4
# via pydantic
# via pydantic-core
# via pydantic-extra-types
# via referencing
# via sphinx
# via sphinx-immaterial
# via typing-inspection
typing-inspection==0.4.1
# via pydantic
urllib3==2.5.0
# via requests
weasyprint==66.0
# via sphinx-simplepdf
webencodings==0.5.1
# via cssselect2
# via tinycss2
# via tinyhtml5
zopfli==0.2.3.post1
# via fonttools
Loading
Loading