To avoid confusion about where these files come from, add a header
comment upon preprocessing that warns people to not modify the
generated files directly, and points them to the appropriate
template file.
When loading a Mako template from a Django template, the file
encoding of the Mako template was left unspecified. In some cases,
this would cause the Mako template to be interpreted as an ASCII
template, resulting in blowups if the template was encoded in
UTF-8 (e.g., lms/templates/footer.html).
Now, both the input and output encodings are specified as UTF-8.
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.