Adjust language of LMS emails to work specifically for Stanford. Here
there be dragons: lots of ugly conditionals that will need to be
changed once we develop a way to "theme" arbitrary strings throughout
the site.
Update the email change templates to fit with the rest of the main
site and use the standard notification template. Now they're far
prettier than before.
Instead of hardcoding things like the platform name, use the
corresponding overrideable settings instead. This allows themes to
control emails as well.
Configure the technical support email address in the settings so that
themes can override with an email of their own in the appropriate
env.json file in production.
Much like the work done on the default (unauthenticated) index view,
adjust the background image (actually, let the CSS handle it instead
of an embedded `style` attribute in the HTML). Other adjustments
(language, logo) are made for Stanford specifically and need to be
reworked for general theming.
Use the theme's own Google Analytics template (should probably
update to just use parameters once the default GA template is kept
up-to-date). Don't link to the university profile page when a theme
is enabled, as that's an edX-specific feature. Adjust social links
for Stanford, but leave them alone for everyone else (this is just
a hack for the 6/11/13 launch).
Again, most of the work here is replacing "edX" with the
`PLATFORM_NAME` setting. Need to ensure that the `news` boolean is
indeed a falsy value as well, or just add a `theme_enabled()` test
to disable the news block entirely (since news is an edX-specific
feature).
As with the registration page, the bulk of the theming work here is
replacing instances of "edX" with the `PLATFORM_NAME` setting. There
is also a change to the "help" section, disabling it if the FAQ
marketing link isn't set.
This mostly involves rewriting all mentions of "edX" to reference the
`PLATFORM_NAME` setting instead. However, there are also some
Stanford-specific rewrite hacks that need to be pulled out
eventually. Additionally, don't display links to marketing pages (or
the sections referencing those marketing pages) if the links are not
defined by the theme.
This setting is used to control the display name of the platform. The
default is "edX", but themes may wish to override. For example,
Stanford will use "Stanford Online" for the time being.
Adjust the now-defunct landing page so that it doesn't render much
of the edX-specific marketing info (social links, press releases,
university partners, etc.) if a theme is enabled.
Additionally, if the Stanford theme is enabled, add in some school-
specific language and adjust the video modal to play a Stanford one.
Allow themes to inherit from the default navigation bar and override
pieces of it, including the main logo, the links that display to the
right of the logo, and the links inside the dropdown menu (with the
exception of the `Log Out` link.
In addition, this adds an empty block at the very top so that themes
can place a branding bar at the top of the page. (Stanford identity
guidelines require this: see https://identity.stanford.edu.)
The `FAVICON_PATH` setting determines the location of the favicon for
the site. It's automatically adjusted when a theme is enabled,
establishing the convention that themes will place their favicon in
`static/images/favicon.ico`.
Provide the appropriate switches to adjust based on whether or not a
theme (in particular, the Stanford theme) is enabled in the settings.
For now, these changes are very specific to Stanford. This is because
the template architecture needs some reworking to generalize nicely.
Rather than directly invoke command-line Python (and Mako) from the
assets Rakefile, or call an external Python script, use a Django
management command to preprocess all asset template files.
An "asset template file" is defined as a static asset file with a
file extension indicating that it needs to be run through a template
engine prior to Sass/CoffeeScript compilation or packaging with other
assets. The preprocess_assets management command will look through
all of the files listed in the `STATICFILES_DIRS`, preprocessing each
as needed. Preprocessing strips off the special template file
extension, creating a new file in the process.
Currently, the only variable accessible in an asset template file is
the `THEME_NAME`, defined in the settings.