# Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Path setup -------------------------------------------------------------- import datetime import sys from os.path import abspath, dirname # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # # import os import sphinx_bootstrap_theme path = dirname(abspath(__file__)) sys.path.append(path) # -- Project information ----------------------------------------------------- project = "Plex Meta Manager Wiki" author = "Nathan Taggart" copyright = f"{datetime.datetime.now().year}" # The full version, including alpha/beta/rc tags with open("../VERSION") as f: release = f.readline() # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named "sphinx.ext.*") or your custom # ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.coverage', 'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'sphinx.ext.todo', 'myst_parser', 'sphinx_inline_tabs', 'sphinx_copybutton', 'sphinx_reredirects' ] source_suffix = ['.rst', '.md'] myst_heading_anchors = 4 # -- Napoleon Settings ----------------------------------------------------- napoleon_google_docstring = True napoleon_numpy_docstring = False napoleon_include_init_with_doc = False napoleon_include_private_with_doc = False napoleon_include_special_with_doc = False napoleon_use_admonition_for_examples = False napoleon_use_admonition_for_notes = False napoleon_use_admonition_for_references = False napoleon_use_ivar = True napoleon_use_param = True napoleon_use_rtype = True napoleon_use_keyword = True autodoc_member_order = 'bysource' add_module_names = False master_doc = 'index' # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # # html_theme = "nature" html_theme = "bootstrap" html_theme_path = sphinx_bootstrap_theme.get_html_theme_path() # (Optional) Logo. Should be small enough to fit the navbar (ideally 24x24). # Path should be relative to the ``_static`` files directory. html_logo = "_static/logo-white.png" html_favicon = "_static/favicon.png" html_copy_source = False html_show_sourcelink = False # Redirect URLs # "": "" redirects = { "redact": "https://regex101.com/r/DMo1DQ/latest" } # Theme options are theme-specific and customize the look and feel of a # theme further. html_theme_options = { # Tab name for entire site. (Default: "Site") 'navbar_site_name': "Table of Contents", # A list of tuples containing pages or urls to link to. # Valid tuples should be in the following forms: # (name, page) # a link to a page # (name, "/aa/bb", 1) # a link to an arbitrary relative url # (name, "http://example.com", True) # arbitrary absolute url # Note the "1" or "True" value above as the third argument to indicate # an arbitrary url. 'navbar_links': [ ("_menu", "Essentials", [ ("Plex Meta Manager", "index"), ("_divider", ), ("_menu", "Installation", [ ("Installing Plex Meta Manager", "home/installation"), ("_divider", ), ("Local Walkthrough", "home/guides/local"), ("Docker Walkthrough", "home/guides/docker"), ("QNAP Walkthrough", "home/guides/qnap"), ("Synology Walkthrough", "home/guides/synology"), ("unRAID Walkthrough", "home/guides/unraid"), ("Kubernetes Walkthrough", "home/guides/kubernetes"), ("Docker images", "home/guides/alternative-docker"), ]), ("Run Commands & Environment Variables", "home/environmental"), ("Knowledgebase/FAQ", "home/kb"), ("_divider", ), ("Configuration File", "config/configuration"), ("Log Files", "home/logs"), ("Metadata Files", "metadata/metadata"), ("Overlay Files", "metadata/overlay"), ("Playlist Files", "metadata/playlist"), ("_divider", ), ("Default Metadata & Overlays Files", "home/guides/defaults"), ("Scheduling Guide", "home/guides/scheduling"), ("Image Asset Directory Guide", "home/guides/assets"), ("Formula 1 Metadata Guide", "home/guides/formula"), ("_divider", ), ("User Configs Repository", "https://github.com/meisnate12/Plex-Meta-Manager-Configs", True), ("Discord Server", "https://discord.gg/NfH6mGFuAB", True), ("Sponsor", "https://github.com/sponsors/meisnate12", True), ("Acknowledgements", "home/acknowledgements"), ]), ("_menu", "Config", [ ("Configuration File", "config/configuration"), ("Redacting Your Config", "redact"), ("_divider", ), ("Libraries/Playlists", "config/libraries"), ("Path Types", "config/paths"), ("Operations", "config/operations"), ("Settings", "config/settings"), ("Webhooks", "config/webhooks"), ("_divider", ), ("Plex", "config/plex"), ("Tautulli", "config/tautulli"), ("Radarr", "config/radarr"), ("Sonarr", "config/sonarr"), ("_divider", ), ("TMDb", "config/tmdb"), ("Trakt", "config/trakt"), ("MdbList", "config/mdblist"), ("OMDb", "config/omdb"), ("AniDB", "config/anidb"), ("MyAnimeList", "config/myanimelist"), ("Notifiarr", "config/notifiarr"), ]), ("_menu", "Defaults", [ ("PMM Defaults", "defaults/readme"), ("PMM Files", "defaults/files"), ("Shared Variables", "defaults/variables"), ("_divider", ), ("_menu", "Award Collections", [ ("Awards Separator", "defaults/award/separator"), ("_divider", ), ("Academy Awards (Oscars)", "defaults/award/oscars"), ("British Academy of Film Awards", "defaults/award/bafta"), ("Cannes File Festival Awards", "defaults/award/cannes"), ("Critics Choice Awards", "defaults/award/choice"), ("Emmy Awards", "defaults/award/emmy"), ("Golden Globe Awards", "defaults/award/golden"), ("Independent Spirit Awards", "defaults/award/spirit"), ("Sundance File Festival Awards", "defaults/award/sundance"), ("Other Awards", "defaults/award/other"), ]), ("_menu", "Chart Collections", [ ("Chart Separator", "defaults/chart/separator"), ("_divider", ), ("Basic Charts", "defaults/chart/basic"), ("AniList Charts", "defaults/chart/anilist"), ("Flixpatrol Charts", "defaults/chart/flixpatrol"), ("IMDb Charts", "defaults/chart/imdb"), ("MyAnimeList Charts", "defaults/chart/myanimelist"), ("Tautulli Charts", "defaults/chart/tautulli"), ("TMDb Charts", "defaults/chart/tmdb"), ("Trakt Charts", "defaults/chart/trakt"), ("Other Charts", "defaults/chart/other"), ]), ("_menu", "Movie Collections", [ ("Actor Collections", "defaults/both/actor"), ("Audio Language Collections", "defaults/both/audio_language"), ("Content Ratings (US) Collections", "defaults/movie/content_rating_us"), ("Content Ratings (UK) Collections", "defaults/both/content_rating_uk"), ("Country Collections", "defaults/movie/country"), ("Decade Collections", "defaults/movie/decade"), ("Director Collections", "defaults/movie/director"), ("Franchise Collections", "defaults/movie/franchise"), ("Genre Collections", "defaults/both/genre"), ("Producer Collections", "defaults/movie/producer"), ("Resolution Collections", "defaults/both/resolution"), ("Resolution Standards Collections", "defaults/both/resolution_standards"), ("Seasonal Collections", "defaults/movie/seasonal"), ("Streaming Collections", "defaults/both/streaming"), ("Studio Collections", "defaults/both/studio"), ("Subtitle Language Collections", "defaults/both/subtitle_language"), ("Universe Collections", "defaults/movie/universe"), ("Writer Collections", "defaults/movie/writer"), ("Year Collections", "defaults/both/year"), ]), ("_menu", "Show Collections", [ ("Actor Collections", "defaults/both/actor"), ("Audio Language Collections", "defaults/both/audio_language"), ("Content Ratings (US) Collections", "defaults/show/content_rating_us"), ("Content Ratings (UK) Collections", "defaults/both/content_rating_uk"), ("Country Collections", "defaults/show/country"), ("Decade Collections", "defaults/show/decade"), ("Franchise Collections", "defaults/show/franchise"), ("Genre Collections", "defaults/both/genre"), ("Network Collections", "defaults/show/network"), ("Resolution Collections", "defaults/both/resolution"), ("Resolution Standards Collections", "defaults/both/resolution_standards"), ("Streaming Collections", "defaults/both/streaming"), ("Studio Collections", "defaults/both/studio"), ("Subtitle Language Collections", "defaults/both/subtitle_language"), ("Year Collections", "defaults/both/year"), ]), ("Playlists", "defaults/files.html#playlists"), ("Separators", "defaults/separators"), ("_menu", "Overlays", [ ("Default Overlays", "defaults/overlays/readme"), ("Audio Codec Overlay", "defaults/overlays/audio_codec"), ("Audio Languages Overlay", "defaults/overlays/audio_language"), ("Common Sense Age Ratings Overlay", "defaults/overlays/commonsense"), ("Direct Play Only Overlay", "defaults/overlays/direct_play"), ("Edition Overlay", "defaults/overlays/edition"), ("Episode Info Overlay", "defaults/overlays/episode_info"), ("After Credit Overlay", "defaults/overlays/mediastinger"), ("Ratings Overlay", "defaults/overlays/ratings"), ("Resolution Overlay", "defaults/overlays/resolution"), ("Ribbon Overlay", "defaults/overlays/ribbon"), ("Runtimes Overlay", "defaults/overlays/runtimes"), ("Special Release Overlay", "defaults/overlays/special_release"), ("Streaming Overlay", "defaults/overlays/streaming"), ("Versions Overlay", "defaults/overlays/versions"), ("Video Format Overlay", "defaults/overlays/video_format"), ]), ]), ("_menu", "Files", [ ("Metadata Files", "metadata/metadata"), ("Overlay Files", "metadata/overlay"), ("Playlist Files", "metadata/playlist"), ("_divider", ), ("Templates", "metadata/templates"), ("Filters", "metadata/filters"), ("Dynamic Collections", "metadata/dynamic"), ("_menu", "Editing Media Metadata", [ ("Editing Movie Metadata", "metadata/metadata/movie"), ("Editing TV Metadata", "metadata/metadata/show"), ("Editing Music Metadata", "metadata/metadata/music"), ]), ("_menu", "Builders", [ ("Plex Builders", "metadata/builders/plex"), ("Smart Builders", "metadata/builders/smart"), ("TMDb Builders", "metadata/builders/tmdb"), ("TVDb Builders", "metadata/builders/tvdb"), ("IMDb Builders", "metadata/builders/imdb"), ("Trakt Builders", "metadata/builders/trakt"), ("Tautulli Builders", "metadata/builders/tautulli"), ("Radarr Builders", "metadata/builders/radarr"), ("Sonarr Builders", "metadata/builders/sonarr"), ("MdbList Builders", "metadata/builders/mdblist"), ("Letterboxd Builders", "metadata/builders/letterboxd"), ("ICheckMovies Builders", "metadata/builders/icheckmovies"), ("FlixPatrol Builders", "metadata/builders/flixpatrol"), ("Reciperr Builders", "metadata/builders/reciperr"), ("StevenLu Builders", "metadata/builders/stevenlu"), ("AniDB Builders", "metadata/builders/anidb"), ("AniList Builders", "metadata/builders/anilist"), ("MyAnimeList Builders", "metadata/builders/myanimelist"), ]), ("_menu", "Details", [ ("Setting Details", "metadata/details/setting"), ("Schedule Details", "metadata/details/schedule"), ("Metadata Details", "metadata/details/metadata"), ("Radarr/Sonarr Details", "metadata/details/arr"), ]) ]), ("❤", "https://github.com/sponsors/meisnate12", True), ], # Render the next and previous page links in navbar. (Default: true) 'navbar_sidebarrel': False, # Render the current pages TOC in the navbar. (Default: true) 'navbar_pagenav': False, # Tab name for the current pages TOC. (Default: "Page") 'navbar_pagenav_name': "Sections", # Global TOC depth for "site" navbar tab. (Default: 1) # Switching to -1 shows all levels. 'globaltoc_depth': 2, # Include hidden TOCs in Site navbar? # # Note: If this is "false", you cannot have mixed ``:hidden:`` and # non-hidden ``toctree`` directives in the same page, or else the build # will break. # # Values: "true" (default) or "false" 'globaltoc_includehidden': "true", # HTML navbar class (Default: "navbar") to attach to
element. # For black navbar, do "navbar navbar-inverse" 'navbar_class': "navbar navbar-inverse", # Fix navigation bar to top of page? # Values: "true" (default) or "false" 'navbar_fixed_top': "true", # Location of link to source. # Options are "nav" (default), "footer" or anything else to exclude. 'source_link_position': "nav", # Bootswatch (http://bootswatch.com/) theme. # # Options are nothing (default) or the name of a valid theme # such as "cosmo" or "sandstone". # # The set of valid themes depend on the version of Bootstrap # that's used (the next config option). # # Currently, the supported themes are: # - Bootstrap 2: https://bootswatch.com/2 # - Bootstrap 3: https://bootswatch.com/3 'bootswatch_theme': "darkly", # Choose Bootstrap version. # Values: "3" (default) or "2" (in quotes) 'bootstrap_version': "3", } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] html_css_files = ["custom.css"] def setup(app): app.add_css_file("custom.css")