Render handbook logos live from @posthog/brand#18691
Draft
rafaeelaudibert wants to merge 7 commits into
Draft
Conversation
Replace the /brand/ logo files (SVG, PNG, PNG@2x, plus padded variants) with the current mark rendered from the @posthog/brand library, and refresh the handbook brand assets page to point at the library as the source of truth. Adds a reproducible generation script so the files can be regenerated whenever the logo changes upstream. Filenames are unchanged, so every existing reference across the site (and third-party links) picks up the new art automatically. Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
Contributor
Deploy preview
|
Contributor
|
Vale prose linter → found 9 errors, 13 warnings, 11 suggestions in your markdown Full report → Copy the linter results into an LLM to batch-fix issues. Linter being weird? Update the rules!
|
| Line | Severity | Message | Rule |
|---|---|---|---|
| 30:44 | warning | Use 'PostHog' instead of 'posthog'. | Vale.Terms |
| 33:19 | warning | 'logomark' is a possible misspelling. | PostHogBase.Spelling |
| 33:47 | warning | 'wordmark' is a possible misspelling. | PostHogBase.Spelling |
| 39:104 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 39:146 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 45:27 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 46:76 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 49:15 | warning | 'logomark' is a possible misspelling. | PostHogBase.Spelling |
| 49:57 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 49:59 | warning | 'favicons' is a possible misspelling. | PostHogBase.Spelling |
| 52:34 | warning | 'logomark' is a possible misspelling. | PostHogBase.Spelling |
| 52:118 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 54:12 | warning | 'PNGs' is a possible misspelling. | PostHogBase.Spelling |
| 54:213 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 56:258 | warning | 'logomark' is a possible misspelling. | PostHogBase.Spelling |
| 99:155 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 128:45 | warning | 'semibold' is a possible misspelling. | PostHogBase.Spelling |
| 129:46 | warning | 'semibold' is a possible misspelling. | PostHogBase.Spelling |
| 137:72 | suggestion | Prefer 'proper nouns or they' over 'he'. | PostHogBase.Inclusivity |
| 137:86 | suggestion | Prefer 'proper nouns or their/theirs' over 'his'. | PostHogBase.Inclusivity |
| 137:90 | warning | 'hoggy' is a possible misspelling. | PostHogBase.Spelling |
| 141:26 | suggestion | Prefer 'proper nouns or they' over 'he'. | PostHogBase.Inclusivity |
| 141:96 | suggestion | Prefer 'proper nouns or their/theirs' over 'His'. | PostHogBase.Inclusivity |
| 141:198 | suggestion | Prefer 'proper nouns or their/theirs' over 'His'. | PostHogBase.Inclusivity |
| 141:232 | suggestion | Prefer 'proper nouns or their/theirs' over 'his'. | PostHogBase.Inclusivity |
| 141:302 | suggestion | Prefer 'proper nouns or their/theirs' over 'His'. | PostHogBase.Inclusivity |
| 141:335 | suggestion | Prefer 'proper nouns or their/theirs' over 'his'. | PostHogBase.Inclusivity |
| 145:1 | suggestion | Prefer 'proper nouns or they' over 'He'. | PostHogBase.Inclusivity |
| 145:44 | warning | 'monoline' is a possible misspelling. | PostHogBase.Spelling |
| 145:80 | suggestion | Prefer 'proper nouns or they' over 'He'. | PostHogBase.Inclusivity |
| 145:191 | suggestion | Prefer 'proper nouns or they' over 'he'. | PostHogBase.Inclusivity |
src/components/BrandLogos/README.md — 1 errors, 1 warnings, 0 suggestions
| Line | Severity | Message | Rule |
|---|---|---|---|
| 4:76 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 10:22 | warning | 'shortcode' is a possible misspelling. | PostHogBase.Spelling |
Replace the static-file approach with a BrandLogos component that renders each lockup live from the @posthog/brand <Logo> component and exports SVG/PNG (plain and padded, 1x/@2x) by serializing the rendered SVG on demand. The handbook page now consumes the library directly, so it can't drift from the source of truth, and no logo binaries are committed. Reverts the earlier regenerated static/brand files and the generation script. Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
Surface the "when to use each logo" rules from the brand Figma (full-color by default, white on dark, black on light only when monochrome is required, print/4-color for limited-palette, logomark for small sizes) as a section on the handbook page, and add a downloadable Print (4-color) lockup so every documented variant is available from the page. Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
Update the site's @posthog/brand dependency from ^0.4.0 to the latest ^0.8.0, with a matching lockfile entry. Adds @posthog/brand to minimumReleaseAgeExclude (alongside its first-party @posthog/* siblings) so the release-age gate doesn't block installs. Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
Contributor
Bundle reportTotal JS (gzip)6.73 MiB (+9.1 KiB / +0.1%) Largest changed named chunks
Eager graph (modules shipped in each entrypoint's initial chunks)
Largest modules in the
|
| Module | Size |
|---|---|
./src/data/mcp-tools.json |
842.5 KiB |
css ./node_modules/.pnpm/css-loader@5.2.7_webpack@5.101.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.5.6_webpack@5.101.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[2]!./src/styles/global.css |
737.2 KiB |
./src/components/Stickers/Stickers.tsx |
696.4 KiB |
./node_modules/.pnpm/@radix-ui+react-icons@1.3.2_react@18.3.1/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js |
481.4 KiB |
./node_modules/.pnpm/rehype-raw@7.0.0/node_modules/rehype-raw/lib/index.js + 29 modules |
395.1 KiB |
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.cjs.js |
364.8 KiB |
./src/hooks/useCustomers.tsx + 54 modules |
355.1 KiB |
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
354.8 KiB |
./node_modules/.pnpm/react-markdown@8.0.7_@types+react@16.14.66_react@18.3.1/node_modules/react-markdown/lib/react-markdown.js + 88 modules |
351.4 KiB |
./node_modules/.pnpm/cloudinary-core@2.14.0_lodash@4.17.21/node_modules/cloudinary-core/cloudinary-core.js |
281.9 KiB |
./src/components/ProductComparisonTable/index.tsx + 120 modules |
278.6 KiB |
./src/components/SearchUI/index.tsx + 87 modules |
271.9 KiB |
./node_modules/.pnpm/d3@7.9.0/node_modules/d3/src/index.js + 208 modules |
247.4 KiB |
./src/components/Pricing/PricingSlider/Slider.tsx + 87 modules |
239.9 KiB |
./gatsby-browser.tsx + 44 modules |
227.0 KiB |
Eager-graph budgets are report-only until a baseline is established. Sizes are gzip of public/**/*.js; eager size is webpack module source bytes for the modules actually shipped in the entrypoint's initial chunks (post-tree-shake).
Render the white (mono) variants of the logomark and stacked lockups on a dark background, so the dark-mode versions are available alongside the landscape "Light logo". Named "Light logomark" and "Light logo (stacked)" to match the existing convention. Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
The guidance used "full-color", "white logo" and "black logo", none of which matched the card labels above it. Reword it to use the actual names (standard, light, dark, print, logomark, stacked) and define "full-color" as the standard logo. Generated-By: PostHog Code Task-Id: 50ecda78-db48-4be6-a7d8-08a2110be045
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.
Changes
Updates the Logos & hedgehogs handbook page to render our logo live from the
@posthog/brandlibrary — the single source of truth for the mark — instead of linking to hand-placed files instatic/brand. The page can no longer drift from the library, and no logo binaries are committed.BrandLogoscomponent (src/components/BrandLogos) renders each lockup (standard, dark, white, print, logomark, stacked) with the parametric<Logo>component from@posthog/brand.monolockups have theircurrentColorbaked into an explicit fill so the files stand alone.)No dependency bump is needed — the currently-pinned
@posthog/brand@^0.4.0already ships the current mark and the full<Logo>API.Why: Anthropic asked to use our logo for a blog post about the new MCP spec, which surfaced that this page (the one we point external parties to) was still serving the old logo. Rendering from the library keeps it current automatically.
Checklist
vercel.jsonCreated with PostHog from a Slack thread