Feature: Site Build
Purpose
The project contains a static-site input directory (site.in/) and a generated static-site output directory (site.out/).
The Site Build feature provides the script that converts site.in/ into site.out/.
Requirements
scripts/site-build.shmust generate the static site insite.out/from the input insite.in/.- Each
site.in/*.txtinput file must producesite.out/<name>.html. - Every non-
.txt, non-template.htmlfile undersite.in/(authored assets such as scripts, styles, and images) must be copied verbatim intosite.out/. - The generated ETOPO globe assets (
etopo-hypsometric-0.5deg.pngandetopo-elevation-0.5deg.json) must be copied fromdataflow.out/intosite.out/when present, so the globe page is self-contained at publish time. - Generated output must be identified as generated.
- The script must accept optional input and output directory arguments.
- When no arguments are given, the script must use
site.in/andsite.out/relative to the repository root. - The script must be a POSIX shell script.
- The HTML page structure must live in
site.in/template.html, not in the build script. site.in/template.htmlmust contain the marker line<!-- SITE-CONTENT -->where page content is inserted.
Behavior
- Running the script recreates
site.out/fromsite.in/(pages and assets). - Re-running the script overwrites existing output deterministically.
- The 3D render page (
site.in/globe.txt) is built like any other page; it referencesglobe.jsand the generated ETOPO assets by relative path.
Dependencies
- None.