Skip to content
master
Switch branches/tags
Code

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".
d05c657

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
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 https://demo.openedx.overhang.io.

Installation

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

Configuration

  • 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": "https://github.com/overhangio/tutor-indigo"}])

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=[]"

Customization

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">
        <h1>
            <%block name="pageheader">${page_header or _("Donate")}</%block>
        </h1>
        <p>
            <%block name="pagecontent">Add a compelling message here, asking for donations.</%block>
        </p>
    </section>
</main>

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

Troubleshooting

Please refer to the troubleshooting section of the Tutor documentation: https://docs.tutor.overhang.io/troubleshooting.html

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

License

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