Jekyll blog at https://blog.rubygems.org. Auto-deploys to GitHub Pages on push to master (.github/workflows/build.yml). Ruby 3.4.7.
bin/setup # bundle install
bundle exec jekyll serve # Dev server at http://127.0.0.1:4000 (auto-rebuilds)
bundle exec jekyll build # One-shot build into _site/Tailwind v4 is compiled by the jekyll-tailwindcss plugin during the Jekyll build — no Node toolchain. Edit _tailwind.css; the plugin emits _site/assets/css/styles.css, which the layout links via /assets/css/styles.css. The empty assets/css/styles.tailwindcss source file is the marker that tells the plugin where to land the output — leave it as is.
_posts/YYYY-MM-DD-slug.md— ~470 posts back to 2004_layouts/{default,post}.html— page shell + article wrapper_includes/{article,archive,nav_links}.html— post card, year sidebar, nav_tailwind.css— Tailwind entry; holds@themetokens and.proseoverridesindex.html— blog index; reuses_includes/article.htmlwithindex = false_config.yml— site URL ishttps://blog.rubygems.org(seeCNAME)
Filename _posts/YYYY-MM-DD-slug.md. Required frontmatter:
---
title: "Post title"
layout: post
author: Author Name
author_email: author@example.com
---- Never edit
_site/assets/css/styles.css— that's compiled output, regenerated on every build. Edit_tailwind.css. - Use Tailwind tokens, not raw hex. All colors and the font stack are defined as
@themetokens in_tailwind.css— referencetext-orange-700,bg-neutral-050, etc. The token table is the source of truth; do not re-declare values in CLAUDE.md. - Don't override
prosestyles in markup. Tweak them in the.proselayer of_tailwind.cssso all posts stay consistent. - Light mode only — no dark variants.
- The blog mirrors rubygems.org (the "hammy" template). Header, footer, nav, type, and color should match the main site so the blog reads as an extension of it.
Reliable, open, technical. Content-first: the orange brand color (orange-500 #F74C27) and Titillium Web wordmark are the only signature elements; everything else stays out of the way of the writing. References: GitHub Blog, Rust Blog, Go Blog. Anti-references: marketing-heavy or startup-y aesthetics, animation, dark patterns.
Page shell: max-w-screen-xl. Article body: prose prose-lg inside max-w-3xl mx-auto (centered, ~768px). Display heading: text-3xl md:text-4xl font-bold text-neutral-800.