Static export
oriel serve is the live, primary mode — the folder is the site. When you need
to hand it to someone who won't run a server (GitHub Pages, Netlify, S3, or a zip
in an email), freeze it to plain HTML:
oriel build ~/dev/my-project # -> ./dist, ready to deploy
oriel build . --out site --base /my-repo # subpath hosting (project Pages)
What you get
Every route the server would render is written to dist/<route>/index.html, so
the URLs stay identical and the same links work with no rewriting:
- Rendered notes, directory listings, the figures index, and plugin pages become static HTML.
- Figures and images are copied alongside.
- The local KaTeX is bundled under
_oriel/, so math renders offline — no CDN. - A
.nojekyllfile is included so GitHub Pages serves everything verbatim (including the underscore-prefixed_oriel/asset directory). - Author-written relative links between notes are rewritten to root-absolute so they survive the static layout.
What doesn't survive
Search is a live server-side grep with no static equivalent, so it's omitted from a static build (the search box is dropped from exported pages). Everything else — prose, math, figures, dashboards rendered to HTML — exports cleanly.
Hosting under a subpath
Project GitHub Pages sites live at username.github.io/repo/, not the domain
root. Pass --base /repo so every root-relative link is prefixed:
oriel build docs --out site --base /oriel
Publishing this docs site
These docs are built with oriel itself. To publish them to GitHub Pages:
oriel build docs --out site --base /oriel
# then deploy ./site with your Pages workflow
Next: the Reference.