Catalog refresh, brand mark, blog positioning and the pg-partsmith post - #5
Merged
Conversation
The catalog still described the ecosystem as of May: eight libraries and two tools. Four libraries shipped since (servicewright, clientwright, grpc-server-kit, grpc-client-kit) and every package has released again. - Libraries page: twelve packages in four layers (service runtime and transports, data and messaging foundations, reliability patterns, database operations and testing), blurbs rewritten from each repo's current README and pyproject. Two claims that were wrong are gone: redis-client-kit never had OpenTelemetry spans, and idempotency-kit gives once-per-key execution, not at-most-once. - A facts line under each card: version, Python floor, one shape word. The version is the one current at writing time and is refreshed from PyPI's JSON API on load (CORS is open there), so the page does not go stale between deploys; offline, the static text stays. - Tools page: mr-review is a web UI plus API behind docker compose now, not a CLI; mattermind gained the TUI chat and JSON mode; the pg-partsmith CLI and container image get a card of their own. - Home hero, home teasers and the footer column follow the new list. - A card for python-library-template, the Copier template every library starts from.
The libraries page reserved a navigation column it never used, so the content sat off-centre, and twelve tall two-column cards took several screens to scan. Hovering a card also underlined every word in it. - Libraries and Tools hide the navigation sidebar like the home page does, and sit in a 64rem column. - One row per package: name and one sentence on the left, version pill, Python floor, one shape word and a GitHub link on the right. The row is the docs link (stretched link on the name); the version pill links to PyPI and still refreshes live. - Groups keep their headings, gain a one-line note, and get anchors; a chip row under the hero jumps to each group with its item count. - Home teasers use the same rows, so the three pages share one component; the old card-list CSS is gone. - Chips are neutral again (Material's link colour was winning), and block links no longer underline on hover.
- Service runtime & transports reads servicewright, clientwright, grpc-server-kit, grpc-client-kit: the runtime first, then the HTTP client, then the gRPC pair. The home teaser follows. - Every absolute http(s) link opens in a new tab with rel="noopener". Internal navigation is always relative here (Material emits it that way), so an absolute href means leaving the site -- a library's own docs, GitHub, PyPI. Done once in bedrock.js so blog posts get it too; an author-set target is left alone.
Every library's docs live under bedrock-python.github.io, the same host as this site, so a click there is not leaving. Only links to another host (GitHub, PyPI, Zensical) open in a new tab. The host comes from the canonical link so a local zensical serve behaves like production.
A post is not in the nav, so with navigation tabs its primary sidebar is "lifted" with no active section to show and renders as a blank column. That column stays: it mirrors the TOC and keeps the article centred on the page. Instead, the grid widens to 1440px on pages with no active nav item, so the text column grows and the TOC moves outward. The reading measure is 42rem: Material scales the root font with the viewport (20px from 1220px, 22px from 1600px), so that is 840-924px, about 80 characters of body text -- the old "44rem, ~704px" comment assumed a 16px rem that this theme never has. Code blocks, admonitions, details and tab sets share the measure so they line up with the prose.
Body text was 1rem, which under Material's viewport-scaled root font is 20-24px -- larger than it looks in the stylesheet, where the comments assume a 16px rem. It is .8125rem now: 16px on a 1440px laptop, 18px from 1600px, 19.5px from 2000px. Code blocks drop to .75rem so the mono face stays a step below the prose, as the theme intended.
The site used the theme's stock book icon. It now carries the bedrock-python mark: logo.svg in the header and the drawer, and a lifted-palette logo-dark.svg for the slate scheme (the SVG loads through <img>, so it cannot follow currentColor, and the graphite faces vanished on the dark header). The footer shows the dark mark on its slab. Icons: favicon-32.png from config, logo.svg declared after it so browsers that render SVG icons take it and Safari keeps the PNG, plus a 180px apple-touch-icon on the cream ground since iOS paints black behind transparency. Open Graph and Twitter card meta on every page with one 1200x630 social card: the horizontal lockup on cream. Title and description follow the page; posts are og:type article. docs/assets also hosts the brand kit -- the 1024px mark, horizontal, alternate, mono and stacked lockups -- so other repos can link to it.
…ay what the blog is for The welcome post now tells why the libraries exist instead of listing them, and its last section no longer promises a post per release. Two third-party libraries and one Medium article get a Recommended section of their own.
Changelogs cover releases. The blog's lede, its description and the category table say so, and the empty Releases category goes.
Two ways a partitioned table gets you out of bed, and the library that grew out of them, one failure at a time: the plan you read first, ownership by catalog bounds, async and sync, the command line and the image, hooks from a document, and the page written for an assistant. Featured on the home page, listed under Libraries and Tools.
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
Everything on
docs/catalog-refreshsince the redesign, in the order it happened:zensical build --cleanreports no issues. Merging deploys throughdocs.yml.