Skip to content

feat: migrate og images from satori to takumi renderer#36

Merged
toddeTV merged 12 commits into
mainfrom
feat/migrate-og-images-to-takumi
May 18, 2026
Merged

feat: migrate og images from satori to takumi renderer#36
toddeTV merged 12 commits into
mainfrom
feat/migrate-og-images-to-takumi

Conversation

@toddeTV
Copy link
Copy Markdown
Owner

@toddeTV toddeTV commented May 18, 2026

Summary by CodeRabbit

  • Refactor

    • Upgraded Open Graph image generation system with improved rendering and layout optimizations
  • Updates

    • Updated OG image titles for Projects and Talks pages to include "Overview"
    • Updated development dependencies for image generation

Review Change Stack

@toddeTV toddeTV self-assigned this May 18, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 8b4b35c2-bb16-457a-8cb7-285a3b032088

📥 Commits

Reviewing files that changed from the base of the PR and between 2e7becc and fa84782.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml, !pnpm-lock.yaml
📒 Files selected for processing (15)
  • .coderabbit.yml
  • app/components/OgImageComponents/OgImageAvatar.vue
  • app/components/OgImageComponents/OgImageCategoryLabel.vue
  • app/components/OgImageComponents/OgImageDescription.vue
  • app/components/OgImageComponents/OgImageFooter.vue
  • app/components/OgImageComponents/OgImageGlow.vue
  • app/components/OgImageComponents/OgImageTitle.vue
  • app/components/OgImageTemplate/OgImageDefault.takumi.vue
  • app/components/OgImageTemplate/OgImageHome.takumi.vue
  • app/components/OgImageTemplate/OgImageProject.takumi.vue
  • app/components/OgImageTemplate/OgImageTalk.takumi.vue
  • app/pages/projects/index.vue
  • app/pages/talks/index.vue
  • nuxt.config.ts
  • package.json
💤 Files with no reviewable changes (3)
  • app/components/OgImageComponents/OgImageGlow.vue
  • app/components/OgImageComponents/OgImageCategoryLabel.vue
  • app/components/OgImageComponents/OgImageDescription.vue

📝 Walkthrough

Walkthrough

This PR migrates OG image generation from Satori-based components to Takumi-rendered templates, updating dependencies, configuration, component styling, and template layouts to work with the new renderer.

Changes

OG Image Renderer Migration

Layer / File(s) Summary
Tooling and configuration migration
package.json, nuxt.config.ts, .coderabbit.yml
Replace satori and @resvg/resvg-js dependencies with @takumi-rs/core, enable OgImageTemplate directory in Nuxt config instead of OgImage, and update project standards to document Takumi renderer constraints for OG components.
OG image shared components refactoring
app/components/OgImageComponents/*.vue
Remove Satori constraint documentation from all reusable OG components (OgImageAvatar, OgImageCategoryLabel, OgImageDescription, OgImageFooter, OgImageGlow, OgImageTitle). Update avatar rendering to use <NuxtImg> with borderRadius: 999px, simplify footer flex styling to basic display/flexDirection properties, and adjust title fontWeight from 800 to 700.
OG image template layout consolidation
app/components/OgImageTemplate/*.takumi.vue
Remove Satori constraint comments and refactor inline styles across Takumi templates (OgImageDefault, OgImageHome, OgImageProject, OgImageTalk). Move positioning/overflow styling to outer containers, update main content wrappers with explicit height/padding/box-sizing, consolidate flex-wrap and class-based styling into inline properties, and integrate updated avatar rendering in homepage template.
Page OG image title updates
app/pages/projects/index.vue, app/pages/talks/index.vue
Update defineOgImage configuration titles from "Projects" / "Talks" to "Projects Overview" / "Talks Overview".

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • toddeTV/todde.tv#7: Adds initial Nuxt OG image setup for Satori OgImage components; this PR switches the same configuration to Takumi OgImageTemplate templates.
  • toddeTV/todde.tv#33: Modifies Nuxt OG image configuration in nuxt.config.ts to switch component directories; this PR completes that migration by updating the renderer implementation.
  • toddeTV/todde.tv#16: Adds Satori-based OgImageProject component; this PR replaces it with the Takumi-rendered OgImageProject.takumi.vue template alternative.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: migrate og images from satori to takumi renderer' clearly and accurately summarizes the main change: replacing the Satori rendering engine with Takumi for OG image generation across the entire codebase.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@toddeTV toddeTV merged commit 6f422be into main May 18, 2026
5 checks passed
@toddeTV toddeTV deleted the feat/migrate-og-images-to-takumi branch May 18, 2026 17:04
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.

1 participant