Skip to content

Pin the docs site config, and give it a favicon - #2224

Merged
mgravell merged 1 commit into
mainfrom
marc/docs-polish
Aug 18, 2026
Merged

Pin the docs site config, and give it a favicon#2224
mgravell merged 1 commit into
mainfrom
marc/docs-polish

Conversation

@mgravell

Copy link
Copy Markdown
Member

The docs site has been running on GitHub's defaults. That mostly works - the always-on plugin set does real work for us (jekyll-optional-front-matter is why front-matter-less markdown renders, jekyll-relative-links is why inter-doc links resolve, jekyll-titles-from-headings is where page titles come from) - but a few things fall out of it.

Site metadata came from the repo settings UI. jekyll-github-metadata fills site.title from the repo name and site.description from the repo description field, so editing the description on the repo page silently changed the site's <meta name="description"> and its Open Graph tags. Both are pinned now, along with url, which is what jekyll-seo-tag uses to build canonical and og:url.

No sitemap. jekyll-sitemap is not in the always-on set and has to be asked for; sitemap.xml and robots.txt both 404 today. Opting in generates both.

No favicon. The theme's head includes head-custom.html and ships a version with the favicon line commented out, so overriding that file is the intended hook. Built from the project logo. Modern browsers get the 256px PNG, everything else a 16/32/48 .ico at the site root, where the browser's automatic /favicon.ico probe finds it regardless of markup. Checked that it still reads at 16px on light and dark tab backgrounds.

The page title was printing twice. The theme renders the page title in its header banner, and that title is derived from the page's first heading - which is still in the body. titles_from_headings.strip_title drops the heading from the body once it has been promoted. The banner is unaffected, and the markdown keeps its headings, so GitHub's own rendering is unchanged.

Theme is unchanged (already Cayman).

There is no Ruby toolchain to hand, so this could not be rendered locally - worth a look on the deployed site once it lands.

The site was running on GitHub's defaults, which take the title and description
from the repo's name and description fields - so an edit in the repo settings UI
quietly changed the site's metadata. Those are pinned now, along with the URL,
which is what jekyll-seo-tag uses to build canonical and og:url.

Also: strip_title, so the page title stops being printed twice (once in the
theme's header banner, once as the heading it was derived from); jekyll-sitemap,
which is not in the always-on GitHub Pages plugin set, for the sitemap.xml and
robots.txt the site did not have; and a favicon built from the project logo,
hooked up via the head-custom.html include the theme provides for exactly this.

Claude-Session: https://claude.ai/code/session_01NxkjXSR7CSGzyw89tJJVtw
@mgravell
mgravell merged commit c0b2097 into main Aug 18, 2026
1 of 3 checks passed
@mgravell
mgravell deleted the marc/docs-polish branch August 18, 2026 13:42
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