How do I deploy the site?
Table of Contents
For the build script that does the work (projects/ores.lisp/src/ores-build-site.el) and the
output location, see CMake setup.
Question
How do I build the ORE Studio website locally?
Answer
Build the site with compass in --direct mode — it calls Emacs
directly (no cmake, no vcpkg), so it works in a light environment:
./compass.sh build --direct site
This invokes Emacs in batch mode against
projects/ores.lisp/src/ores-build-site.el, publishing every .org
file in the repository (excluding .packages, vcpkg, build) to
HTML. Output lands at build/output/site/.
In a full environment the equivalent deploy_site CMake target runs the
same script; for the raw CMake build (presets, targets, cmake --build
directly) see How do I build the system?.
Previewing locally
The site uses absolute /OreStudio/ paths (matching GitHub Pages).
Use compass to preview with the correct URL structure:
./compass.sh site serve
Then open http://localhost:<ORES_SITE_PORT>/OreStudio/ in a browser (port from .env; default 51004 for local1).
To rebuild and serve in one step:
./compass.sh site serve --compile
Use --port N to override the port.
Prerequisites
- Emacs on PATH. The script uses
org-publish,org-id, andoc-bibtexfrom a default Emacs install withorg-modeshipped. --directneeds no preset or build directory. (The full-environmentcompass build site/deploy_sitecmake path does: a.envwithORES_PRESETset, configured automatically on first build.)
When to re-run
Any time you add a new .org file, change a :ID: or #+title:, or
edit anything that affects link resolution. The target wipes
build/output/site/ first so links don't stale.
Script
projects/ores.lisp/src/ores-build-site.el is the Emacs script that compass build --direct
site runs. The equivalent deploy_site CMake target definition lives in
CMakeLists.txt near add_custom_target(deploy_site ...) and invokes the
same script.
Tested by
The build-site.yml GitHub Action publishes the site on every push to
main. The action's success is the integration test for this recipe.
See also
- CMake setup — output directory layout.
- How do I deploy the skills? — the parallel target for Claude Code skills.
- How do I deploy the settings? — the parallel target for Claude Code permissions.
- How do I generate PlantUML diagrams? — diagrams used inside the generated site.
- How do I serve the site locally? — preview the compiled site in a browser without pushing.