Source for https://brenorb.com.
This repo contains Breno Brito's personal site, including:
- articles and notes in
_posts/ - profile and static pages such as
/about/,/projects/, and/media/ - machine-readable crawler context in
llms.txtandllms-ctx-full.txt
Requirements:
- Ruby with Bundler
- the gems from
Gemfile
Install dependencies:
bundle installRun locally:
bundle exec jekyll serveBuild the site:
bundle exec jekyll buildVerify that the Search Console regression routes exist and point to their canonical pages:
ruby scripts/check_indexing_routes.rbInstall the repo hooks:
./scripts/install-git-hooks.shThe pre-commit hook and CI both enforce a size limit for local feature: images in posts:
ruby scripts/check_feature_images.rbThey also verify that embedded media posts are covered by the transcript manifest and wired to generated chapter includes:
node scripts/check_media_sources.jsAudit post metadata coverage:
ruby scripts/audit_post_metadata.rbGenerate diarized raw transcripts one item at a time:
node scripts/transcribe_media_batch.jsRegenerate the per-post appendix data used by the site:
node scripts/build_media_appendices.jsThat appendix build keeps the raw transcript JSON untouched and only cleans obviously pathological repeated-word runs in the display layer, so lines like we we we we render as we... we.
Verify that every post with an embedded player is covered by the transcript manifest:
node scripts/check_media_sources.jsVerify that every manifest item has raw JSON, native --script output, and appendix data:
node scripts/verify_media_transcripts.jsRegenerate the chapter includes for posts that already have curated chapter specs:
node scripts/build_topic_chapters.js_config.ymlholds site metadata, SEO fields, and Jekyll settings.scripts/audit_post_metadata.rbreports missing post metadata such asdescription,excerpt,tags, andfeature.scripts/build-llms-ctx-full.rbregenerates the expanded AI context file.scripts/media_sources.jsonis the media manifest for transcript generation.scripts/check_media_sources.jsverifies that embeddedmediaposts are present in the manifest and include generated chapter navigation.scripts/topic_chapters.jsonis the curated chapter source of truth formediaposts.scripts/build_topic_chapters.jsrenders those curated chapters into_includes/generated/.scripts/verify_media_transcripts.jsverifies that each manifest item has raw transcripts, native script output, generated appendix data, and published diarization metadata.scripts/transcribe_media_batch.jsruns the frozenfscript+ diarization flow sequentially and writes both JSON and native--scriptoutputs.scripts/build_media_appendices.jsconverts raw transcript JSON into_data/media_appendices/.control.shprovides a small Podman-based workflow for containerized local serving.
For new posts, use this minimum front matter baseline:
titleexcerptdescriptiontagsfeaturefor shareable pages and posts
Use content_type when the post should render outside the default writing archive, especially for media and project entries.