conf.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import os
  2. import sys
  3. import sphinx_godot_theme as sgt
  4. from docs import __version__
  5. sys.path.insert(0, os.path.abspath(".."))
  6. html_favicon = "static/images/docs_logo.svg"
  7. supported_languages = {
  8. "en": "DigitalTwin Deployment (%s)",
  9. }
  10. extensions = [
  11. "notfound.extension",
  12. "sphinx.ext.autodoc",
  13. "sphinx.ext.viewcode",
  14. "sphinx_rtd_theme",
  15. "sphinx_search.extension",
  16. "sphinx_tabs.tabs",
  17. "sphinxext.opengraph",
  18. "sphinxcontrib.drawio",
  19. "myst_parser",
  20. ]
  21. # autosectionlabel_prefix_document = True
  22. sphinx_tabs_nowarn = True
  23. templates_path = sgt.templates_path
  24. source_suffix = {
  25. ".rst": "restructuredtext",
  26. ".txt": "markdown",
  27. ".md": "markdown",
  28. }
  29. source_encoding = sgt.source_encoding
  30. master_doc = "index"
  31. # https://pypi.org/project/sphinxcontrib-drawio/
  32. drawio_binary_path = "/usr/bin/drawio"
  33. drawio_headless = True
  34. drawio_no_sandbox = True
  35. author = "Arkadiusz Michał Ryś"
  36. project = "DigitalTwin"
  37. copyright = f"2022, {author}"
  38. version = __version__
  39. release = version
  40. ogp_site_name = project
  41. env_tags = os.getenv("SPHINX_TAGS")
  42. if env_tags is not None:
  43. for tag in env_tags.split(","):
  44. print("Adding Sphinx tag: %s" % tag.strip())
  45. tags.add(tag.strip()) # noqa: F821
  46. language = os.getenv("READTHEDOCS_LANGUAGE", "en")
  47. if language not in supported_languages.keys():
  48. print("Unknown language: " + language)
  49. print("Supported languages: " + ", ".join(supported_languages.keys()))
  50. print("The configured language is wrong. Falling back to 'en'.")
  51. language = "en"
  52. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
  53. pygments_style = "sphinx"
  54. todo_include_todos = False
  55. html_theme = "sphinx_rtd_theme"
  56. html_theme_options = {
  57. "logo_only": True,
  58. "collapse_navigation": False,
  59. }
  60. html_logo = "static/images/docs_logo.svg"
  61. html_static_path = ["static"] + sgt.html_static_path
  62. htmlhelp_basename = project
  63. html_extra_path = sgt.html_extra_path
  64. html_css_files = ["css/custom.css"]
  65. html_js_files = ["js/custom.js"]
  66. on_rtd = os.environ.get("READTHEDOCS", None) == "True"
  67. html_title = supported_languages[language] % version
  68. html_context = {"conf_py_path": "/"}
  69. latex_engine = "pdflatex"
  70. latex_elements = {
  71. "papersize": "letterpaper",
  72. "pointsize": "10pt",
  73. "figure_align": "htbp",
  74. "preamble": r"""
  75. \DeclareUnicodeCharacter{2610}{[ ]}
  76. \DeclareUnicodeCharacter{2611}{[X]}
  77. \DeclareUnicodeCharacter{251C}{|}
  78. \DeclareUnicodeCharacter{2500}{-}
  79. \DeclareUnicodeCharacter{2514}{|}
  80. """,
  81. }
  82. latex_documents = [(master_doc, f"{project}.tex", project, author, "manual"),]
  83. man_pages = [(master_doc, project, project, [author], 1)]
  84. texinfo_documents = [(master_doc, project, project, author, project, project, "Miscellaneous")]
  85. notfound_context = sgt.notfound_context