Redesign blog.rubygems.org to match rubygems.org#260
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Redesigns blog.rubygems.org to visually and structurally match rubygems.org (“hammy” template), replacing the legacy SCSS/jQuery stack with a Tailwind v4 + minimal vanilla-JS build while adding SEO, accessibility, and performance improvements.
Changes:
- Replace the legacy SCSS + jQuery/Modernizr/Prettify toolchain with Tailwind (via
jekyll-tailwindcss) and simplified, inline JS for the mobile menu. - Add/upgrade SEO features: canonical/OG/Twitter meta, JSON-LD (
WebSite+BlogPosting), sitemap + robots.txt +llms.txt. - Add Jekyll plugins for OG image generation (with local patches), lazy-loading images, and updated author/profile data plumbing.
Reviewed changes
Copilot reviewed 52 out of 61 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| stylesheets/scss/type.scss | Removes legacy typography SCSS. |
| stylesheets/scss/modules/shared.scss | Removes legacy shared layout SCSS. |
| stylesheets/scss/modules/search.scss | Removes legacy search SCSS. |
| stylesheets/scss/modules/post.scss | Removes legacy post SCSS. |
| stylesheets/scss/modules/nav/nav--v.scss | Removes legacy vertical nav SCSS. |
| stylesheets/scss/modules/nav/nav--paginated.scss | Removes legacy pagination nav SCSS. |
| stylesheets/scss/modules/ie8.css | Removes IE8-specific stylesheet. |
| stylesheets/scss/modules/header.scss | Removes legacy header SCSS. |
| stylesheets/scss/modules/footer.scss | Removes legacy footer SCSS. |
| stylesheets/scss/modules/error.scss | Removes legacy error page SCSS/animations. |
| stylesheets/scss/modules/button.scss | Removes legacy button SCSS. |
| stylesheets/scss/modules/blog.scss | Removes legacy blog index SCSS. |
| stylesheets/scss/load.scss | Removes legacy SCSS variables/mixins. |
| stylesheets/scss/layout.scss | Removes legacy layout SCSS. |
| stylesheets/scss/base.scss | Removes legacy reset/base SCSS and icon font wiring. |
| stylesheets/scss/application.scss | Removes SCSS entrypoint imports. |
| stylesheets/scss/_post.scss | Removes legacy post partial styles. |
| stylesheets/application.css.map | Removes generated legacy CSS source map. |
| javascripts/selectivizr.js | Removes legacy IE selector polyfill. |
| javascripts/prettify.js | Removes legacy syntax highlighting bundle. |
| javascripts/modernizr.js | Removes legacy Modernizr build. |
| javascripts/mobile-nav.js | Removes legacy jQuery mobile nav logic. |
| javascripts/lang-yaml.js | Removes legacy prettify language handler. |
| javascripts/lang-sql.js | Removes legacy prettify language handler. |
| javascripts/lang-css.js | Removes legacy prettify language handler. |
| javascripts/jquery.md5.js | Removes legacy MD5 implementation for Gravatar. |
| javascripts/application.js | Removes legacy jQuery boot code (prettify, sticky footer, gravatar). |
| index.html | Rebuilds homepage layout using Tailwind classes and new includes. |
| fonts/icomoon.svg | Removes legacy icon font SVG asset. |
| fonts/icomoon.woff | Legacy icon font artifact retained/changed in PR (binary). |
| fonts/icomoon.ttf | Legacy icon font artifact retained/changed in PR (binary). |
| fonts/icomoon.eot | Legacy icon font artifact retained/changed in PR (binary). |
| robots.txt | Adds sitemap reference and robots rules. |
| llms.txt | Adds curated LLM-friendly site description and key links. |
| atom.xml | Updates feed IDs to HTTPS, author metadata, and limits entries. |
| assets/css/styles.tailwindcss | Adds Tailwind build “marker” file for jekyll-tailwindcss output. |
| _tailwind.css | Adds Tailwind v4 entrypoint, theme tokens, and global/prose customizations. |
| _posts/2024-10-15-our-new-design.md | Removes per-post og_image (relying on new OG pipeline). |
| _plugins/md5_filter.rb | Adds Liquid MD5 filter for Gravatar hashing. |
| _plugins/lazy_images.rb | Adds post-render hook to enforce loading="lazy" + decoding="async" on images. |
| _plugins/jekyll_og_image_patches.rb | Adds patches for jekyll-og-image config coercion, Pango escaping, header sizing, and avatar overlay with caching. |
| _layouts/post.html | Adds BlogPosting JSON-LD include and removes post-page archive include. |
| _layouts/default.html | Rebuilds site shell (header/footer/nav), adds SEO meta, OG/Twitter cards, and inline mobile menu JS. |
| _includes/schema_website.html | Adds WebSite + Organization JSON-LD graph for homepage. |
| _includes/schema_blogposting.html | Adds BlogPosting JSON-LD for post pages. |
| _includes/nav_links.html | Adds shared nav links for desktop/mobile. |
| _includes/author_lookup.html | Adds author profile resolution from _data/authors.yml (including aliases). |
| _includes/article.html | Rebuilds index list + post template; adds byline avatar/profile and Tailwind typography. |
| _includes/archive.html | Rebuilds archive navigation with Tailwind styling and landmarks. |
| _data/authors.yml | Adds canonical author profiles, bios, aliases, and same_as links for JSON-LD. |
| _config.yml | Adds plugins, SEO defaults, OG image configuration, metadata, and excludes. |
| Gemfile | Moves Jekyll plugins into :jekyll_plugins group and removes old deps. |
| Gemfile.lock | Updates dependency graph for Tailwind + OG image generation + sitemap; updates platforms list. |
| CLAUDE.md | Points tooling guidance to AGENTS.md. |
| AGENTS.md | Adds contributor/agent guide covering commands, Tailwind workflow, and design conventions. |
| 404.html | Adds custom, styled 404 page. |
| .gitignore | Ignores generated OG image output and local tooling artifacts. |
| .github/workflows/build.yml | Installs libvips and builds/deploys via GitHub Pages workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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
Full redesign of
blog.rubygems.orgso it reads as a natural extension of rubygems.org rather than a separate site. The blog now uses the "hammy" template, with the same brand marks and navigation as the main site. The legacy SCSS/jQuery stack is replaced by a Tailwind v4 plus minimal vanilla-JS build, with SEO, accessibility, and performance work bundled in.