feat(site): CI, local dev, SEO plugins, Ruby pin#4
Draft
vishalgattani wants to merge 16 commits into
Draft
Conversation
- .github/workflows/ci.yml: build + htmlproofer on every non-master push/PR - scripts/serve.sh: local Jekyll dev server at localhost:4000 - jekyll-seo-tag + jekyll-sitemap added to Gemfile and _config.yml - .ruby-version pinned to 3.1.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Moves serve.sh from scripts/ into build/ and adds BUILD_INSTRUCTIONS.md covering macOS prerequisites (Homebrew, rbenv, Ruby 3.1.0, Bundler), dependency install, and localhost serving with a troubleshooting table. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.1.x reached end of life and no longer receives security updates. Updated .ruby-version, CI workflow, and BUILD_INSTRUCTIONS.md to 3.3.11. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Checks for and installs Homebrew, rbenv, Ruby 3.3.11, Bundler, and project gems in sequence. Safe to re-run — each step skips if already satisfied. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ed up Without explicit rbenv init, macOS falls back to the system Ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.6, which doesn't have the right Bundler version. Adding PATH + rbenv init forces the pinned 3.3.11 version. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Without this, Jekyll renders build/BUILD_INSTRUCTIONS.md as a site page. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- _config.yml: trips collection (permalink /trips/:name, layout trip) - _layouts/trip.html: Leaflet.js map at top of each trip page; renders dropped pin (place), polyline (road), or dashed great-circle arc (flight) from frontmatter stops array - _includes/trips/trip-card.html: card with OSM static tile thumbnail, trip type badge, date, and tags - _includes/trips/index.html: card-columns grid over site.trips - _includes/trips/map-section.html: reusable sub-section map include for use inside trip markdown bodies - pages/trips.html: /trips/ listing page in navbar - _trips/: two sample trips (Colorado place pin, MD→VT road trip with a Day 2 section map) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ghts - trip-card.html: replace broken static image with non-interactive Leaflet mini-map (pointer-events: none so card link still works); road trips fetch actual route from OSRM public API; flight uses great-circle arc - trip.html: road trips now fetch OSRM route geometry instead of straight line; falls back to straight line if OSRM unavailable; fixed 400px height - map-section.html: same OSRM routing; fixed 400px height (up from 300px) - index.html: load Leaflet CSS/JS once for all card maps on listing page Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Extract all map rendering into assets/js/trip-map.js (TripMap.render). trip.html, map-section.html, trip-card.html are now thin wrappers. New stop types: numbered, emoji, circle, label, polygon, circle_area, freeform. All support `note` (popup body) and `color` overrides. Add _trips/2024-08-rockies-demo.md exercising every marker type. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- _posts/2024-08-15-how-to-add-a-trip.md: full reference for trip frontmatter, all marker types, section map naming convention, and a minimal example - _trips/2024-08-rockies-demo.md: add day1_stops so both day1 and day2 section maps are shown; clarify that any name + _stops works Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
TripMap.render was undefined on /trips/ because trip-map.js was only loaded in _layouts/trip.html, not in _includes/trips/index.html. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github, gitlab, instagram, linkedin were all missing /vishalgattani suffix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Top of /blog/tags now shows a clickable tag cloud with post counts. Each tag heading also shows a count badge. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds Projects / Blog / Trips / Research buttons below the bio so visitors have a clear call-to-action from the home page. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Jekyll was processing gem template files inside vendor/bundle/ and failing on a .erb file with an invalid date. Excluding vendor/ in _config.yml and setting BUNDLE_PATH in CI prevents this. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/ci.yml— builds the Jekyll site on every non-master push/PR; runs htmlproofer on internal linksscripts/serve.sh— runbash scripts/serve.shto spin up local dev server at http://localhost:4000 with livereloadjekyll-seo-tag+jekyll-sitemap— SEO meta tags and/sitemap.xml, both GitHub Pages whitelisted.ruby-version— pins Ruby to 3.1.0 so CI and GitHub Pages use the same versionTest plan
bash scripts/serve.sh→ site loads at localhost:4000 with no build errors🤖 Generated with Claude Code