This repository publishes small, working Observable Framework projects without duplicating a Framework installation for every example. Human-authored project files live in directories ending in _src; generated GitHub Pages sites live in matching _dist directories.
Standalone HTML visualizations and data-driven documents live separately in aaronkyle/dataviz.
Install dependencies once at the repository root:
npm installList the available Framework projects:
npm run projectsPreview or build one project by its name, without the _src suffix:
npm run dev -- noaa-sea-level-rise
npm run build -- noaa-sea-level-riseBuild every source project:
npm run build:allThe root installation and package-lock.json are shared by every project. A successful root build replaces the matching tracked output—for example, noaa-sea-level-rise_src builds into noaa-sea-level-rise_dist. The previous published output is preserved if a build fails.
| Project | Portable source | Published site |
|---|---|---|
| 3-band CIR 8-bit imagery | source | site |
| ICIMOD land cover of Nepal | source | site |
| PAD-US web services | source | site |
| Bhutan spatial data | source | site |
| Key Biodiversity Areas | source | site |
| MassGIS aerial photography | source | site |
| NOAA sea-level rise | source | site |
| NOAA urban heat-island mapping | source | site |
| Pretty tables | source | site |
| World Bank Gender Data Portal | source | site |
| WDPA | source | site |
| Leaflet legacy build | — | site |
| Protected areas legacy build | — | site |
| WDPA India legacy build | — | site |
Each _src directory is also a portable Framework project with its own package.json and observablehq.config.js. Copy one source directory and run:
npm install
npm run dev
npm run buildOutside this repository, an independent project builds into a conventional local dist directory. Inside this repository, the root build command redirects output to the sibling _dist directory for GitHub Pages hosting.
- Edit a
_srcproject, then commit its rebuilt_distoutput with it. - Do not hand-edit
_dist; the next build replaces it. - Do not commit
node_modules, Framework caches, or project-specific lockfiles. - Keep dependencies shared through the root
package-lock.jsonwhere possible. - Retain a project-specific config and package file so each source project remains portable.
- A
_distdirectory without a matching_srcdirectory is a preserved legacy publication.