Plan: “Wildlife” Section for hehao98.github.io

Plan: “Wildlife” Section for hehao98.github.io

Status: implemented (first batch) — the /wildlife/ page is live in the repo with 39 photos covering outings from 2026-02-04 through 2026-03-29 plus 2026-07-05. Photos from DSCN0850 onward (2026-03-31 … 2026-07-05, ~120 files) are not yet reviewed — they will be added in a later pass.

What was built

PathPurpose
scripts/build_wildlife_images.pyResizes originals from D:\Photos\Wildlife into web/ (1600 px) + thumb/ (400 px); manifest mode extracts EXIF dates
images/wildlife/{web,thumb}/*.jpgDerivatives for the 39 keepers (~12.5 MB total); originals never enter the repo
_data/wildlife.ymlSingle source of truth: per-photo species/date/location + locations table
_pages/wildlife.mdThe /wildlife/ page: species catalog, filterable gallery, lightbox, map
_layouts/wildlife.htmlFull-width layout (no author sidebar)
assets/js/wildlife.jsFilters, lightbox, Leaflet map init (vanilla JS, no plugins)
assets/css/wildlife.cssGallery/catalog/lightbox styles
_data/navigation.yml“Wildlife” added to the top navigation

GitHub Pages safe-mode compatible: Liquid + client-side JS only. Leaflet is loaded from CDN only when at least one location has lat/lng; until then the map section shows a “coming soon” note.

How to add the remaining photos later

  1. Review the photo, decide keep/drop, identify species.
  2. Add an entry to _data/wildlife.yml (file, date, species, scientific, group, location, notes).
  3. Run python scripts/build_wildlife_images.py build — only new entries are generated; commit the new derivatives.

Not yet reviewed: DSCN0850–DSCN2217 (2026-03-31, 04-08, 04-09, 04-12/13, 04-17, 04-25, 04-27/28/29, 05-28…05-31, 06-02/03/04, 06-07, 06-13, 06-25, 07-05). Review notes so far live in the session scratchpad review.csv.

How to add locations (manual step, pending)

Photos have no GPS EXIF. In _data/wildlife.yml:

  1. Fill the locations: table (key, name, lat, lng) — one entry per place.
  2. Set each photo’s location: to the matching key (one place per outing date, so this is quick with editor find/replace on dates).
  3. The map, gallery captions, and lightbox pick the names up automatically.

Consider location granularity: precise park pins vs. city-level, especially for photos taken near home.

Keep-list (proposed — please review)

67 photos reviewed, 39 kept / 28 dropped. Rule: keep the best shot(s) per species per outing; drop blurry, obstructed, or near-duplicate frames.

Kept (in the site now)

FileSpeciesDateNote
DSCN0030Northern Cardinal2026-02-04male on power line
DSCN0040Northern Cardinal2026-02-06female
DSCN0049Hairy Woodpecker ⚠2026-02-06verify Hairy vs Downy
DSCN0061Pileated Woodpecker2026-02-06 
DSCN0066Fox Squirrel2026-02-09 
DSCN0198Red-bellied Woodpecker2026-02-15female
DSCN0210Red-bellied Woodpecker2026-02-15male, excellent
DSCN0233Eastern Gray Squirrel2026-02-15 
DSCN0252White-tailed Deer2026-02-22pair grazing
DSCN0265White-tailed Deer2026-02-22close side view
DSCN0267Bat (species uncertain) ⚠2026-02-22possibly Big Brown Bat — confirm
DSCN0332Blue Jay2026-03-01two jays
DSCN0339House Sparrow2026-03-01flock record
DSCN0370Eastern Gray Squirrel2026-03-02park bench
DSCN0373Eastern Gray Squirrel2026-03-02close profile
DSCN0553Mourning Cloak2026-03-16butterfly
DSCN0565Eastern Phoebe ⚠2026-03-16soft focus; only phoebe record
DSCN0594Canada Goose2026-03-16pair by creek
DSCN0645Mourning Dove2026-03-20golden hour, excellent
DSCN0648American Robin2026-03-20 
DSCN0673Red-tailed Hawk2026-03-20on building cornice
DSCN0746Cedar Waxwing2026-03-27 
DSCN0752Eastern Towhee2026-03-27close-up
DSCN0759Eastern Towhee2026-03-27best of set
DSCN0766Red-winged Blackbird2026-03-27epaulet visible
DSCN0778Golden-crowned Kinglet2026-03-27 
DSCN0781Northern Cardinal2026-03-27vs blue sky
DSCN0782Red-eared Slider2026-03-27clean profile
DSCN0787Muscovy Duck (domestic)2026-03-27pond pair
DSCN0788Mallard2026-03-27male close-up
DSCN0797Red-eared Slider2026-03-27red stripe clear
DSCN0801Red-eared Slider2026-03-27stretch pose, excellent
DSCN0816American Bison2026-03-27adult + calf
DSCN0819American Bison2026-03-27with reddish calf
DSCN0825American Bison2026-03-27herd scene
DSCN0832Red-eared Slider2026-03-277 turtles basking
DSCN0838Eastern Bluebird2026-03-29male, slightly soft
1f42c39b…Eastern Cottontail2026-04-24**no EXIF; file date used
DSCN2218Grey-headed Swamphen2026-07-05wetland reeds

⚠ = species ID needs your confirmation.

Dropped (reasons)

  • Blur / focus: DSCN0045, 0212 (also uncertain ID), 0565 kept instead of none, 1258 (rabbit hidden in leaf litter)
  • Obstructed / subject hidden: DSCN0193, 0194, 0238, 0293, 0328, 0830, 0841
  • Near-duplicates (better frame kept): DSCN0187 (→0781), 0254, 0256 (→0252/0265), 0372 (→0373), 0564 (→0553), 0749 (→0746), 0751 (→0752/0759), 0765, 0767 (→0766), 0796, 0798, 0799, 0800 (→0782/0797/0801), 0814, 0820 (→0816/0819), 0839 (→0838)
  • Distant / poor scene: DSCN0344 (goose flight silhouettes)
  • Domestic park ducks (excluded by default — say the word to include): DSCN0791, 0806, 0831. (DSCN0787 Muscovy pair was kept as it’s a distinctive species record; drop it too if you prefer wild-only.)

To restore any dropped photo: add its entry to _data/wildlife.yml and rerun the build script.

Remaining open items

  1. Confirm the ⚠ species IDs above.
  2. Fill in locations (see above).
  3. Review the remaining ~120 photos (DSCN0850+) and extend the catalog.
  4. Optionally rename 1f42c39b10c72b25494118c69c771634.JPG on the D: drive to something like DSC_rabbits_20260424.jpg (update the YAML entry to match).
  5. Local Jekyll build was not possible (no Ruby on this machine); the site was verified with static checks (YAML validity, image presence, Liquid review). Verify the GitHub Pages build after pushing.