Blog: add featured image to 'I bribe customers to talk to me' - #19463
Blog: add featured image to 'I bribe customers to talk to me'#19463jakesciotto wants to merge 2 commits into
Conversation
Reuse the potato photo already in the post body. Cloudinary crops it to 2:1 with c_fill,ar_2:1,g_auto so the face and the potato both survive the object-cover crop in the full-bleed hero. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Deploy preview
|
|
Vale prose linter → found 4 errors, 8 warnings, 1 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 |
|---|---|---|---|
| 33:42 | 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:49 | 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:86 | warning | Use 'PostHog' instead of 'posthog'. | Vale.Terms |
| 49:101 | suggestion | Prefer 'proper nouns or they' over 'he'. | PostHogBase.Inclusivity |
| 53:230 | error | 'it' is repeated! | Vale.Repetition |
| 61:149 | warning | Use 'PostHog' instead of 'posthog'. | Vale.Terms |
| 61:191 | warning | Use 'PostHog' instead of 'posthog'. | Vale.Terms |
| 61:199 | warning | Use 'MCP' instead of 'mcp'. | Vale.Terms |
| 61:277 | warning | Use 'MCP' instead of 'mcp'. | Vale.Terms |
| 65:226 | warning | 'leaderboard' is a possible misspelling. | PostHogBase.Spelling |
| 69:17 | warning | 'friday' is a possible misspelling. | PostHogBase.Spelling |
| 69:442 | warning | Use 'PostHog' instead of 'posthog'. | Vale.Terms |
| 81:266 | 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 |
Bundle reportTotal JS (gzip)7.54 MiB (-4.9 KiB / -0.1%) Eager graph (modules shipped in each entrypoint's initial chunks)
Largest modules in the
|
| Module | Size |
|---|---|
./src/data/mcp-tools.json |
990.6 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 |
746.1 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 |
./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 |
./src/hooks/useCustomers.tsx + 54 modules |
354.5 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 |
./src/components/ProductComparisonTable/index.tsx + 126 modules |
301.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/SearchUI/index.tsx + 87 modules |
273.0 KiB |
./node_modules/.pnpm/@posthog+brand@0.8.0_react@18.3.1/node_modules/@posthog/brand/dist/generated/hoggies/svg/magnifying-glass.mjs |
254.7 KiB |
./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/motion.mjs + 109 modules |
253.9 KiB |
./node_modules/.pnpm/d3@7.9.0/node_modules/d3/src/index.js + 208 modules |
247.4 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).
getPublicID in gatsby/onCreateNode.ts takes everything after /upload/ as the Cloudinary public ID. A transform segment poisoned the ID, the cache lookup missed, and gatsbyImageData resolved to null. Point at a pre-cropped 2:1 asset instead, with no transform in the URL. Also drop featuredImageType. BlogPost.tsx queries it but never passes it to ReaderView, so it does nothing on this template. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
HAHAH while i love the photo jake, we use the posthog brand style for blog hero images.
you can pick one from here or request a custom one
claude did it!!! ian gave me some choices in a thread, im open to any of them https://posthog.slack.com/archives/C09GU689J1X/p1786415869614399 |
Problem
The post shipped in #19347 without a
featuredImage. The blog listing card and the post header both render with no hero.Changes
I added
featuredImageandfeaturedImageType: fullto the frontmatter. The image is the potato photo already in the post body, so this PR uploads nothing new.The source photo is portrait at 1086x1448.
FeaturedImageFullrenders a 2:1 hero withobject-cover, so the raw photo would crop through the face. Cloudinary crops it instead withc_fill,ar_2:1,g_auto, which keeps the face and the whole potato.Checks
HTTP/2 200andcontent-type: image/png.🤖 Generated with Claude Code