Skip to content

Prerender blog articles and curated server profiles - #39

Merged
ContextVM-org merged 4 commits into
ContextVM:masterfrom
1amKhush:feat/seo-content-and-docs
Oct 6, 2026
Merged

ContextVM-org merged 4 commits into
ContextVM:masterfrom
1amKhush:feat/seo-content-and-docs

Conversation

@1amKhush

@1amKhush 1amKhush commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Closes #35.

Summary

Add versioned, last-known-good content snapshots so public blog and server pages render useful HTML without depending on relay availability during builds.

Changes

  • Add a bounded bun run content:refresh command that:
    • verifies event structure and signatures
    • keeps the latest valid article replacement event
    • refreshes three explicitly curated server announcements
    • preserves existing snapshot content on empty or partial relay responses
    • writes the snapshot atomically
  • Prerender the blog index, 27 article pages, and three curated server profiles.
  • Generate npub and snapshot-derived nprofile aliases for curated servers while keeping the lowercase hex route canonical.
  • Use snapshot content as the initial state, then refresh from relays in the browser.
  • Keep comments, discovery, server connections, and tool execution as live features.
  • Add article JSON-LD, visible breadcrumbs, stable metadata, absolute sharing images, and snapshot-backed sitemap entries.
  • Display snapshot age separately from live relay availability.
  • Prevent raw HTML and unsafe URL schemes from entering prerendered article output.
  • Expand the generated-output check to validate route inventory, canonicals, metadata, structured data, sitemap entries, base-path links, and the 404 fallback.

Normal builds remain offline and do not perform MCP calls.

Validation

  • bun run content:refresh
  • bun run check
  • bun test src/lib/content/seo-snapshot.test.ts — 4 passed
  • bun run build && bun run check:seo
  • GITHUB_PAGES=true bun run build && bun run check:seo
  • Verified representative article and server pages contain complete initial HTML.
  • Verified hex, npub, and nprofile variants return 200 with the same hex canonical.
  • Verified an unknown route returns 404.

Repository check limitations

  • The full test run reports 30 passing tests and one dependency-loading error because svelte-sonner cannot resolve runed.
  • ESLint fails during initialization inside @eslint/eslintrc/AJV before inspecting project files. Changed files pass Prettier and svelte-check.

Copilot AI balanced review requested due to automatic review settings September 29, 2026 13:44
@vercel

vercel Bot commented Sep 29, 2026

Copy link
Copy Markdown

@1amKhush is attempting to deploy a commit to the ContextVM's projects Team on Vercel.

A member of the Team first needs to authorize it.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@1amKhush 1amKhush changed the title Feat/seo content and docs Prerender blog articles and curated server profiles Sep 29, 2026
@vercel

vercel Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
contextvm-site Ready Ready Preview Oct 6, 2026 4:17pm UTC

- Reject server announcements whose website/picture tags are not plain
  http(s) URLs before they enter the prerendered snapshot (tags bypass
  InitializeResultSchema content validation and are rendered into
  href/src attributes on prerendered pages).
- Add a PR CI workflow running svelte-check, targeted unit tests,
  build, and check:seo so output regressions gate PRs instead of only
  the GitHub Pages deploy.
- Clarify the missing-snapshot error in content:refresh.
@ContextVM-org
ContextVM-org merged commit bb226f1 into ContextVM:master Oct 6, 2026
2 of 3 checks passed
@1amKhush
1amKhush deleted the feat/seo-content-and-docs branch October 6, 2026 21:10

This branch was successfully deployed

1 active deployment
Preview — ddccd7c6 Deployed Oct 6, 2026 by vercel[bot]
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.

Prerender Nostr blog posts and selected public server profiles

3 participants