Skip to main content

A Sphinx theme for Open edX documentation

Project description

PyPI GitHub CI Codecov Documentation Supported Python versions License

edx-sphinx-theme is a Sphinx theme for Open edX documentation. It should be used for all documentation in repositories in the edx GitHub organization which is intended to be used with the Sphinx documentation system.


This theme makes the following changes to the default Sphinx output:

  • Displays the edX logo

  • Adds a link to a feedback form that identifies which page the feedback came from

To use edx-sphinx-theme for a repository’s documentation:

  • pip install edx-sphinx-theme or equivalent (add edx-sphinx-theme to any appropriate requirements files)

  • Add edx_theme to the extensions list in (it adds the feedback form URL to the rendering context for each page).

  • Update the html_theme and html_theme_path values in so the theme can be located and loaded.

  • Set html_favicon to the path of the favicon.ico file in the theme.

  • Use the AUTHOR constant where appropriate in (This default is only provided as a convenience. The repository is free to use another value if appropriate).

  • To add an “Edit on Github” link to every page, add a dict called html_context, as detailed in the following example.

For example:

import os
import edx_theme

extensions = ['edx_theme']

copyright = '{year}, edX Inc.'.format(
author = edx_theme.AUTHOR

html_theme = 'edx_theme'
html_theme_path = [edx_theme.get_html_theme_path()]
html_favicon = os.path.join(html_theme_path[0], 'edx_theme', 'static', 'css', 'favicon.ico')

latex_documents = [
    (master_doc, 'edx-sphinx-theme.tex', 'edx-sphinx-theme Documentation',
     author, 'manual'),

html_context = {
    "display_github": True, # Integrate GitHub
    "github_user": "edx", # Username
    "github_repo": 'edx-sphinx-theme', # Repo name
    "github_version": "master", # Version
    "conf_py_path": "/docs/", # Path in the checkout to the docs root

Read the Docs Configuration

Because this theme is a Python package which needs to be installed, Read the Docs needs to be configured appropriately to be able to install it when performing documentation builds. Under Advanced Settings:

  • Install your project inside a virtualenv using install should be checked

  • Requirements file should point to a pip requirements file which includes open-edx-theme.


The full documentation is at


The code in this repository is licensed under the Apache Software License 2.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Please read How To Contribute for details.

Even though they were written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

Reporting Security Issues

Please do not report security issues in public. Please email

Getting Help

Have a question about this repository, or about Open edX in general? Please refer to this list of resources if you need any assistance.

Change Log

3.1.0 — 2021-01-17

  • Upgraded the sphinx version

3.0.0 — 2021-07-01

  • Updated to the HTML generated by docutils 0.17. What had been <div class="section"> is now <section>.

[2.1.0] - 2021-04-01

  • Adding “Edit on Github” button to breadcrums.

    This should make it easier for viewers to easily correct or update bad documentation.

[2.0.0] - 2021-01-28

  • Dropped Python 3.5 Support

[1.6.1] - 2020-01-19

  • Fix the navigation section headers so that they are visible.

[1.6.0] - 2020-12-17

  • Updated the edX logo.

[1.5.0] -2019-06-19

  • Requirements Update

[1.4.0] - 2018-12-04

  • Added support for the includehidden theme option. This shows a hidden toc in sidebar.

  • Upgraded many dependencies.

[1.3.0] - 2017-10-13

  • Added support for the navigation_depth theme option.

[1.2.0] - 2017-07-18

  • The text of the help and feedback links are now variables settable in the html_context.

  • Updated the copyright year.

[1.1.0] - 2017-06-28

  • Supply extension metadata to enable parallel builds.

[1.0.2] - 2016-11-09

  • Added favicon and .eot font file to distributed package.

[1.0.1] - 2016-10-14

  • Fixed two instances of line-height being slightly increased in an ugly way.

[1.0] - 2016-10-07


  • First release on PyPI.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edx-sphinx-theme-3.1.0.tar.gz (238.7 kB view hashes)

Uploaded source

Built Distribution

edx_sphinx_theme-3.1.0-py2.py3-none-any.whl (234.2 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page