Configuration
Everything works with no config. To customize, drop a oriel.toml at the root of
the served folder. Every key is optional; unknown keys are kept (plugins can read
their own). See examples/oriel.toml
for the annotated set.
Keys
| key | meaning |
|---|---|
title |
brand shown in the nav (default: folder name) |
landing |
path that / redirects to (default: figures, else first tab) |
tabs |
[href, label] nav entries, in order |
prose_dirs |
directories treated as prose (default: auto-discovered) |
figure_groups / figure_files |
globs selecting the figures index (empty disables it) |
dated_md / dated_dir |
regexes recognizing dated notes / directories |
font_prose / font_ui / font_mono / font_url |
typography, in one place |
[theme.light] / [theme.dark] |
override any palette CSS variable (a subset is fine) |
plugins |
path to a oriel_plugins.py (default: oriel_plugins.py) |
extra_prefixes |
extra URL prefixes a plugin is allowed to serve files from |
Theme
Re-skinning is a one-liner — override just accent, keep the rest:
[theme.light]
accent = "#2f6fa8"
[theme.dark]
accent = "#5aa0e0"
Any palette variable can be overridden on either side; unset ones fall back to the built-in defaults. Light/dark follows the OS by default, with a nav toggle.
Figures
The figures wall is off until you point it at something:
figure_groups = "experiments/*" # each matching dir is a group
figure_files = "**/*" # files under a group to include
PNG/SVG show as thumbnails, HTML figures get a live miniature preview, everything else links out. A PNG with an HTML sibling of the same name becomes the preview for its interactive twin.
Landing
/ redirects to landing if set and it's a file; otherwise to the figures index
if enabled, otherwise to the first prose tab.
Next: Plugins.