Jekyll website for DotNetDevs.at (Minimal Mistakes theme), hosted on GitHub Pages.
bundle install
npm install
npm run serve
Local URL: http://127.0.0.1:4000
bundle exec jekyll build
bundle exec jekyll serve --incremental
npm test
npm run test:update-snapshots
npm run test:ci
_events/<slug>/index.md where <slug> is YYYY-MM-DD (or YYYY-MM-DD-talkN)._speakers/ using firstname-lastname.md._sponsors/.date, title, speakers, and public: true to be listed.permalink: /events/<slug>/ to keep stable URLs.speakers: must exactly match each speaker file name.YYYY-MM-DD) in filenames and front matter.Recommended event front matter:
---
date: 2026-01-20
permalink: /events/2026-01-20/
title: "Talk Title"
speakers:
- Speaker Name
InPersonLink: https://meetup.com/...
RemoteLink: https://meetup.com/...
RecordingLink: ""
Registrations: 0
Participants: 0
Viewers: 0
public: true
abstract: |
Talk description...
---
npm test before committing..github/workflows/jekyll.yml (build → test → deploy).npm run generate:onsite _events/2026-01-20/index.md
npm run generate:remote _events/2026-01-20/index.md
ruby scripts/generate_meetup_image.rb
npm run generate:recording-title -- _events/2026-01-20/index.md
Recording title image notes:
title, date, and speakers from event front matter._events/<slug>/Title for Recording.png, _events/<slug>/Start Streaming.png, and _events/<slug>/Stop Streaming.png and overwrites existing outputs.templates/Title for Recording.png, templates/Start Streaming.png, and templates/Stop Streaming.png.Title for Recording.png renders .NET Meetup <Month Year>, then title, then by <speaker(s)>.Start Streaming.png and Stop Streaming.png render title and by <speaker(s)>._events/2026-01-20/Title for Recording.png and _events/2025-12-16/Title for Recording.png with their existing examples; only minor anti-aliasing/font-rendering differences are acceptable.