This repo defines the files used to generate the official Cesium website.
The site is built using Quartz, a static site generator for building knowledge gardens. While Quartz is not natively setup to support generating API documentation, it is our goal to repurpose it for that given its other advantages and features as a generator plus the simplicity of its code.
The project uses a custom Node.js build script (build.js
) that handles workspace mirroring and customization copying for clean isolated builds.
# Just build (with build isolation)
npm run build
# Build for CI/CD (no build directory)
npm run build:ci
# Build and serve locally
npm run serve
# Build and serve with hot reload
npm run dev
# Just build with watch mode
npm run watch
Or directly:
# Just build (with build isolation)
node build.js
# Build without isolation (CI/CD mode)
node build.js --no-build-dir
# Build and serve locally
node build.js --serve
# Build and serve with hot reload
node build.js --serve --watch
# Just build with watch mode
node build.js --watch
- Mirrors workspace to
build/
directory (excluding files/directories specified in.gitignore
) - Copies customizations from
build/src/
tobuild/quartz_repo/
- Handles overrides by copying
build/src/quartz_overrides/
contents intobuild/quartz_repo/quartz/
- Runs Quartz build in the
build/quartz_repo/
directory - File watching (in serve/watch modes) syncs workspace changes to build directory
- Copies customizations directly from
src/
toquartz_repo/
- Handles overrides by copying
src/quartz_overrides/
contents intoquartz_repo/quartz/
- Runs Quartz build in the
quartz_repo/
directory - No file watching (not needed in CI/CD environments)
- Default mode:
build/public/
(generated by Quartz) - CI/CD mode:
public/
(generated by Quartz) - Isolated build: All build operations happen in
build/
keeping workspace clean (default mode only)
- Node.js (which you already need for Quartz)
- chokidar dependency for file watching
- ignore dependency for gitignore pattern matching