Skip to content
Switch branches/tags

Latest commit

Thanks to the new plugin v1 architecture, we can now write themes as
tutor plugins, and this is awesome :) Previously, we could not render
the theme in an arbitrary folder such as "build/openedx/themes".

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Indigo, a cool blue theme for Open edX

Indigo is an elegant, customizable theme for Open edX.

Platform landing page

Note: This version of the Indigo theme is compatible with the Maple release of Open edX.

You can view the theme in action at


Indigo was specially developed to be used with Tutor (at least v12.0.0). If you have not installed Open edX with Tutor, then installation instructions will vary.

Since Tutor v13.2.0, Indigo can be installed as a Tutor plugin:

pip install tutor-indigo
tutor plugins enable indigo

Rebuild the Openedx docker image:

tutor images build openedx

Restart your platform:

tutor local start -d

You will then have to enable the "indigo" theme, as per the Tutor documentation:

tutor local settheme indigo


  • INDIGO_WELCOME_MESSAGE (default: "The place for all your online learning")
  • INDIGO_PRIMARY_COLOR (default: "#3b85ff")
  • INDIGO_FOOTER_NAV_LINKS (default: [{"title": "About", "url": "/about"}, {"title": "Contact", "url": "/contact"}])
  • INDIGO_FOOTER_LEGAL_LINKS (default: [{"title": "Terms of service", "url": "/tos"}, {"title": "Indigo theme for Open edX", "url": ""}])

The INDIGO_* settings listed above may be modified by running tutor config save --set INDIGO_...=.... For instance, to remove all links from the footer, run:

tutor config save --set "INDIGO_FOOTER_NAV_LINKS=[]" --set "INDIGO_FOOTER_LEGAL_LINKS=[]"


This plugin can serve as a starting point to create your own themes. Just fork this repository and modify the files as you see fit.

Changing the default logo and other images

The theme images are stored in tutorindigo/templates/indigo/lms/static/images for the LMS, and in tutorindigo/templates/indigo/cms/static/images for the CMS. To use custom images in your theme, just replace the files stored in these folders with your own.

Overriding the default "about", "contact", etc. static pages

By default, the /about and /contact pages contain a simple line of text: "This page left intentionally blank. Feel free to add your own content". This is of course unusable in production. In the following, we detail how to override just any of the static templates used in Open edX.

The static templates used by Open edX to render those pages are all stored in the edx-platform/lms/templates/static_templates folder. To override those templates, you should add your own in the following folder:

ls tutorindigo/templates/indigo/lms/templates/static_templates"

For instance, edit the "donate.html" file in this directory. We can derive the content of this file from the contents of the donate.html static template in edx-platform:

<%page expression_filter="h"/>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" />

<%block name="pagetitle">${_("Donate")}</%block>

<main id="main" aria-label="Content" tabindex="-1">
    <section class="container about">
            <%block name="pageheader">${page_header or _("Donate")}</%block>
            <%block name="pagecontent">Add a compelling message here, asking for donations.</%block>

This new template will then be used to render the /donate url.


Please refer to the troubleshooting section of the Tutor documentation:

In particular, do not open a GitHub issue to ask about your issues. Instead, go to the Tutor forum:


This work is licensed under the terms of the GNU Affero General Public License (AGPL).