Skip to content

fix: standardize blog social preview images and slugs#832

Merged
Jordy-Baby merged 5 commits intomainfrom
chore/blog-preview-image-and-mdx-fixes
Mar 24, 2026
Merged

fix: standardize blog social preview images and slugs#832
Jordy-Baby merged 5 commits intomainfrom
chore/blog-preview-image-and-mdx-fixes

Conversation

@Jordy-Baby
Copy link
Collaborator

@Jordy-Baby Jordy-Baby commented Mar 23, 2026

Summary

  • backfill image frontmatter across blog posts so shared URLs use explicit cover images
  • normalize blog slugs that incorrectly used /blog/... and produced duplicate blog/blog URL paths
  • add scripts/validate-blog-social-images.js and wire it into prebuild/build-llm to prevent regressions
    Made with Cursor

Summary by CodeRabbit

Release Notes

  • New Features

    • Blog posts now include social image metadata for improved sharing and preview displays across platforms.
  • Improvements

    • Enhanced mobile responsiveness—table horizontal scrolling now activates only on smaller screens for better readability.
  • Documentation

    • Improved formatting of API endpoint references for clarity.

@vercel
Copy link

vercel bot commented Mar 23, 2026

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

Project Deployment Actions Updated (UTC)
envio-docs Ready Ready Preview, Comment Mar 24, 2026 6:18am

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 23, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: aa380350-d995-43c6-899d-8c3a87f3e6c8

📥 Commits

Reviewing files that changed from the base of the PR and between 2c61338 and 253d47d.

📒 Files selected for processing (80)
  • .gitignore
  • blog/2023-08-08-methods-to-query-blockchain-data.md
  • blog/2023-08-17-what-is-an-indexer.md
  • blog/2023-08-22-envio-grant-program-is-live.md
  • blog/2023-08-31-navigating-challenges-in-blockchain-indexing.md
  • blog/2023-09-06-envio-community-update-1.md
  • blog/2023-09-27-envio-community-update-2.md
  • blog/2023-10-04-how-to-become-a-blockchain-dapp-developer.md
  • blog/2023-10-19-envio-celebrates-first-grantee-project-multi-chain-liquidation-metrics-indexer.md
  • blog/2023-10-24-indexer-benchmarking-results.md
  • blog/2023-10-26-envio-community-update-3.md
  • blog/2023-11-09-powers-of-dedicated-hosting-for-web3-apps.md
  • blog/2023-11-15-simplify-data-retrieval-multi-chain-dapps.md
  • blog/2023-11-23-envio-bounty-poap-multi-chain-indexer.md
  • blog/2023-11-29-envio-community-update-4.md
  • blog/2023-12-13-envio-bounty-erc4626-token-vault-indexer.md
  • blog/2023-12-19-envio-community-update-5.md
  • blog/2024-01-17-envio-empowers-jarvis-network.md
  • blog/2024-01-31-envio-community-update-6.md
  • blog/2024-02-12-envio-azuro-developer-grant-multi-chain-open-source-indexer.md
  • blog/2024-02-20-envio-data-indexing-on-lukso.md
  • blog/2024-03-01-envio-community-update-7.md
  • blog/2024-03-27-envio-community-update-8.md
  • blog/2024-03-27-envio-data-indexing-on-harmony.md
  • blog/2024-03-28-envio-celebrates-azuro-indexer-grantee.md
  • blog/2024-04-22-envio-hypersync-powers-data-access-on-fuel-network.md
  • blog/2024-05-08-envio-community-update-9.md
  • blog/2024-05-24-case-study-peppy-finance.md
  • blog/2024-05-30-envio-community-update-may-2024.md
  • blog/2024-07-01-envio-community-update-june-2024.md
  • blog/2024-07-17-case-study-gblast.md
  • blog/2024-07-18-data-indexing-on-fuel.md
  • blog/2024-08-02-envio-community-update-july-2024.md
  • blog/2024-08-13-case-study-sablier.md
  • blog/2024-08-19-building-chaindensity.md
  • blog/2024-09-02-envio-community-update-aug-2024.md
  • blog/2024-09-27-case-study-limitless.md
  • blog/2024-10-02-envio-community-update-sep-2024.md
  • blog/2024-10-09-case-study-bridgg-op-superchain.md
  • blog/2024-10-15-ethonline24-envio-hackathon-winners.md
  • blog/2024-10-29-envio-community-update-oct-2024.md
  • blog/2024-11-08-hosted-service-v2.md
  • blog/2024-11-13-how-to-cut-aws-cloud-costs.md
  • blog/2024-11-26-indexing-and-reorgs.md
  • blog/2024-11-28-envio-community-update-november-2024.md
  • blog/2024-12-09-tokenizing-real-world-assets.md
  • blog/2024-12-18-case-study-zkpass.md
  • blog/2024-12-24-envio-community-update-december.md
  • blog/2025-01-21-what-is-a-blockchain-indexer.md
  • blog/2025-01-30-envio-developer-update-january.md
  • blog/2025-02-27-envio-dev-update-feb.md
  • blog/2025-03-17-what-is-multi-chain-indexing.md
  • blog/2025-03-26-envio-supports-70-networks.md
  • blog/2025-03-31-envio-dev-update-march-2025.md
  • blog/2025-04-15-oracle-wars.md
  • blog/2025-04-25-developer-update-april-2025.md
  • blog/2025-05-16-monad-hackathon-winners-2025.md
  • blog/2025-05-29-developer-update-may-2025.md
  • blog/2025-06-12-how-to-index-monad-data-using-envio.md
  • blog/2025-06-17-how-to-index-megaeth-data-using-envio.md
  • blog/2025-06-24-building-visualizers-and-dashboards-on-monad.md
  • blog/2025-06-24-dev-update-june-2025.md
  • blog/2025-07-30-dev-update-july-2025.md
  • blog/2025-08-29-dev-update-august-2025.md
  • blog/2025-09-30-dev-update-september-2025.md
  • blog/2025-10-28-dev-update-october-2025.md
  • blog/2025-11-12-encode-london-2025.md
  • blog/2025-11-13-metamask-smart-accounts-hackathon-winners.md
  • blog/2025-11-26-dev-update-november-2025.md
  • blog/2025-12-16-dev-update-december-2025.md
  • blog/2025-12-3-migrating-alchemy-subgraphs-to-envio.md
  • blog/2026-01-28-blockchain-indexer-app-backends.md
  • blog/2026-01-28-dev-update-january-2026.md
  • blog/2026-02-25-dev-update-february-2026.md
  • blog/2026-03-20-agentic-blockchain-indexing.md
  • blog/2026-03-20-best-blockchain-indexers.md
  • docs/HyperRPC-LLM/hyperrpc-complete.mdx
  • package.json
  • scripts/validate-blog-social-images.js
  • src/css/custom.css

📝 Walkthrough

Walkthrough

This PR standardizes blog post frontmatter by adding image metadata fields and normalizing slug paths across ~60 blog posts, introduces a validation script to enforce these standards, applies responsive styling to table scrolling, and normalizes documentation formatting.

Changes

Cohort / File(s) Summary
Git Configuration
.gitignore
Added pattern /.worktrees to ignore local git worktree directories.
Blog Frontmatter Standardization
blog/2023-08-08-*.md, blog/2023-08-*.md, blog/2023-09-*.md, blog/2023-10-*.md, blog/2023-11-*.md, blog/2023-12-*.md, blog/2024-01-*.md, blog/2024-02-*.md, blog/2024-03-*.md, blog/2024-04-*.md, blog/2024-05-*.md, blog/2024-07-*.md, blog/2024-08-*.md, blog/2024-09-*.md, blog/2024-10-*.md, blog/2024-11-*.md, blog/2024-12-*.md, blog/2025-01-*.md, blog/2025-02-*.md, blog/2025-03-*.md, blog/2025-04-*.md, blog/2025-05-*.md, blog/2025-06-*.md, blog/2025-07-*.md, blog/2025-08-*.md, blog/2025-09-*.md, blog/2025-10-*.md, blog/2025-11-*.md, blog/2025-12-*.md, blog/2026-01-*.md, blog/2026-02-*.md, blog/2026-03-*.md
Added image frontmatter field pointing to corresponding /blog-assets/ image files for each blog post. Removed blank lines after frontmatter closing delimiter (---). Updated slug field in several posts to remove /blog/ prefix, normalizing URL routing paths.
Build & Validation Tooling
package.json, scripts/validate-blog-social-images.js
Added new validation script that enforces blog post standards: requires frontmatter slug (without /blog/ prefix), image field, and validates image file existence in static directory. Integrated script into prebuild and build-llm npm scripts to run before builds.
Styling & Documentation
src/css/custom.css, docs/HyperRPC-LLM/hyperrpc-complete.mdx
Scoped markdown table horizontal-scrolling CSS to small screens (max-width: 768px). Formatted endpoint URLs in HyperRPC documentation as inline code blocks.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • keenbeen32

Poem

🐰 With whiskers twitching in the git,
I hop through frontmatter, bit by bit,
Images tagged, slugs stripped clean,
Validation scripts ensure what's seen!
Responsive tables now scroll with grace,
Order blooms throughout this space! 🌿

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: standardizing blog social preview images and slugs across the codebase. It is clear, concise, and directly relates to the primary objective of the PR.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/blog-preview-image-and-mdx-fixes

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.

@Jordy-Baby Jordy-Baby enabled auto-merge (squash) March 23, 2026 14:45
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@blog/2026-03-20-agentic-blockchain-indexing.md`:
- Line 90: Replace the recommended file-deletion workaround (removing
`.github/workflows/test.yaml`) with guidance to refresh the GitHub CLI OAuth
workflow scope; instruct readers to run the command to refresh their token with
workflow scope (e.g., use `gh auth refresh -s workflow`) and then retry the
push, and update the sentence on line 90 to reference refreshing the CLI token
rather than deleting CI workflow files.

In `@blog/2026-03-20-best-blockchain-indexers.md`:
- Line 145: The article currently shows inconsistent chain counts ("150+ chains
supported" and "149+ for Goldsky"); pick the authoritative source (or recount)
and make both occurrences match the verified number. Update the text instances
containing the string "150+ chains supported" and the Goldsky mention
referencing "149+" so they use the same verified value (and adjust any nearby
copy like the Goldsky line to reflect the unified count).

In `@scripts/validate-blog-social-images.js`:
- Around line 38-43: The toStaticFilePath function currently just joins
staticDir with imagePath and can be bypassed by path traversal (e.g.,
"/../file"); fix by resolving and normalizing the candidate path and explicitly
enforcing it is contained within staticDir: use path.resolve(staticDir,
imagePath.slice(1)) (or path.join + path.resolve) to get resolvedPath, compute
base = path.resolve(staticDir), then if resolvedPath === base or
resolvedPath.startsWith(base + path.sep) return resolvedPath, otherwise return
null; apply the same containment check for the other occurrence referenced
around the 95-99 region.

In `@src/css/custom.css`:
- Around line 284-291: The table overflow rules for the selector "article
.markdown table" are currently global but should only apply on small screens;
wrap those declarations in a mobile-only media query (e.g., max-width
breakpoint) so the display:block, width:max-content, max-width:100%,
overflow-x:auto and -webkit-overflow-scrolling only apply at mobile widths and
leave desktop table rendering unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1a069a6f-7b7c-4648-864c-9b61da12d9b9

📥 Commits

Reviewing files that changed from the base of the PR and between 1d6b392 and 2c61338.

⛔ Files ignored due to path filters (1)
  • static/blog-assets/best-blockchain-indexers.png is excluded by !**/*.png
📒 Files selected for processing (80)
  • .gitignore
  • blog/2023-08-08-methods-to-query-blockchain-data.md
  • blog/2023-08-17-what-is-an-indexer.md
  • blog/2023-08-22-envio-grant-program-is-live.md
  • blog/2023-08-31-navigating-challenges-in-blockchain-indexing.md
  • blog/2023-09-06-envio-community-update-1.md
  • blog/2023-09-27-envio-community-update-2.md
  • blog/2023-10-04-how-to-become-a-blockchain-dapp-developer.md
  • blog/2023-10-19-envio-celebrates-first-grantee-project-multi-chain-liquidation-metrics-indexer.md
  • blog/2023-10-24-indexer-benchmarking-results.md
  • blog/2023-10-26-envio-community-update-3.md
  • blog/2023-11-09-powers-of-dedicated-hosting-for-web3-apps.md
  • blog/2023-11-15-simplify-data-retrieval-multi-chain-dapps.md
  • blog/2023-11-23-envio-bounty-poap-multi-chain-indexer.md
  • blog/2023-11-29-envio-community-update-4.md
  • blog/2023-12-13-envio-bounty-erc4626-token-vault-indexer.md
  • blog/2023-12-19-envio-community-update-5.md
  • blog/2024-01-17-envio-empowers-jarvis-network.md
  • blog/2024-01-31-envio-community-update-6.md
  • blog/2024-02-12-envio-azuro-developer-grant-multi-chain-open-source-indexer.md
  • blog/2024-02-20-envio-data-indexing-on-lukso.md
  • blog/2024-03-01-envio-community-update-7.md
  • blog/2024-03-27-envio-community-update-8.md
  • blog/2024-03-27-envio-data-indexing-on-harmony.md
  • blog/2024-03-28-envio-celebrates-azuro-indexer-grantee.md
  • blog/2024-04-22-envio-hypersync-powers-data-access-on-fuel-network.md
  • blog/2024-05-08-envio-community-update-9.md
  • blog/2024-05-24-case-study-peppy-finance.md
  • blog/2024-05-30-envio-community-update-may-2024.md
  • blog/2024-07-01-envio-community-update-june-2024.md
  • blog/2024-07-17-case-study-gblast.md
  • blog/2024-07-18-data-indexing-on-fuel.md
  • blog/2024-08-02-envio-community-update-july-2024.md
  • blog/2024-08-13-case-study-sablier.md
  • blog/2024-08-19-building-chaindensity.md
  • blog/2024-09-02-envio-community-update-aug-2024.md
  • blog/2024-09-27-case-study-limitless.md
  • blog/2024-10-02-envio-community-update-sep-2024.md
  • blog/2024-10-09-case-study-bridgg-op-superchain.md
  • blog/2024-10-15-ethonline24-envio-hackathon-winners.md
  • blog/2024-10-29-envio-community-update-oct-2024.md
  • blog/2024-11-08-hosted-service-v2.md
  • blog/2024-11-13-how-to-cut-aws-cloud-costs.md
  • blog/2024-11-26-indexing-and-reorgs.md
  • blog/2024-11-28-envio-community-update-november-2024.md
  • blog/2024-12-09-tokenizing-real-world-assets.md
  • blog/2024-12-18-case-study-zkpass.md
  • blog/2024-12-24-envio-community-update-december.md
  • blog/2025-01-21-what-is-a-blockchain-indexer.md
  • blog/2025-01-30-envio-developer-update-january.md
  • blog/2025-02-27-envio-dev-update-feb.md
  • blog/2025-03-17-what-is-multi-chain-indexing.md
  • blog/2025-03-26-envio-supports-70-networks.md
  • blog/2025-03-31-envio-dev-update-march-2025.md
  • blog/2025-04-15-oracle-wars.md
  • blog/2025-04-25-developer-update-april-2025.md
  • blog/2025-05-16-monad-hackathon-winners-2025.md
  • blog/2025-05-29-developer-update-may-2025.md
  • blog/2025-06-12-how-to-index-monad-data-using-envio.md
  • blog/2025-06-17-how-to-index-megaeth-data-using-envio.md
  • blog/2025-06-24-building-visualizers-and-dashboards-on-monad.md
  • blog/2025-06-24-dev-update-june-2025.md
  • blog/2025-07-30-dev-update-july-2025.md
  • blog/2025-08-29-dev-update-august-2025.md
  • blog/2025-09-30-dev-update-september-2025.md
  • blog/2025-10-28-dev-update-october-2025.md
  • blog/2025-11-12-encode-london-2025.md
  • blog/2025-11-13-metamask-smart-accounts-hackathon-winners.md
  • blog/2025-11-26-dev-update-november-2025.md
  • blog/2025-12-16-dev-update-december-2025.md
  • blog/2025-12-3-migrating-alchemy-subgraphs-to-envio.md
  • blog/2026-01-28-blockchain-indexer-app-backends.md
  • blog/2026-01-28-dev-update-january-2026.md
  • blog/2026-02-25-dev-update-february-2026.md
  • blog/2026-03-20-agentic-blockchain-indexing.md
  • blog/2026-03-20-best-blockchain-indexers.md
  • docs/HyperIndex/supported-networks/tempo.md
  • package.json
  • scripts/validate-blog-social-images.js
  • src/css/custom.css

Jordy-Baby and others added 4 commits March 23, 2026 15:05
Add explicit preview images to the two latest blog posts and normalize inline markdown formatting in the agentic post so local builds/rendering stay stable while preserving content.

Made-with: Cursor
Backfill frontmatter image metadata across blog posts and normalize slugs that produced duplicate /blog/blog paths so shared links resolve with the intended cover image. Add build-time validation to enforce valid blog image paths and prevent future social card regressions.

Made-with: Cursor
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Prevent static image path traversal in blog social-image validation by enforcing resolved paths remain under static/. Restrict markdown table overflow behavior to mobile breakpoints so desktop table layout is unchanged.

Made-with: Cursor
@Jordy-Baby Jordy-Baby merged commit cb0f367 into main Mar 24, 2026
2 of 3 checks passed
@Jordy-Baby Jordy-Baby deleted the chore/blog-preview-image-and-mdx-fixes branch March 24, 2026 06:19
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.

2 participants