Skip to content

chore(blog): add images frontmatter for social preview on existing posts#498

Merged
tym83 merged 1 commit intomainfrom
chore/blog-social-images-frontmatter
Apr 17, 2026
Merged

chore(blog): add images frontmatter for social preview on existing posts#498
tym83 merged 1 commit intomainfrom
chore/blog-social-images-frontmatter

Conversation

@tym83
Copy link
Copy Markdown
Contributor

@tym83 tym83 commented Apr 17, 2026

Summary

Populates the images: frontmatter field for all existing blog posts that have at least one image, so Open Graph / Twitter Card previews on Telegram, Facebook, LinkedIn, and Slack show a post-specific image instead of the site-default cover.

What

  • 38 posts updated across content/en/blog/:
    • Page bundles (directory with index.md + local images): first raster file picked by natural sort, e.g. 001_marketplace.png, image1.png, devstats.png.
    • Plain .md posts (e.g. Medium imports): first external image URL from the body, e.g. https://cdn-images-1.medium.com/max/800/....
  • SVG-only page bundles are intentionally left untouched (the 3 DIY "create your own cloud" posts). Facebook, Twitter, and Telegram do not render SVG in OG previews; leaving images: unset falls back to the site-level default img/cozystack-social.png from hugo.yaml, which is a working preview.
  • No layout changes. Hugo's internal opengraph.html / twitter_cards.html partials already consume .Params.images out of the box — this PR just feeds them with per-post values.

Why

Until now, every blog post shared on social platforms rendered with the same site-default image. For release posts, how-tos, and technical deep-dives this is a missed opportunity: a post-specific preview image drives noticeably higher CTR on Telegram/LinkedIn and makes timelines scannable.

Going forward, new posts with images will include images: in frontmatter as a standard convention.

Preview

After merge, hit the OG debuggers on a couple of permalinks to bust caches on each platform:

Summary by CodeRabbit

  • Documentation
    • Added structured image metadata to blog post front-matter across all published articles for improved image handling and rendering.

Populate the `images:` field in frontmatter for all blog posts that have
at least one raster image, so Open Graph / Twitter Card previews on
Telegram, Facebook, LinkedIn, and Slack show a post-specific image
instead of the site-default cover.

- Page bundles with local images use the first raster file (natural sort).
- Plain .md posts use the first external image URL in the body.
- SVG-only page bundles are left untouched; Facebook, Twitter, and
  Telegram don't render SVG in OG previews, so the Hugo site-level
  default (`img/cozystack-social.png`) is used instead.

Signed-off-by: tym83 <6355522@gmail.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 17, 2026

Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit e4c9c54
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/69e23af399176c00088f1733
😎 Deploy Preview https://deploy-preview-498--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 17, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1176fdc7-36ba-43da-804b-93ed503b6fa2

📥 Commits

Reviewing files that changed from the base of the PR and between 6f507de and e4c9c54.

📒 Files selected for processing (38)
  • content/en/blog/2020-05-14-configuring-routing-for-metallb-in-l2-mode.md
  • content/en/blog/2024-02-21-introducing-cozystack-a-free-paas-platform-based-on-kubernetes.md
  • content/en/blog/2024-08-15-cozystack-v0-11.md
  • content/en/blog/2024-08-16-installing-a-kubernetes-cluster-managed-by-cozystack-a-detailed-guide-by-gohost-and-nix.md
  • content/en/blog/2024-09-25-cozystack-has-officially-been-included-in-the-cncf-landscape.md
  • content/en/blog/2024-09-26-recent-changes-in-the-cozystack-open-source-platform-opencost-log-collection-system-bridge.md
  • content/en/blog/2024-10-03-the-open-source-platform-cozystack-version-0-16-0.md
  • content/en/blog/2024-10-04-cozystack-on-hacktoberfest-become-a-part-of-the-global-it-event.md
  • content/en/blog/2024-10-24-what-s-new-in-cozystack-v0-17.md
  • content/en/blog/2024-11-07-cozystack-v0-18.md
  • content/en/blog/2024-12-12-cozystack-v0-20-release-terraform-keycloak-and-stability-security-improvements.md
  • content/en/blog/2024-12-12-how-we-built-a-dynamic-kubernetes-api-server-for-the-api-aggregation-layer-in-cozystack.md
  • content/en/blog/2024-12-28-introducing-the-pre-new-year-release-of-open-source-platform-cozystack-v0-21.md
  • content/en/blog/2025-01-17-cozystack-v0-22-release-telemetry-patched-talos-v1-9-1-new-entities-workload-workloadmonitor.md
  • content/en/blog/2025-03-13-cozystack-becomes-a-cncf-sandbox-project.md
  • content/en/blog/2025-04-10-updates-to-the-open-source-platform-cozystack-0-24-0-29.md
  • content/en/blog/2025-04-18-cozystack-now-offers-gpu-passthrough-for-ai-ml-virtual-machines.md
  • content/en/blog/2025-04-28-a-simple-way-to-install-talos-linux-on-any-machine-with-any-provider.md
  • content/en/blog/2025-05-21-cozystack-recognized-in-cncf-s-cnai-landscape.md
  • content/en/blog/2025-06-04-the-evolution-of-virtualization-platforms-the-rise-of-managed-services-and-local-providers-edge.md
  • content/en/blog/2025-06-06-cozystack-became-a-certified-kubernetes-platform.md
  • content/en/blog/2025-06-18-cozyhr-how-we-simplified-local-development-with-helm-and-flux.md
  • content/en/blog/2025-07-09-cozystack-v0-31-0-33.md
  • content/en/blog/2025-08-04-cozystack-v0-34.md
  • content/en/blog/2025-08-14-invitation-to-cozysummit-virtual-december-3.md
  • content/en/blog/2025-08-21-cozystack-v0-35.md
  • content/en/blog/2025-09-03-cncf-webinar-one-api-to-rule-them-all-building-a-unified-platform-with-kubernetes-aggregation.md
  • content/en/blog/2025-09-10-protofire-experience-operating-kubernetes-with-cozystack.md
  • content/en/blog/2025-10-01-cozystack-v0-36.md
  • content/en/blog/2025-10-08-cozystack-applied-to-cncf-incubated.md
  • content/en/blog/2025-10-14-cozysummit-lineup-is-out.md
  • content/en/blog/2025-12-12-flux-aio-kubernetes-mtls-and-the-chicken-and-egg-problem/index.md
  • content/en/blog/2025-12-17-talm-v0-17-built-in-age-encryption-for-secrets.md
  • content/en/blog/2026-04-06-cozysummit-virtual-2026-the-program-is-set/index.md
  • content/en/blog/2026-04-08-cozystack-oss-health-section/index.md
  • content/en/blog/2026-04-17-managed-postgresql-synchronous-replication/index.md
  • content/en/blog/cozystack-1-0-release/index.md
  • content/en/blog/game-servers-on-cozystack-no-april-fools-joke/index.md

📝 Walkthrough

Walkthrough

Across 36 blog post files, an images front-matter field was added containing image URLs or filenames. This metadata addition enables structured image references at the page level for rendering and indexing, without modifying article content, logic, or control flow.

Changes

Cohort / File(s) Summary
Blog Posts Image Metadata
content/en/blog/2020-05-14-*.md, content/en/blog/2024-02-21-*.md, content/en/blog/2024-08-15-*.md, content/en/blog/2024-08-16-*.md, content/en/blog/2024-09-25-*.md, content/en/blog/2024-09-26-*.md, content/en/blog/2024-10-03-*.md, content/en/blog/2024-10-04-*.md, content/en/blog/2024-10-24-*.md, content/en/blog/2024-11-07-*.md, content/en/blog/2024-12-12-*.md (x2), content/en/blog/2024-12-28-*.md, content/en/blog/2025-01-17-*.md, content/en/blog/2025-03-13-*.md, content/en/blog/2025-04-10-*.md, content/en/blog/2025-04-18-*.md, content/en/blog/2025-04-28-*.md, content/en/blog/2025-05-21-*.md, content/en/blog/2025-06-04-*.md, content/en/blog/2025-06-06-*.md, content/en/blog/2025-06-18-*.md, content/en/blog/2025-07-09-*.md, content/en/blog/2025-08-04-*.md, content/en/blog/2025-08-14-*.md, content/en/blog/2025-08-21-*.md, content/en/blog/2025-09-03-*.md, content/en/blog/2025-09-10-*.md, content/en/blog/2025-10-01-*.md, content/en/blog/2025-10-08-*.md, content/en/blog/2025-10-14-*.md, content/en/blog/2025-12-12-*/index.md, content/en/blog/2025-12-17-*.md, content/en/blog/2026-04-06-*/index.md, content/en/blog/2026-04-08-*/index.md, content/en/blog/2026-04-17-*/index.md, content/en/blog/cozystack-1-0-release/index.md, content/en/blog/game-servers-on-cozystack-no-april-fools-joke/index.md
Added images front-matter field containing a single image URL or filename to each blog post. No content, logic, or body text modifications.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 A hop through the metadata, swift and bright,
Thirty-six images now tagged just right,
Blog posts adorned with frontmatter care,
Visual treasures indexed everywhere!
The rabbit grins—structured data's delight! 📸

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/blog-social-images-frontmatter

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@tym83 tym83 marked this pull request as ready for review April 17, 2026 13:55
@tym83 tym83 requested review from kvaps and lllamnyp as code owners April 17, 2026 13:55
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, reopen this pull request to trigger a review.

@tym83 tym83 merged commit 6955a88 into main Apr 17, 2026
6 checks passed
@tym83 tym83 deleted the chore/blog-social-images-frontmatter branch April 17, 2026 13:55
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds an "images" field to the frontmatter of numerous blog post files in the "content/en/blog/" directory. Each entry specifies a URL or local path to a representative image for the post, likely to improve social media previews and SEO. The changes are consistent across all modified files, and I have no feedback to provide.

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