Static export

on this page

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 .nojekyll file 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.