Skip to content

TDKorn/sphinx-github-style

Repository files navigation

Sphinx GitHub Style: GitHub Integration and Pygments Style for Sphinx Documentation

Sphinx Github Style

GitHub source code links and syntax highlighting for Sphinx documentation

Explore the docs »_

PyPI Version

GitHub Repository

image

Documentation Status



About

sphinx-github-style is a Sphinx extension that links your documentation to GitHub source code. It also adds syntax highlighting for code blocks similar to GitHub's pretty lights dark theme.

...

Using sphinx.ext.linkcode_, a View on GitHub link is added to the documentation of every class, method, function, and property:

sphinx-github-style adds a "View on GitHub" link

They link to and highlight the corresponding code block in your GitHub repository:

The linked corresponding highlighted source code block on GitHub

📝 Note

These links can be styled with CSS_ and used with/instead of the links added by sphinx.ext.viewcode_

Syntax Highlighting

sphinx-github-style also contains a Pygments style to highlight code blocks similar to GitHub:

A code block highlighted by the Pygments style. It looks identical to GitHub.

Installation

To install using pip:

pip install sphinx-github-style

Configuration

Add the extension to your conf.py

extensions = [
    "sphinx_github_style",
]

Optional Configuration Variables

Add any (or none) of the following configuration variables to your conf.py

linkcode_blob_

The blob to link to on GitHub - any of "head", "last_tag", or "{blob}"

Type: str

Default: "head"

  • "head" (default): links to the most recent commit hash; if this commit is tagged, uses the tag instead
  • "last_tag": links to the most recent commit tag on the currently checked out branch
  • "blob": links to any blob you want, for example "master" or "v2.0.1"
linkcode_url_

The link to your GitHub repository formatted as https://github.com/user/repo

Type: str

Default: f"https://github.com/{html_context['github_user']}/{html_context['github_repo']}/{html_context['github_version']}"

  • If not provided, will attempt to create the link from the html_context_ dict
linkcode_link_text_

The text to use for the linkcode link

Type: str

Default: "View on GitHub"

linkcode_resolve_

A linkcode_resolve() function to use when resolving the link target with sphinx.ext.linkcode_

Type: Callable

Default: Return value from get_linkcode_resolve()_