Themes
April 5, 2026 · View on GitHub
Trilium Presenter uses a simple theme system: each theme is a folder containing CSS notes and optional background images.
Selecting a Theme
In the Trilium Presenter widget (right panel), you'll see a Theme dropdown above the action buttons. Simply select your desired theme before clicking Present.
The dropdown lists all notes in your Trilium tree that have the #presenterTheme label. The selection defaults to the theme named Default but can be changed at any time.
Themes can live anywhere in your Trilium tree — they don't need to be inside the plugin folder. Just add the #presenterTheme label to a theme folder and it will appear in the dropdown.
Theme Structure
A theme folder contains these notes:
My Theme
Base (CSS code note — shared styles)
Title Slide (CSS code note + background.svg attachment)
Content Slide (CSS code note + background.svg attachment)
Handout (CSS code note — optional, for PDF handout styling)
- Base — Layout, image sizing, navigation, centering utilities
- Title Slide — Typography and styling for title slides, plus a background SVG as attachment
- Content Slide — Typography and styling for content slides, columns, code blocks, tables, plus a background SVG as attachment
- Handout (optional) — CSS for the print/PDF handout. If omitted, the plugin uses a built-in default handout style
Included Themes
| Theme | Description |
|---|---|
| Default | Clean light theme with blue accents |
| Dark | Dark background with red accents, light text |
Creating a Custom Theme
- Create a new folder anywhere in your Trilium tree (e.g., "My Corporate Theme")
- Add the label
#presenterThemeto the folder — this is how the plugin discovers themes - Add child notes (type: Code, language: CSS):
Base— Copy from an existing theme and modifyTitle Slide— Title-specific stylesContent Slide— Content-specific styles
- Attach backgrounds — Upload SVG files as attachments named
background.svgto the Title Slide and Content Slide notes - Select the theme — Your new theme will automatically appear in the widget dropdown
Tips
- Start by duplicating an existing theme folder, then modify
- Background SVGs should be 1920x1080 (16:9 Full HD) for optimal display
- CSS uses
.title-slideand.content-slideclass selectors - Test with the Example Presentation to verify your changes
Custom Slide Types
You can create additional slide types beyond title and content:
- Add a new CSS note to your theme folder (e.g., "Chapter Slide")
- The note title determines the CSS class: "Chapter Slide" becomes
.chapter-slide - Attach a
background.svgif desired - Label your slides with
#slideType=chapter
This allows unlimited slide types: chapter breaks, section dividers, quote slides, image-only slides, etc.
CSS Reference
The theme CSS uses these selectors:
| Selector | Applies to |
|---|---|
html, body | Global styles |
.slide-container | Full-viewport slide wrapper |
.slide-content | Content area with padding |
.title-slide .slide-content | Title slide layout |
.content-slide .slide-content | Content slide layout |
.title-slide h1, h2, h3 | Title slide headings |
.content-slide h1, h2, h3 | Content slide headings |
.content-slide .columns | Multi-column grid container |
.content-slide .columns-2 | Two-column grid |
.content-slide .columns-3 | Three-column grid |
.content-slide pre | Code blocks |
.content-slide blockquote | Blockquotes |
.progress-bar | Bottom progress indicator |
.nav-hint | Keyboard hint overlay |
img.img-tiny through img.img-xlarge | Image sizing classes |