conf.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. ]
  37. source_suffix = {
  38. ".rst": "restructuredtext",
  39. ".md": "markdown",
  40. }
  41. # Add any paths that contain templates here, relative to this directory.
  42. templates_path = ["_templates"]
  43. # List of patterns, relative to source directory, that match files and
  44. # directories to ignore when looking for source files.
  45. # This pattern also affects html_static_path and html_extra_path.
  46. exclude_patterns = []
  47. # Napoleon settings
  48. napoleon_use_ivar = True
  49. napoleon_use_admonition_for_references = True
  50. # See https://github.com/sphinx-doc/sphinx/issues/9119
  51. napoleon_custom_sections = [("Returns", "params_style")]
  52. # -- Options for HTML output -------------------------------------------------
  53. # The theme to use for HTML and HTML Help pages. See the documentation for
  54. # a list of builtin themes.
  55. #
  56. html_theme = "furo"
  57. html_title = "MiniGrid Documentation"
  58. html_baseurl = "https://minigrid.farama.org/"
  59. html_copy_source = False
  60. html_favicon = "_static/img/minigrid-favicon.png"
  61. html_theme_options = {
  62. "light_logo": "img/minigrid.svg",
  63. "dark_logo": "img/minigrid-white.svg",
  64. "gtag": "G-FBXJQQLXKD",
  65. "versioning": True,
  66. }
  67. html_context: dict[str, Any] = {}
  68. html_context["conf_py_path"] = "/docs/"
  69. html_context["display_github"] = True
  70. html_context["github_user"] = "Farama-Foundation"
  71. html_context["github_repo"] = "Minigrid"
  72. html_context["github_version"] = "master"
  73. html_context["slug"] = "minigrid"
  74. html_static_path = ["_static"]
  75. html_css_files = []
  76. # -- Generate Changelog -------------------------------------------------
  77. sphinx_github_changelog_token = os.environ.get("SPHINX_GITHUB_CHANGELOG_TOKEN")