Skip to content

Roll out hero media to lessons (pilot + cross-module)#123

Merged
jonfroehlich merged 1 commit into
mainfrom
feat/hero-media-rollout
Jun 24, 2026
Merged

Roll out hero media to lessons (pilot + cross-module)#123
jonfroehlich merged 1 commit into
mainfrom
feat/hero-media-rollout

Conversation

@jonfroehlich

Copy link
Copy Markdown
Member

What

Adds a captioned hero media block immediately after the TOC on 23 lesson pages, surfacing each lesson's climax demo as an opening hook. Follows the established pattern: descriptive iframe title= / video aria-label=, rotating forward-framing caption openers, and {: .fs-1 } captions.

Pilot (12)

  • cpx/{analog-input,button-piano,capacitive-touch,cpx-keyboard,cpx-mouse,digital-input,makecode,sensor-instrument} — YouTube/video demos lifted to top with descriptive iframe titles
  • communication/{p5js-serial-io,p5js-serial,serial-intro,web-serial} — lesson-climax <video> demos with "preview of what we'll build" captions

Rollout (11)

  • electronics/{electricity-basics,schematics,ohms-law} (conceptual figures, duplicated at top)
  • arduino/{arduino-ide,rgb-led-fade,tone} (tone uses controls not autoplay — has audio)
  • sensors/{hall-effect,photoresistors} (YouTube — no self-hosted assets)
  • esp32/{led-blink,tone,iot} (led-blink relocates its workbench video up; others duplicate)

Placement rule

Hero-first: TOC --- → hero → optional "what you'll learn" note → prose. Duplicate vs. relocate by distance — relocate (remove lower copy) when the source sits right under the first heading; duplicate when the original lives far down as a genuine preview→payoff.

Intentionally skipped (tracked in #122)

arduino/inside-arduino, advancedio/servo, esp32/capacitive-touch have only generic/placeholder media and need new media before they get a hero.

Notes for review

  • electronics heroes are conceptual figures duplicated at top + their original spot (schematics/ohms-law sit fairly high and prose references them "below" — glance for redundancy).
  • sensors heroes are YouTube, not self-hosted.
  • Optional follow-up: generate_og_posters.py --run on pages that newly gained an MP4 hero but lack image: (arduino/tone, esp32/led-blink).

Verification

bundle exec jekyll build — clean (Jekyll 4, ~4.8s). 23 files, +130/-55.

🤖 Generated with Claude Code

Place a captioned hero media block immediately after the TOC on each
lesson, surfacing the lesson's climax demo as an opening hook. Follows
the established pattern: descriptive iframe title / video aria-label,
rotating forward-framing caption openers, and `{: .fs-1 }` captions.

Pilot (12): cpx/{analog-input,button-piano,capacitive-touch,cpx-keyboard,
cpx-mouse,digital-input,makecode,sensor-instrument};
communication/{p5js-serial-io,p5js-serial,serial-intro,web-serial}.

Rollout (11): electronics/{electricity-basics,schematics,ohms-law};
arduino/{arduino-ide,rgb-led-fade,tone}; sensors/{hall-effect,
photoresistors}; esp32/{led-blink,tone,iot}.

esp32/led-blink relocates its workbench video up (removes the lower
copy); others duplicate where the source lives far down as a payoff.
Pages with only generic/placeholder media (arduino/inside-arduino,
advancedio/servo, esp32/capacitive-touch) were intentionally skipped
and are tracked for media completion in #122.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant