iamnbutler/iamnbutler.github.ioPublic

Personal Site

refactor: migrate nate.rip to site.standard schema (#46)

* chore: migrate to site.standard schema

* chore: remove legacy field fallbacks in atproto.ts

Use only site.standard field names (textContent, publishedAt) without
fallbacks to old rip.nate schema fields (content, createdAt).

* fix: align with official site.standard spec

- Add site.standard.theme.color and site.standard.theme.basic lexicons
- Update document lexicon: add format:uri to site field, add content union,
  fix textContent description (plaintext only, no markdown)
- Update publication lexicon: key=tid, proper preferences ref
- Add basicTheme to publication with nate.rip dark theme colors
- Use content union for markdown, textContent for plaintext:
  - content: { $type: "rip.nate.content.markdown", text: "..." }
  - textContent: stripped plaintext for search/indexing
- Add scripts/lib/markdown.ts with stripMarkdown and markdownContent helpers
- Update all upload scripts and migration script
- Frontend reads markdown from content.text field

---------

Co-authored-by: GitHub Ace <githubnext@users.noreply.github.com>
GANBNate Butler and GitHub Ace authored committed by GitHub
24bd426Patch
Parent7114199
16 files changed+664-101
StackedSplit
package-lock.json+0 −35
scripts/lexicons/site.standard.document.json+104 −0
scripts/lexicons/site.standard.publication.json+61 −0
scripts/lexicons/site.standard.theme.basic.json+33 −0
scripts/lexicons/site.standard.theme.color.json+53 −0
scripts/lib/markdown.ts+45 −0
scripts/migrate-to-standard.ts+196 −0
scripts/upload-link.ts+23 −9
scripts/upload-post.ts+17 −9
scripts/upload-publication.ts+50 −0
scripts/upload.ts+43 −21
src/layouts/Base.astro+3 −2
src/lib/atproto.ts+23 −24
src/lib/types.ts+1 −0
src/pages/.well-known/site.standard.publication.ts+11 −0
src/pages/f/[id].astro+1 −1