From 8a9391efe1bf9f5da5f04c5e31b235dfcd2a06a4 Mon Sep 17 00:00:00 2001 From: "Admin (Paperclip)" Date: Tue, 27 Oct 2026 00:01:04 +0000 Subject: [PATCH 1/2] Add Open Graph social preview image Add a 1200x630 social preview card for git-scm.com, used as the site-wide og:image and as a per-page card for every manual page. - script/og-card-design.svg: the canonical card design (the maintainers' own SVG, To1ne's proposal) with all-upper-case PLACEHOLDERS (__HERO_TITLE__, __HERO_FONT_SIZE__, __VERSION__) for the two variable values, so the template is never edited by regex. - script/render-og-card.js: renders the site-wide card, substituting the placeholders verbatim and reading the current version from hugo.yml at render time. - script/render-og-cards.js: renders one card per manual page (command name + one-line tagline), auto-shrinking long titles so they never overflow the canvas. - layouts/_default/baseof.html: emits og:image/twitter:image with width/height/alt, pointing docs pages at their per-page card and everything else at the site-wide card. - .github/actions/deploy-to-github-pages/action.yml: renders the per-page cards into public/images/og at deploy time. - static/images/og-image.png + static/images/og/git-clone.png: committed sample renders. Learnings from earlier iterations (screenshot-based card, hand-made card, first design pass) are abandoned; the final design is the maintainers' own SVG, used verbatim. --- .../actions/deploy-to-github-pages/action.yml | 8 + layouts/_default/baseof.html | 17 ++ script/og-card-design.svg | 94 +++++++++ script/og-card.svg | 94 +++++++++ script/render-og-card.js | 60 ++++++ script/render-og-cards.js | 181 ++++++++++++++++++ static/images/og-image.png | Bin 0 -> 36371 bytes static/images/og/git-clone.png | Bin 0 -> 48750 bytes 8 files changed, 454 insertions(+) create mode 100644 script/og-card-design.svg create mode 100644 script/og-card.svg create mode 100644 script/render-og-card.js create mode 100644 script/render-og-cards.js create mode 100644 static/images/og-image.png create mode 100644 static/images/og/git-clone.png diff --git a/.github/actions/deploy-to-github-pages/action.yml b/.github/actions/deploy-to-github-pages/action.yml index a572044af0..48bb50aacc 100644 --- a/.github/actions/deploy-to-github-pages/action.yml +++ b/.github/actions/deploy-to-github-pages/action.yml @@ -94,6 +94,14 @@ runs: npm install @playwright/test && node script/html-to-pdf.js -i public/cheat-sheet.html + - name: render per-page Open Graph cards + shell: bash + run: | + # Every manual page gets its own OG card (command name + one-line + # tagline, embedded at render time with the current version), so each + # docs URL has a distinct social preview. See script/render-og-cards.js. + node script/render-og-cards.js --out public/images/og + - name: run Pagefind ${{ env.PAGEFIND_VERSION }} to build the search index shell: bash run: npx -y pagefind@${{ env.PAGEFIND_VERSION }} --site public --write-playground diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 533c64709f..22eb8f351a 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -63,6 +63,23 @@

Redirecting…

{{ .Page.Title | default "Git" }}{{ if (isset .Params "subtitle") }} - {{ .Params.subtitle }}{{ end }} + {{ $og_image := "https://git-scm.com/images/og-image.png" }} + {{ if (isset .Params "docname") }}{{ $og_image = printf "https://git-scm.com/images/og/%s.png" .Params.docname }}{{ end }} + + + + + + + + + + + + + + + {{ $style := resources.Get "sass/application.scss" | resources.ExecuteAsTemplate "application.scss" . | css.Sass | resources.Minify | fingerprint }} diff --git a/script/og-card-design.svg b/script/og-card-design.svg new file mode 100644 index 0000000000..addbca897f --- /dev/null +++ b/script/og-card-design.svg @@ -0,0 +1,94 @@ + + + +git-scm.com__HERO_TITLE__Free and open source distributed version control systemLatest: v__VERSION__ diff --git a/script/og-card.svg b/script/og-card.svg new file mode 100644 index 0000000000..7e8b1ac888 --- /dev/null +++ b/script/og-card.svg @@ -0,0 +1,94 @@ + + + +git-scm.comGitFree and open source distributed version control systemLatest: v2.56.0 diff --git a/script/render-og-card.js b/script/render-og-card.js new file mode 100644 index 0000000000..5b8a138e91 --- /dev/null +++ b/script/render-og-card.js @@ -0,0 +1,60 @@ +#!/usr/bin/env node +// Generate static/images/og-image.png (1200x630) — the site-wide social card +// used as the fallback for non-docs pages (homepage, book, etc.). +// +// Design source: the maintainers' own SVG (To1ne's proposal, posted by dscho +// on PR #2233) — script/og-card-design.svg. This script loads that exact file +// and substitutes only the hero title (tspan #tspan4) with "Git" and the +// version pill (tspan #tspan6) with the current version. Everything else — +// logo, colors, fonts, sizes, transforms — comes verbatim from the +// maintainers' file, so the site-wide card matches the per-page docs cards +// and the maintainers' reference pixel-for-pixel. +// +// Usage: +// node script/render-og-card.js [worktree-path] +// +// The version is read from hugo.yml (latest_version) at render time, so the +// card stays in sync whenever a new Git version is published. The image is +// regenerated as part of the Git version-bump workflow — see +// `.github/workflows/update-git-version-and-manual-pages.yml`. +// +// Rendered with the repo's existing Playwright/Chromium stack. +const { chromium } = require('playwright'); +const fs = require('fs'); +const path = require('path'); + +const WORKTREE = path.resolve(process.argv[2] || '.'); +const OUT = path.join(WORKTREE, 'static', 'images', 'og-image.png'); +const DESIGN = fs.readFileSync(path.join(WORKTREE, 'script', 'og-card-design.svg'), 'utf8'); + +function currentVersion() { + const hugo = fs.readFileSync(path.join(WORKTREE, 'hugo.yml'), 'utf8'); + const m = hugo.match(/^\s*latest_version:\s*([0-9][^\s]*)/m); + if (!m) throw new Error('Could not find latest_version in hugo.yml'); + return m[1]; +} + +function cardSvg(version) { + // The design SVG carries all-upper-case PLACEHOLDERS for the two variable + // values (hero title and version pill). Replace them verbatim — no regex. + return DESIGN + .replace('__HERO_TITLE__', 'Git') + .replace('__HERO_FONT_SIZE__', '32') + .replace('__VERSION__', version); +} + +(async () => { + const version = currentVersion(); + const svg = cardSvg(version); + const svgPath = path.join(WORKTREE, 'script', 'og-card.svg'); + fs.writeFileSync(svgPath, svg); + + const browser = await chromium.launch(); + const page = await browser.newPage({ viewport: { width: 1200, height: 630 } }); + await page.goto('file://' + svgPath); + await page.waitForTimeout(200); + fs.mkdirSync(path.dirname(OUT), { recursive: true }); + await page.screenshot({ path: OUT, clip: { x: 0, y: 0, width: 1200, height: 630 } }); + await browser.close(); + console.log(`Wrote ${OUT} (Git ${version})`); +})().catch((e) => { console.error(e); process.exit(1); }); \ No newline at end of file diff --git a/script/render-og-cards.js b/script/render-og-cards.js new file mode 100644 index 0000000000..78e8e31cfa --- /dev/null +++ b/script/render-og-cards.js @@ -0,0 +1,181 @@ +#!/usr/bin/env node +// Generate a per-page Open Graph card (1200x630) for every Git manual page. +// +// Design source: the maintainers' own SVG (To1ne's proposal, posted by dscho +// on PR #2233) — script/og-card-design.svg. This script loads that exact +// file as the canonical design and substitutes only the per-page text: +// - the hero title (tspan #tspan4): " - " +// - the version pill (tspan #tspan6): "Latest: vX.Y.Z" +// Everything else — logo, colors, fonts, sizes, transforms — comes verbatim +// from the maintainers' file, so the rendered card matches their reference +// pixel-for-pixel (fonts: Arial for tagline/pill/footer, Times New Roman for +// the hero title; background #f0efea; 6px red top bar #f03c2e). +// +// Long titles: the reference is a single line. For titles wider than the card +// (e.g. git-fsck-objects, 88 chars), the hero text auto-sizes to a slightly +// smaller size on the same baseline (never wraps, never overlaps) so it stays +// readable and inside the canvas. +// +// Usage: +// node script/render-og-cards.js [worktree-path] [--out ] +// +// Reads each page under external/docs/content/docs/*.html, extracts the +// `docname` from frontmatter and the one-line NAME tagline from the body, +// and renders a card to static/images/og/.png (or /.png). +// +// Rendered with the repo's existing Playwright/Chromium stack. +const { chromium } = require('playwright'); +const fs = require('fs'); +const path = require('path'); + +// Parse argv: optional worktree path and optional --out override. +const args = process.argv.slice(2); +let outArg = null; +let worktreeArg = '.'; +for (let i = 0; i < args.length; i++) { + if (args[i] === '--out') { outArg = args[++i]; } + else if (!args[i].startsWith('--')) { worktreeArg = args[i]; } +} +const WORKTREE = path.resolve(worktreeArg); +const DOCS_DIR = path.join(WORKTREE, 'external', 'docs', 'content', 'docs'); +const OUT_DIR = outArg ? path.resolve(outArg) : path.join(WORKTREE, 'static', 'images', 'og'); +const DESIGN = fs.readFileSync(path.join(WORKTREE, 'script', 'og-card-design.svg'), 'utf8'); + +function currentVersion() { + const hugo = fs.readFileSync(path.join(WORKTREE, 'hugo.yml'), 'utf8'); + const m = hugo.match(/^\s*latest_version:\s*([0-9][^\s]*)/m); + if (!m) throw new Error('Could not find latest_version in hugo.yml'); + return m[1]; +} + +// Escape XML special characters for embedding in SVG text. +function esc(s) { + return String(s) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); +} + +// Decode common HTML entities that appear in manual page bodies. +function decodeEntities(s) { + const map = { + '’': "'", '‘': "'", '“': '"', '”': '"', + '—': '\u2014', '​': '', '&': '&', '<': '<', + '>': '>', '"': '"', ''': "'", ''': "'", + '…': '\u2026', ' ': ' ', + }; + let out = s; + for (const [k, v] of Object.entries(map)) out = out.split(k).join(v); + return out; +} + +// Extract the one-line NAME tagline from a manual page body. +//

NAME

+//

git-clone - Clone a repository into a new directory

+function extractTagline(html) { + const m = html.match( + /

]*>.*?<\/h2>\s*
\s*
\s*

(.*?)<\/p>/s + ); + if (!m) return null; + return decodeEntities(m[1].replace(/<[^>]+>/g, '')).trim(); +} + +// Extract the `docname:` value from a page's YAML frontmatter. +function extractDocname(html) { + const m = html.match(/^---\s*\n([\s\S]*?)\n---/); + if (!m) return null; + const fm = m[1].match(/^docname:\s*(.+)$/m); + return fm ? decodeEntities(fm[1].trim()) : null; +} + +// Substitute the per-page hero title into the maintainers' design SVG. +// The hero tspan (#tspan4) is a single line at the reference size (32px in +// the source transform). For titles wider than the available canvas the +// renderer measures the real on-screen width and reduces the tspan font-size +// until the line fits inside the card (never wraps, never overlaps). The +// reference title "git-clone - Clone a repository into a new directory" +// renders at 32px untouched. +function cardSvg({ title, version, fontSize }) { + const TITLE = esc(title); + const PILL = `Latest: v${esc(version)}`; + // The design SVG carries all-upper-case PLACEHOLDERS for the variable + // values (hero title, hero font-size, version pill). Replace them verbatim + // — no regex. Everything else stays verbatim from the maintainers' file. + return DESIGN + .replace('__HERO_TITLE__', TITLE) + .replace('__HERO_FONT_SIZE__', String(fontSize)) + .replace('__VERSION__', version); +} + +// Measure the rendered hero text's right edge (in screen px). The hero tspan +// lives under a matrix transform; getCTM() already resolves the full chain +// (tspan -> text -> ... -> svg -> viewport), so the transformed point is +// already in screen pixels — do NOT re-scale by viewBox. +async function heroRightEdge(page, svgPath) { + await page.goto('file://' + svgPath); + await page.waitForTimeout(120); + return page.evaluate(() => { + const tsp = document.getElementById('tspan4'); + if (!tsp) return null; + const b = tsp.getBBox(); + const ctm = tsp.getCTM(); + const p = new DOMPoint(b.x + b.width, b.y).matrixTransform(ctm); + return p.x; + }); +} + +(async () => { + const version = currentVersion(); + if (!fs.existsSync(DOCS_DIR)) { + console.error(`Docs dir not found: ${DOCS_DIR}`); + process.exit(1); + } + const files = fs.readdirSync(DOCS_DIR).filter((f) => f.endsWith('.html')); + fs.mkdirSync(OUT_DIR, { recursive: true }); + + const browser = await chromium.launch(); + const page = await browser.newPage({ viewport: { width: 1200, height: 630 } }); + + let rendered = 0; + let skipped = 0; + let shrunk = 0; + for (const file of files) { + const html = fs.readFileSync(path.join(DOCS_DIR, file), 'utf8'); + const docname = extractDocname(html); + const tagline = extractTagline(html); + if (!docname || !tagline) { + skipped++; + continue; + } + + // Start at the reference size (32px source units); the reference + // git-clone title (58 chars) renders untouched. For longer titles, reduce + // the font-size until the line's right edge clears the right margin. + const AVAIL_RIGHT = 1090; // leave a ~110px right margin (of 1200) + const MIN_FONT = 18; + let fontSize = 32; + let svg = cardSvg({ title: tagline, version, fontSize }); + const svgPath = path.join(OUT_DIR, `${docname}.svg`); + const pngPath = path.join(OUT_DIR, `${docname}.png`); + fs.writeFileSync(svgPath, svg); + let rightEdge = await heroRightEdge(page, svgPath); + if (rightEdge !== null) { + while (rightEdge > AVAIL_RIGHT && fontSize > MIN_FONT) { + fontSize -= 2; + svg = cardSvg({ title: tagline, version, fontSize }); + fs.writeFileSync(svgPath, svg); + rightEdge = await heroRightEdge(page, svgPath); + if (rightEdge === null) break; + } + if (fontSize < 32) shrunk++; + } + + await page.screenshot({ path: pngPath, clip: { x: 0, y: 0, width: 1200, height: 630 } }); + fs.unlinkSync(svgPath); // keep only the PNG + rendered++; + } + await browser.close(); + console.log(`Rendered ${rendered} per-page OG cards to ${OUT_DIR} (skipped ${skipped} without a NAME tagline; auto-shrunk ${shrunk} long titles). Git ${version}`); +})().catch((e) => { console.error(e); process.exit(1); }); \ No newline at end of file diff --git a/static/images/og-image.png b/static/images/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..9baaf7d586d889a62edf0c0128296c9ef0368372 GIT binary patch literal 36371 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 Date: Tue, 27 Oct 2026 00:01:06 +0000 Subject: [PATCH 2/2] Regenerate the OG image on every Git version bump The card embeds the current version, so regenerate it whenever a new Git version is recorded in hugo.yml. The version-bump workflow now installs Hugo + Playwright, runs script/render-og-card.js, and commits the updated static/images/og-image.png as its own commit. --- .../update-git-version-and-manual-pages.yml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/update-git-version-and-manual-pages.yml b/.github/workflows/update-git-version-and-manual-pages.yml index 1089994b85..66b5936a1b 100644 --- a/.github/workflows/update-git-version-and-manual-pages.yml +++ b/.github/workflows/update-git-version-and-manual-pages.yml @@ -65,6 +65,33 @@ jobs: - name: prepare worktree if: steps.commit.outputs.result != '' || inputs.force-rebuild == true run: git sparse-checkout disable + - uses: actions/setup-node@v5 + if: steps.commit.outputs.result != '' + - name: regenerate OG image for the new version + if: steps.commit.outputs.result != '' + run: | + # The card embeds the current version (see script/render-og-card.js), so + # regenerate it whenever a new Git version is recorded in hugo.yml. + HUGO_VERSION="$(sed -n 's/^ *hugo_version: *//p' /dev/null + npx playwright install chromium >/dev/null + node script/render-og-card.js + git add static/images/og-image.png && + if git diff-index --cached --quiet HEAD -- static/images/og-image.png + then + echo '::notice::OG image unchanged' >&2 + exit 0 + fi && + version='${{ steps.commit.outputs.result }}' && + git \ + -c user.name=${{ github.actor }} \ + -c user.email=${{ github.actor }}@noreply.github.com \ + commit -m "Update OG image for Git $version" \ + -m 'Regenerated via the `update-git-version-and-manual-pages.yml` GitHub workflow.' \ + -- static/images/og-image.png && + echo "result=modified" >>$GITHUB_OUTPUT - name: clone git.git if: steps.commit.outputs.result != '' || inputs.force-rebuild == true run: git clone --bare https://github.com/git/git '${{ runner.temp }}/git'