Theme
This guide will help you tailor the look and feel of your Invenio repository instance to reflect your brand's identity. We'll walk you through step-by-step instructions for configuring key elements of your theme, including color schemes, typography, slogans, and logos.
The theming system used by Invenio is based on Semantic UI theming and the Invenio Semantic UI theme package.
The user interface of a typical Invenio repository site consists of configuration-driven page templates and themed Semantic UI elements, which are initially configured to use the default Invenio theme. You can customize the appearance of your site using the methods described below.
Theming Methods
Modifying Invenio Configuration
You can customize your site's theme by setting configuration options in either the invenio.cfg
file or the variables
file (where each key must be prefixed with INVENIO_
) located in the root of your repository project:
- ...
- invenio.cfg
- variables
For a complete list of possible configuration options, please refer to:
Creating/Overriding Files under the Branding Folder
You can also place custom files or customize existing ones under the branding
folder created in your project:
- __init__.py
- webpack.py
When customizing your brand theme, you'll likely spend most of your time working within the ui/branding/semantic-ui/less
and templates
folders.
Theme Hierarchy
Invenio applies the following theme hierarchy when applying any styling rules and variables:
Semantic UI theme (opens in a new tab)
Default theme settings provided by Semantic UI are applied.
Invenio Theme (opens in a new tab)
Deafult theme settings packaged by the Invenio Theme (opens in a new tab) are applied, extending or overriding pre-existing settings with custom values.
Branding
Your customizations made in the branding folder is applied on top.