summaryrefslogtreecommitdiffstats
path: root/doc/conf.py.in
diff options
context:
space:
mode:
Diffstat (limited to 'doc/conf.py.in')
-rw-r--r--doc/conf.py.in127
1 files changed, 127 insertions, 0 deletions
diff --git a/doc/conf.py.in b/doc/conf.py.in
new file mode 100644
index 0000000..444b70a
--- /dev/null
+++ b/doc/conf.py.in
@@ -0,0 +1,127 @@
+# Copyright 2020-2021 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: ISC
+
+# Project information
+
+project = "@LILV_TITLE@"
+copyright = "2020-2023, David Robillard"
+author = "David Robillard"
+release = "@LILV_VERSION@"
+version = "@LILV_VERSION@"
+desc = "A library for loading LV2 plugins"
+
+# General configuration
+
+exclude_patterns = ["xml"]
+language = "en"
+nitpicky = True
+pygments_style = "friendly"
+
+try:
+ import sphinx_lv2_theme
+
+ have_lv2_theme = True
+except ModuleNotFoundError:
+ have_lv2_theme = False
+
+# Ignore everything opaque or external for nitpicky mode
+_opaque = [
+ "FILE",
+ "LV2_Descriptor",
+ "LV2_Feature",
+ "LV2_Handle",
+ "LV2_URID_Map",
+ "LV2_URID_Unmap",
+ "LilvInstanceImpl",
+ "LilvNodeImpl",
+ "LilvPluginClassImpl",
+ "LilvPluginImpl",
+ "LilvPortImpl",
+ "LilvScalePointImpl",
+ "LilvStateImpl",
+ "LilvUIImpl",
+ "LilvWorldImpl",
+ "size_t",
+ "uint32_t",
+ "va_list",
+]
+
+nitpick_ignore = list(map(lambda x: ("c:identifier", x), _opaque))
+
+# HTML output
+
+html_copy_source = False
+html_secnumber_suffix = " "
+html_short_title = "@LILV_TITLE@"
+
+html_theme_options = {
+ "description": desc,
+ "logo_name": True,
+ "logo_width": "8em",
+}
+
+if tags.has("singlehtml"):
+ html_sidebars = {"**": ["globaltoc.html"]}
+ html_theme_options.update(
+ {
+ "globaltoc_collapse": False,
+ "globaltoc_maxdepth": 3,
+ "nosidebar": False,
+ "page_width": "80em",
+ }
+ )
+else:
+ html_theme_options.update(
+ {
+ "globaltoc_collapse": True,
+ "globaltoc_maxdepth": 1,
+ "nosidebar": True,
+ "page_width": "60em",
+ }
+ )
+
+if have_lv2_theme:
+ html_theme = "sphinx_lv2_theme"
+
+ html_theme_options.update(
+ {
+ "show_footer_version": True,
+ "show_logo_version": True,
+ }
+ )
+
+ if tags.has("singlehtml"):
+ html_theme_options.update(
+ {
+ "body_max_width": "64em",
+ "body_min_width": "64em",
+ "nosidebar": False,
+ "sidebar_width": "12em",
+ }
+ )
+
+ else:
+ html_theme_options.update(
+ {
+ "body_max_width": "60em",
+ "body_min_width": "40em",
+ }
+ )
+
+else:
+ html_theme = "alabaster"
+
+ if tags.has("singlehtml"):
+ html_theme_options = {
+ "body_max_width": "58em",
+ "body_min_width": "40em",
+ "sidebar_width": "16em",
+ }
+
+ else:
+ html_theme_options = {
+ "body_max_width": "60em",
+ "body_min_width": "40em",
+ "nosidebar": True,
+ "show_relbars": True,
+ }