Skip to content

docs: hand-designed OG social card, drop social plugin#15

Merged
cjimti merged 4 commits into
mainfrom
docs/v1.2-followups
May 7, 2026
Merged

docs: hand-designed OG social card, drop social plugin#15
cjimti merged 4 commits into
mainfrom
docs/v1.2-followups

Conversation

@cjimti
Copy link
Copy Markdown
Contributor

@cjimti cjimti commented May 7, 2026

Summary

  • Replace the auto-generated mkdocs social plugin with a single hand-designed 1200x630 Open Graph banner at docs/images/og-card.png (SVG source committed).
  • Update site <head> so OG/Twitter tags point at the new card with explicit dimensions and alt text; flip twitter:card to summary_large_image site-wide.
  • Drop the mkdocs-material[imaging] extra and cairo/freetype/libpng/libjpeg/libffi/libz dev packages from the docs CI workflow (only needed by the removed social plugin).
  • Iterate on the card itself: padding, JSON pretty-print rendering, column alignment, descender clearance, and a final left-shift + hero shrink so the right-edge of the code panel aligns with the version-meta text.

Test plan

  • docs/images/og-card.png renders correctly at 1200x630
  • OG/Twitter previews resolve with og-card.png (Twitter validator, Slack unfurl, LinkedIn post inspector)
  • mkdocs build succeeds without the imaging extras / cairo deps in CI
  • Per-page page.meta.image branch in main.html still works for future opt-in

cjimti added 4 commits May 7, 2026 01:28
Site-wide Open Graph image is now a curated 1200x630 banner at
docs/images/og-card.png (rendered from the SVG source at
docs/images/og-card.svg via rsvg-convert). Tailwind / Stripe / Vercel
pattern: one strong brand banner reads better than N generic
auto-renders.

Composition: midnight base, dot-grid graph paper, copper radial glow
upper-right, 4px copper rule on the left edge, corner printer's
marks. Left holds the Plexara logomark eyebrow + "mcp-test" hero
wordmark + copper underline + tagline + capability bullets +
github.com/plexara/mcp-test URL. Right holds a stylized JSON-RPC
tools/call envelope rendered as a syntax-highlighted code block,
with a "200 OK / audited / postgres / 12 ms" footer that calls out
the audit-pipeline identity. The protocol IS the project's identity;
showing a real-looking call envelope says "this is an MCP server"
faster than any tagline.

main.html: OG fallback now points at og-card.png with explicit
og:image:width / og:image:height / og:image:alt + twitter:image:alt,
and twitter:card flips to summary_large_image site-wide. Per-page
page.meta.image branch retained for any future opt-in to per-page
cards.

mkdocs.yml: removes the social plugin entry. Comment block left in
place documenting the decision and how to opt back in.

.github/workflows/docs.yml: reverts the cairo / freetype / libpng /
libjpeg / libffi / libz dev-package install and the
mkdocs-material[imaging] pip extra; both were only needed by the
social plugin we just dropped.

The previous fallback (images/logo.png, 378x338) is left in the
repo as dead weight for ~30 days of crawler-cache continuity; can be
removed in a future cleanup commit.
Three render issues caught on the first pass:

1. Code panel top padding was too tight (38px from the title-bar
   separator to the first `{`); bumped to 38 -> 38 + line-height
   adjustment for cleaner breathing room. Panel height grew 370 -> 390
   to absorb the change.

2. SVG was collapsing whitespace at tspan boundaries, so what should
   have rendered as `"jsonrpc": "2.0"` came out as `"jsonrpc":"2.0"`
   (and same for every other key/value pair). xml:space="preserve" on
   the code body group fixes it. JSON now reads as standard
   pretty-print with one-space-after-colon throughout.

3. The "tools/call" file label in the title bar was centered at the
   panel's geometric center (x=220), which placed it visually
   off-center because the macOS-style dots take up the left ~58px.
   Moved center to x=249 (the midpoint of the actual available
   horizontal space, dots-end to panel-right-edge).

Plus minor cleanups: line-height standardized to 28px, dropped the
extra-spaces "column alignment" attempt that wasn't actually
aligning anything (tspans don't column-align in SVG), and the empty
arguments object renders as `{}` instead of `{ }`.
Two more pad fixes spotted on the second look:

1. The wordmark underline rule was at y=306, which sits inside the
   descender range of the 132px "p" / "t" letterforms (descenders
   extend to ~y=312). Moved the rule to y=322 so the gap between
   the bottom of the descender and the rule reads as breathing room
   instead of a visual collision.

2. The github.com/plexara/mcp-test URL at y=558 floated alone 80px
   below the bullets and 48px below the bottom of the right-column
   code panel (panel ends at y=510). The bottom of the card had an
   imbalanced "left tail" with the URL stranded by itself. Moved
   the URL to y=520 so its baseline aligns with the panel bottom;
   the two columns now share a footer baseline and the bottom 110px
   of the card reads as deliberate negative space instead of an
   abandoned half-row.
Tighter left margin (60px) and smaller hero glyph give the code panel
more room on the right while keeping right-edge alignment with the
version-meta text.
@cjimti cjimti merged commit c3eb5ae into main May 7, 2026
8 checks passed
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