Skip to content

fix(blog): restore migrated post content, migrate Cascade post#41

Open
adamsoffer wants to merge 4 commits intomainfrom
claude/dreamy-chatterjee
Open

fix(blog): restore migrated post content, migrate Cascade post#41
adamsoffer wants to merge 4 commits intomainfrom
claude/dreamy-chatterjee

Conversation

@adamsoffer
Copy link
Copy Markdown
Collaborator

@adamsoffer adamsoffer commented Apr 9, 2026

Closes #37

Summary

  • Restore verbatim content for 6 migrated blog posts. Rick's audit flagged that the Ghost → Next.js migration had silently paraphrased every post — reading times dropped from 3–9 min to 2–3 min, direct quotes were stripped, and entire sections were condensed. Content is now restored character-exact against the Ghost source (verified with a whitespace-insensitive diff across all 6 posts).
  • Pull inline images from the Ghost CDN into per-post subdirectories under public/images/blog/<slug>/. 12 of the 14 inline images recovered; 2 Streamplace images (Google Docs embeds that 404 on the live web and were never captured by the Wayback Machine) are flagged with HTML comments where they belong. Photo-heavy images converted to JPEG Q85, saving ~9 MB; diagrams and text-heavy screenshots kept as PNG to preserve legibility.
  • Migrate the foundational "Introducing Livepeer Cascade" post (Doug Petkanics, Nov 2024), addressing Migrate Livepeer Cascade blog post to new site #37. Uses the long slug /blog/introducing-livepeer-cascade-a-vision-for-livepeers-future-in-the-age-of-real-time-ai-video to match the redirect target set up in chore: add blog.livepeer.org post slug redirects #36. Custom SVG hero matches the visual style of the other blog heroes (1200×675, dark background, green palette, 4-tier cascade illustration). Large animated GIFs in that post are hot-linked from images.mirror-media.xyz — downloading them would add 320+ MB to the repo.
  • External links in blog posts open in a new tab via rehype-external-links added to the markdown pipeline in lib/blog.ts.

Dependency

Depends on #36 for the old-slug → new-slug redirect of the Cascade post. Merge #36 first (or together) so that visitors hitting blog.livepeer.org/introducing-livepeer-cascade-a-vision-for-livepeers-future-in-the-age-of-real-time-ai-video land on the new page.

Notes

  • All frontmatter is preserved as-is on existing posts (no changes to image, slug, category, tags, or author fields).
  • components/blog/BlogPostHeader.tsx and BlogPostCard.tsx already handle the author field conditionally, so no component changes were needed.

Test plan

  • npm run build passes and all 8 blog posts appear in the static route list
  • Visit each post locally and confirm reading times jump back to 3–9 min range
  • Confirm direct quotes from the audit (Venezuelan 3D artist, Alice Scope, Almond Hernandez, Greg Breznitz, Franco, Malcolm Levy in the Open Media Forum post) are present
  • Confirm all inline images load (no 404s in devtools network panel)
  • Confirm /blog/introducing-livepeer-cascade-a-vision-for-livepeers-future-in-the-age-of-real-time-ai-video renders with the new SVG hero
  • Confirm external links in any post body open in a new tab

🤖 Generated with Claude Code

…external links in new tab

The 6 posts migrated from blog.livepeer.org had been silently paraphrased
rather than transcribed — reading times dropped from 3-9 min to 2-3 min,
direct quotes were stripped, and entire sections were condensed. Content
is now restored verbatim from the Ghost source, verified character-exact.

Inline images from the original posts are pulled from the Ghost CDN into
per-post subdirectories. Two Streamplace images that were Google Docs
embeds no longer accessible anywhere (including the Wayback Machine)
are flagged with HTML comments where they belong.

Also migrates the foundational "Introducing Livepeer Cascade" post (Doug
Petkanics, Nov 2024) with a custom SVG hero matching the visual style of
the other blog heroes. The 3 large animated GIFs in that post are
hot-linked from images.mirror-media.xyz — downloading them would add
320+ MB to the repo.

External links in blog posts now open in a new tab via
rehype-external-links.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
website Ready Ready Preview, Comment Apr 9, 2026 3:09am

Request Review

Converts 5 photo-heavy blog images from PNG to JPEG (Q85), cutting
blog images from ~45MB to ~36MB. Only images with true photographic
content were converted; diagrams, flowcharts, and screenshots with
sharp text are kept as PNG to preserve legibility.

- ai-x-open-media-forum/{franco, malcolm-alice, technical-track}.png → .jpg
- introducing-livepeer-cascade/{civitai-gallery, huggingface-spaces}.png → .jpg

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PR #36 maps the old Ghost slug to
/blog/introducing-livepeer-cascade-a-vision-for-livepeers-future-in-the-age-of-real-time-ai-video
(the long form). Renaming the post file so visitors coming through
that redirect land on a real page rather than a 404.

Closes #37

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…r source

This post wasn't on blog.livepeer.org — it was originally published by
Doug Petkanics on Mirror.xyz in Nov 2023 and added directly to the new
site in PR #28 when the blog system was introduced. Like the 6 Ghost
posts, the original PR ran the source through an LLM instead of
transcribing it verbatim: the post shrunk from ~9000 chars to ~5500
chars (40% condensed), with the conversational tone flattened, entire
paragraphs dropped (Livepeer Innovators DAO mention, the "That's it"
reality check, the O's/D's closing), and the inline "Livepeer Treasury
Proposal Form" screenshot removed.

Restores the body character-exact against the Mirror source (verified
6985/6985 chars, zero divergences) and pulls the inline screenshot from
Mirror's CDN into public/images/blog/using-the-livepeer-community-treasury/.
Frontmatter preserved as-is.

Mirror source recovered via Wayback Machine since mirror.xyz is
Cloudflare-protected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate Livepeer Cascade blog post to new site

1 participant