Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NH 48 · 4,000 Footers

An interactive tracker for the New Hampshire 48 four-thousand-footers, styled after the classic minimalist poster. Each peak is a triangle; log a climb and its triangle fills with the color you chose. Click any peak to see the ascents — date, note, Strava link, and photos.

Live site: https://nniiicc.github.io/nh4k/

How it works

There is no database and no login. GitHub Issues are the data store.

  1. You log a climb by opening an issue from the Log a summit form.
  2. A GitHub Action (.github/workflows/build-and-deploy.yml) runs on every issue event.
  3. It parses every open summit-labeled issue into data/summits.json and redeploys the site to GitHub Pages.
  4. The page reads data/summits.json and fills in the poster.
Issue form  ──▶  GitHub Action  ──▶  data/summits.json  ──▶  GitHub Pages
(you)            (build_summits.py)   (generated)            (the poster)

Logging a climb

Open Issues → New issue → Log a summit, or go straight to the form. Pick the peak, set the date, choose a fill color, and optionally add a Strava link, a note, and photos (drag image files into the Photos box). Submit — the poster updates in a minute or two.

  • Traverses: select more than one peak in the Peak(s) dropdown and the whole hike — date, color, Strava link, note, and photos — is applied to every peak you tagged. Each peak's detail card lists the others from that day ("Traverse · also …").
  • Repeat ascents: just log the peak again in a new issue. It shows every ascent; the triangle uses the color of your most recent one, with a small badge.
  • Editing / removing: edit the issue to change details, or close/delete it to remove that ascent. Every change rebuilds the site.

One-time setup

  1. Push this repo to github.com/nniiicc/nh4k and make it public (required for free Pages and for embedded issue-attachment photos to load).
  2. Run the workflow once: Actions → Build and deploy → Run workflow (or just file your first summit issue). This creates the gh-pages branch with the built site.
  3. Settings → Pages → Build and deployment → Source: Deploy from a branch → Branch: gh-pages / (root) → Save. Your site publishes to https://nniiicc.github.io/nh4k/.

The workflow publishes to the gh-pages branch (like paper-feed-nmw) rather than using Pages "artifacts," so re-running a build is always safe.

Local development

# Serve the site
python3 -m http.server 8000        # then open http://localhost:8000

# Rebuild summit data from the live repo's issues
GITHUB_REPOSITORY=nniiicc/nh4k python3 scripts/build_summits.py

# Or test the parser against sample issues (no network)
python3 scripts/build_summits.py --sample scripts/sample_issues.json

Customizing

  • Colors: edit data/palette.json (name → hex). Keep the names in sync with the Fill color dropdown in .github/ISSUE_TEMPLATE/log-summit.yml.
  • Peaks / layout: data/peaks.json is the source of truth for the 48 peaks and their display order (elevation, descending). The issue-form dropdown lists the same names.

Files

Path Purpose
index.html, assets/ The interactive poster (static, vanilla JS).
data/peaks.json The 48 peaks + elevations + order.
data/palette.json Named fill colors.
data/summits.json Generated from issues by CI.
.github/ISSUE_TEMPLATE/log-summit.yml The climb-logging form.
scripts/build_summits.py Issue → JSON parser.
.github/workflows/build-and-deploy.yml Build + deploy on issue events.

About

All the 4,000 foot peaks in New Hampshire - as an interactive app that doesn't require persistent storage (everything is logged through issues)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages