Tutor plugin that simplifies branding an Open edX instance
Project description
This plugin, inspired in Indigo, allow changing the look and feel of Open edX installations. It can control the appearance of both legacy pages based on HTML (like the course catalog, dashboard, login, register, etc.), as well as MFE components.
Installation
pip install tutor-contrib-branding
Configuration
Customize colors
Most Bootstrap variables can be set using settings. These are the available variables and their defaults:
BRANDING_PRIMARY: #0000FF
BRANDING_SECONDARY: #454545
BRANDING_FONT_FAMILY: <no default>
BRANDING_BRAND: #9D0054
BRANDING_SUCCESS: #178253
BRANDING_INFO: #006DAA
BRANDING_DANGER: #C32D3A
BRANDING_WARNING: #FFD900
BRANDING_LIGHT: #E1DDDB
BRANDING_DARK: #273F2F
BRANDING_ACCENT_A: #00BBF9
BRANDING_ACCENT_B: #FFEE88
BRANDING_BACKGROUND: #ffffff
BRANDING_BG_PRIMARY: #ffffff
BRANDING_BODY: #FFFFFF
BRANDING_HOMEPAGE_BG_IMAGE: “”
You can add these settings to the config.yml file or using the tutor config --set "<setting>=<value>" command.
These settings affect the Bootstrap’s _variables.scss file in the comprehensive theme and in the MFE branding module.
You can also add CSS overrides using the BRANDING_EXTRAS and the BRANDING_OVERRIDES variables, to impact the comprehensive theme and the MFE branding module respectively.
E.g., this setting will add a CSS block to change the color of h1 texts in all MFE:
BRANDING_OVERRIDES: >- h1 { color: red; }
Managing fonts
Set BRANDING_FONTS_URLS to a list of URLS pointing to a zipped set of font files. Then use the tutor branding download-fonts command to download an unzip the font files to $(tutor config printroot)/env/build/openedx/themes/theme/lms/static/fonts and $(tutor config printroot)/env/plugins/mfe/build/mfe/brand-openedx/fonts if the mfe plugin is enabled.
Tip: copy the download url from the https://fonts.google.com site, for instance https://fonts.google.com/download?family=Roboto%20Flex.
E.g., to add Roboto Flex font, set:
BRANDING_FONTS_URLS: - https://fonts.google.com/download?family=Roboto%20Flex
Then run
tutor branding download-fonts
To add a specific font definition, use the BRANDING_FONTS setting, e.g.:
BRANDING_FONTS: >- @font-face { font-family: 'Roboto Flex'; src: url('RobotoFlex-VF.woff2') format('woff2 supports variations'), url('RobotoFlex-VF.woff2') format('woff2-variations'); }
Learn more about using flex fonts here.
Finally, set the font family using the BRANDING_FONT_FAMILY variable:
BRANDING_FONT_FAMILY: Roboto Flex
Downloading images
CMS and LMS images can be included as long as they can be accessed through a HTTP(S) request. Most important images are:
LMS:
favicon.ico
logo.png
CMS:
studio-logo.png
A banner can also be added to the homepage.
E.g., to add custom logos and banner set the following:
BRANDING_LMS_IMAGES: - filename: banner.png url: https://url/to/banner.png - filename: favicon.ico url: https://url/to/favicon.ico - filename: logo.png url: https://url/to/logo.png BRANDING_CMS_IMAGES: - filename: studio-logo.png url: https://url/to/studio-logo.png BRANDING_HOMEPAGE_BG_IMAGE: banner.png
Then run
tutor branding download-images
Custom HTML block in home page
You can add a custom HTML code to be rendered in the home page after the banner and before the list of courses by setting BRANDING_INDEX_ADDITIONAL_HTML.
Customize HTML certificate
By setting BRANDING_CERTIFICATE_HTML you can override the standard certificate with your own HTML code.
Tip: Create a file with the HTML code (e.g., branding_certificate_html.html) and then update the configuration from the file.
tutor config save --set BRANDING_CERTIFICATE_HTML="$(cat branding_certificate_html.html)"
Customizing static pages
You can set your own HTML content to the typical static pages by setting the corresponding variable:
BRANDING_STATIC_TEMPLATE_404
BRANDING_STATIC_TEMPLATE_429
BRANDING_STATIC_TEMPLATE_ABOUT
BRANDING_STATIC_TEMPLATE_BLOG
BRANDING_STATIC_TEMPLATE_CONTACT
BRANDING_STATIC_TEMPLATE_DONATE
BRANDING_STATIC_TEMPLATE_EMBARGO
BRANDING_STATIC_TEMPLATE_FAQ
BRANDING_STATIC_TEMPLATE_HELP
BRANDING_STATIC_TEMPLATE_HONOR
BRANDING_STATIC_TEMPLATE_JOBS
BRANDING_STATIC_TEMPLATE_MEDIA_KIT
BRANDING_STATIC_TEMPLATE_NEWS
BRANDING_STATIC_TEMPLATE_PRESS
BRANDING_STATIC_TEMPLATE_PRIVACY
BRANDING_STATIC_TEMPLATE_SERVER_DOWN
BRANDING_STATIC_TEMPLATE_SERVER_ERROR
BRANDING_STATIC_TEMPLATE_SERVER_OVERLOADED
BRANDING_STATIC_TEMPLATE_SITEMAP
BRANDING_STATIC_TEMPLATE_TOS
Use custom MFEs
You can create alternate versions of existing MFEs or new ones. Starting from Palm, Tutor will not accept MFE repo overrides in the configuration file. This plugin brings back that functionality, allowing you to specify the repo, port and version of the MFEs to override in the configuration file without the need to create a plugin just for this.
To override the MFE repo information, set the BRANDING_MFE variable as in this example:
BRANDING_MFE: authn: port: 2001 repository: https://github.com/myorg/myfork version: mybranch
Usage
tutor plugins enable branding tutor branding download-images tutor branding download-fonts tutor images build openedx tutor images build mfe tutor local settheme theme
In K8s deployments, you will need to push the docker images and restart Tutor.
License
This software is licensed under the terms of the AGPLv3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tutor_contrib_branding-16.1.1.tar.gz
.
File metadata
- Download URL: tutor_contrib_branding-16.1.1.tar.gz
- Upload date:
- Size: 51.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b09ddec89c9dc6b4405e52291fbc9338b08878e68aff13ad4668331bfdb80aae |
|
MD5 | 54a6b63572081b4d20c585618e8ae120 |
|
BLAKE2b-256 | 300e871e14d2ec671ce1fe641d225c047cb4289bb3a1a1fc38c90679765b4de8 |
File details
Details for the file tutor_contrib_branding-16.1.1-py3-none-any.whl
.
File metadata
- Download URL: tutor_contrib_branding-16.1.1-py3-none-any.whl
- Upload date:
- Size: 70.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5f92e912cca176c1ef0494db8306d34257ce9ad80b846ccede1e7dfbe568b29 |
|
MD5 | 2f8d40d1f51b8542f89718c3e32ca88a |
|
BLAKE2b-256 | 96a4367cb56a00a925abb4562ee8207802062cb35d26b5255303286288c0f32b |