docs: hand-designed OG social card, drop social plugin#15
Merged
Conversation
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.
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
docs/images/og-card.png(SVG source committed).<head>so OG/Twitter tags point at the new card with explicit dimensions and alt text; fliptwitter:cardtosummary_large_imagesite-wide.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).Test plan
docs/images/og-card.pngrenders correctly at 1200x630og-card.png(Twitter validator, Slack unfurl, LinkedIn post inspector)mkdocs buildsucceeds without the imaging extras / cairo deps in CIpage.meta.imagebranch inmain.htmlstill works for future opt-in