Skip to content

cesiumlang/cesiumlang.org

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cesiumlang.org

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.

Build

The project uses a custom Node.js build script (build.js) that handles workspace mirroring and customization copying for clean isolated builds.

Usage

# 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

How it works

Default mode (with build isolation)

  1. Mirrors workspace to build/ directory (excluding files/directories specified in .gitignore)
  2. Copies customizations from build/src/ to build/quartz_repo/
  3. Handles overrides by copying build/src/quartz_overrides/ contents into build/quartz_repo/quartz/
  4. Runs Quartz build in the build/quartz_repo/ directory
  5. File watching (in serve/watch modes) syncs workspace changes to build directory

CI/CD mode (--no-build-dir)

  1. Copies customizations directly from src/ to quartz_repo/
  2. Handles overrides by copying src/quartz_overrides/ contents into quartz_repo/quartz/
  3. Runs Quartz build in the quartz_repo/ directory
  4. No file watching (not needed in CI/CD environments)

Output

  • 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)

Requirements

  • Node.js (which you already need for Quartz)
  • chokidar dependency for file watching
  • ignore dependency for gitignore pattern matching

About

Cesium website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published