conf.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. # -- Path setup --------------------------------------------------------------
  7. # If extensions (or modules to document with autodoc) are in another directory,
  8. # add these directories to sys.path here. If the directory is relative to the
  9. # documentation root, use os.path.abspath to make it absolute, like shown here.
  10. #
  11. # import os
  12. # import sys
  13. # sys.path.insert(0, os.path.abspath('.'))
  14. # -- Project information -----------------------------------------------------
  15. from __future__ import annotations
  16. import os
  17. import sys
  18. from typing import Any
  19. import minigrid
  20. project = "MiniGrid"
  21. copyright = "2022"
  22. author = "Farama Foundation"
  23. # The full version, including alpha/beta/rc tags
  24. release = minigrid.__version__
  25. sys.path.insert(0, os.path.abspath("../.."))
  26. # -- General configuration ---------------------------------------------------
  27. # Add any Sphinx extension module names here, as strings. They can be
  28. # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
  29. # ones.
  30. extensions = [
  31. "sphinx.ext.napoleon",
  32. "sphinx.ext.doctest",
  33. "sphinx.ext.autodoc",
  34. "sphinx.ext.githubpages",
  35. "myst_parser",
  36. "sphinx_github_changelog",
  37. ]
  38. source_suffix = {
  39. ".rst": "restructuredtext",
  40. ".md": "markdown",
  41. }
  42. # Add any paths that contain templates here, relative to this directory.
  43. templates_path = ["_templates"]
  44. # List of patterns, relative to source directory, that match files and
  45. # directories to ignore when looking for source files.
  46. # This pattern also affects html_static_path and html_extra_path.
  47. exclude_patterns = []
  48. # Napoleon settings
  49. napoleon_use_ivar = True
  50. napoleon_use_admonition_for_references = True
  51. # See https://github.com/sphinx-doc/sphinx/issues/9119
  52. napoleon_custom_sections = [("Returns", "params_style")]
  53. # -- Options for HTML output -------------------------------------------------
  54. # The theme to use for HTML and HTML Help pages. See the documentation for
  55. # a list of builtin themes.
  56. #
  57. html_theme = "furo"
  58. html_title = "MiniGrid Documentation"
  59. html_baseurl = "https://minigrid.farama.org/"
  60. html_copy_source = False
  61. html_favicon = "_static/img/minigrid-favicon.png"
  62. html_theme_options = {
  63. "light_logo": "img/minigrid.svg",
  64. "dark_logo": "img/minigrid-white.svg",
  65. "gtag": "G-FBXJQQLXKD",
  66. "versioning": True,
  67. }
  68. html_context: dict[str, Any] = {}
  69. html_context["conf_py_path"] = "/docs/"
  70. html_context["display_github"] = True
  71. html_context["github_user"] = "Farama-Foundation"
  72. html_context["github_repo"] = "Minigrid"
  73. html_context["github_version"] = "master"
  74. html_context["slug"] = "minigrid"
  75. html_static_path = ["_static"]
  76. html_css_files = []
  77. # -- Generate Changelog -------------------------------------------------
  78. sphinx_github_changelog_token = os.environ.get("SPHINX_GITHUB_CHANGELOG_TOKEN")