From b663662be0663ffbc35967a2b94569209f2e7c6f Mon Sep 17 00:00:00 2001 From: Sameen Karim Date: Tue, 14 Apr 2026 16:13:42 -0400 Subject: [PATCH 1/3] udpate meta tags for docs site --- docs/astro.config.mjs | 12 ++++++++++-- docs/public/github-social-card.jpg | Bin 0 -> 19326 bytes 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 docs/public/github-social-card.jpg diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index f585e2a..28498ef 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -13,14 +13,22 @@ export default defineConfig({ integrations: [ starlight({ title: 'GitHub Stacked PRs', - description: 'Manage stacked branches and pull requests with the gh stack CLI extension.', + description: 'Break large changes into small, reviewable pull requests that build on each other — with native GitHub support and the gh stack CLI.', favicon: '/favicon.svg', logo: { src: './src/assets/github-invertocat.svg', alt: 'GitHub', }, head: [ - { tag: 'meta', attrs: { name: 'robots', content: 'noindex, nofollow' } }, + { tag: 'meta', attrs: { property: 'og:type', content: 'website' } }, + { tag: 'meta', attrs: { property: 'og:site_name', content: 'GitHub Stacked PRs' } }, + { tag: 'meta', attrs: { property: 'og:image', content: 'https://github.github.com/gh-stack/github-social-card.jpg' } }, + { tag: 'meta', attrs: { property: 'og:image:alt', content: 'GitHub Stacked PRs — Break large changes into small, reviewable pull requests' } }, + { tag: 'meta', attrs: { property: 'og:image:width', content: '1200' } }, + { tag: 'meta', attrs: { property: 'og:image:height', content: '630' } }, + { tag: 'meta', attrs: { name: 'twitter:card', content: 'summary_large_image' } }, + { tag: 'meta', attrs: { name: 'twitter:site', content: '@github' } }, + { tag: 'meta', attrs: { name: 'twitter:image', content: 'https://github.github.com/gh-stack/github-social-card.jpg' } }, ], components: { SocialIcons: './src/components/CustomHeader.astro', diff --git a/docs/public/github-social-card.jpg b/docs/public/github-social-card.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7911cf19a22837b2966bbf29bbe6eefa5b7024b3 GIT binary patch literal 19326 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 QhJ9*~d`p)uT)A`q+1dF=dH?_b literal 0 HcmV?d00001 From 5ee094ebd22171e3c80b445944d7f9ff9faac0ed Mon Sep 17 00:00:00 2001 From: Sameen Karim Date: Wed, 15 Apr 2026 07:37:51 -0400 Subject: [PATCH 2/3] stack diagram styling fixes --- docs/src/assets/stack-diagram.svg | 48 -------------------- docs/src/components/StackDiagram.astro | 62 ++++++++++++++++++++++++++ docs/src/content/docs/index.mdx | 6 +-- 3 files changed, 64 insertions(+), 52 deletions(-) delete mode 100644 docs/src/assets/stack-diagram.svg create mode 100644 docs/src/components/StackDiagram.astro diff --git a/docs/src/assets/stack-diagram.svg b/docs/src/assets/stack-diagram.svg deleted file mode 100644 index b0296ec..0000000 --- a/docs/src/assets/stack-diagram.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - main - - - - - PR #1 · auth-layer - - - - - PR #2 · api-endpoints - - - - - PR #3 · frontend - - - - - - -← bottom -← top - diff --git a/docs/src/components/StackDiagram.astro b/docs/src/components/StackDiagram.astro new file mode 100644 index 0000000..583267b --- /dev/null +++ b/docs/src/components/StackDiagram.astro @@ -0,0 +1,62 @@ +--- +/** + * Inline SVG stack diagram — uses currentColor to inherit text color from the + * parent element, which is styled via external CSS. This avoids Safari bugs + * where @media (prefers-color-scheme) doesn't work inside SVG elements. + */ +--- +
+ + + + + + + + + + + main + + + + + PR #1 · auth-layer + + + + + PR #2 · api-endpoints + + + + + PR #3 · frontend + + + + + + + ← bottom + ← top + +
+ + diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index fdcb414..d6b8804 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -17,7 +17,7 @@ hero: import { Card, CardGrid, Aside } from '@astrojs/starlight/components'; import { Image } from 'astro:assets'; -import stackDiagram from '../../assets/stack-diagram.svg'; +import StackDiagram from '../../components/StackDiagram.astro'; import stackNavigator from '../../assets/screenshots/stack-navigator.png'; @@ -43,9 +43,7 @@ Large pull requests are hard to review, slow to merge, and prone to conflicts. R A **stack** is a series of pull requests in the same repository where each PR targets the branch of the PR below it, forming an ordered chain that ultimately lands on your main branch. -
- A stack of pull requests: main at the bottom, with auth-layer (PR #1), api-endpoints (PR #2), and frontend (PR #3) stacked on top -
+ GitHub understands stacks end-to-end: the pull request UI shows a **stack map** so reviewers can navigate between layers, branch protection rules are enforced against the **final target branch** (not just the direct base), and CI runs for every PR in the stack as if they were targeting the final branch. From ba2ca255e33033755a39cf4c5e426203c0cf8b11 Mon Sep 17 00:00:00 2001 From: Sameen Karim Date: Fri, 17 Apr 2026 08:29:46 -0400 Subject: [PATCH 3/3] update favicon --- docs/public/favicon.svg | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg index 8f0bb34..848cf2c 100644 --- a/docs/public/favicon.svg +++ b/docs/public/favicon.svg @@ -1,5 +1,4 @@ - + - +