add publish infrastructure and update docs for public release
- publish/manifest: explicit file allowlist for public repo - publish/CLAUDE.md: sanitized version (no personal data paths) - publish/extract_config.example.yaml: generic paths and owner - publish.sh: orphan-branch publish script (single squashed commit) - site/.env.example: documents BINCIO_DATA_DIR and PUBLIC_EDIT_URL - README.md: updated pipeline diagram, quick start, project layout - CHEATSHEET.md: added bincio render and bincio edit sections, sidecar format reference, updated daily workflow
This commit is contained in:
@@ -19,9 +19,10 @@ GPX / FIT / TCX files
|
||||
│
|
||||
▼
|
||||
~/bincio_data/ ← BAS data store. Human-readable JSON + GeoJSON.
|
||||
edits/*.md ← Optional sidecar edits (titles, descriptions, photos).
|
||||
│
|
||||
▼
|
||||
bincio render / npm ← Astro build. Reads JSON, writes static HTML/JS/CSS.
|
||||
bincio render ← Merges sidecars → _merged/. Runs Astro build.
|
||||
│
|
||||
▼
|
||||
site/dist/ ← Drop anywhere. Open index.html. Done.
|
||||
@@ -46,17 +47,19 @@ bincio extract
|
||||
|
||||
# 4. Build the site (requires Node >= 20)
|
||||
cd site && npm install
|
||||
ln -sf ~/bincio_data public/data
|
||||
npm run build
|
||||
cp .env.example .env # configure BINCIO_DATA_DIR
|
||||
bincio render # merges edits + runs astro build
|
||||
# → open site/dist/index.html
|
||||
```
|
||||
|
||||
For live development with hot reload:
|
||||
```bash
|
||||
cd site
|
||||
ln -sf ~/bincio_data public/data
|
||||
npm run dev
|
||||
bincio render --serve # merges edits, links data, starts astro dev
|
||||
# → http://localhost:4321
|
||||
|
||||
# Optional: enable the activity edit UI
|
||||
bincio edit # starts edit server on http://localhost:4041
|
||||
# Set PUBLIC_EDIT_URL=http://localhost:4041 in site/.env
|
||||
```
|
||||
|
||||
---
|
||||
@@ -207,7 +210,11 @@ bincio/ Python package
|
||||
strava_csv.py Strava activities.csv reader
|
||||
writer.py BAS JSON + GeoJSON writer
|
||||
render/
|
||||
cli.py `bincio render` stub
|
||||
cli.py `bincio render` — merge + astro build/serve
|
||||
merge.py sidecar edit overlay (produces _merged/)
|
||||
edit/
|
||||
cli.py `bincio edit` — local edit server
|
||||
server.py FastAPI write API for the edit drawer
|
||||
schema/
|
||||
bas-v1.schema.json JSON Schema for BAS format
|
||||
SCHEMA.md Human-readable BAS specification
|
||||
@@ -219,10 +226,11 @@ site/ Astro project
|
||||
stats/index.astro Yearly heatmaps + totals
|
||||
components/
|
||||
ActivityFeed.svelte Card grid, sport filter, pagination
|
||||
ActivityDetail.svelte Map + stats + charts
|
||||
ActivityDetail.svelte Map + stats + charts + photo gallery
|
||||
ActivityMap.svelte MapLibre GL map
|
||||
ActivityCharts.svelte Observable Plot charts
|
||||
StatsView.svelte Heatmap, percentile scaling, sport filter
|
||||
EditDrawer.svelte Slide-in activity editor
|
||||
lib/
|
||||
types.ts BAS TypeScript types
|
||||
format.ts Formatting helpers
|
||||
|
||||
Reference in New Issue
Block a user