Interactive topographic map generator built with SvelteKit and MapLibre GL JS.
- Node.js 18+ (tested with 24)
npm install
npm run dev -- --host 127.0.0.1 --port 5173npm run buildThe static output is written to build/ (GitHub Pages friendly). The app uses a base path of /topomapper in production builds.
npm run preview -- --host 127.0.0.1 --port 4173- Base path is
/topomapperwhenNODE_ENV=production; adjustpaths.baseinsvelte.config.jsif the repo name changes. - Deploy via the workflow
.github/workflows/pages.yml(builds and publishesbuild/to GitHub Pages). - A
.nojekyllfile instatic/prevents GitHub Pages from ignoring underscore-prefixed files.
- Run
npm run build - Publish the
build/folder
If the repo name changes, update paths.base in svelte.config.js.
- Main UI lives in
src/routes/+page.svelte. - Core app logic is in
src/lib/topomapper.js. - Global styles are in
src/app.css. - Static assets (logo/icon) are in
static/assets. - Contour styling includes a "Bold Every Nth" slider (0-20, default 10). Set to 0 to disable emphasis; the selected interval doubles the stroke width of the matching contour lines.