Migrate blog from hardcoded TSX posts to MDX with auto-population

- Add gray-matter + next-mdx-remote for MDX rendering
- Create content/blog/ with .mdx files and frontmatter
- Add dynamic [slug] route and blog utility (src/lib/blog.ts)
- Blog index auto-populates from MDX files, sorted newest first
- Upgrade React to 19 for next-mdx-remote v6 compatibility
- Convert existing posts: website-relaunch, smirk-wallet, bauhaus-echo, crypto-checkout
This commit is contained in:
jwinterm
2026-03-10 10:46:41 -04:00
parent 3001d4bbe1
commit 2b9b1bf429
12 changed files with 1505 additions and 375 deletions
+6 -4
View File
@@ -16,11 +16,13 @@
"@repo/config": "workspace:*",
"@repo/ui": "workspace:*",
"framer-motion": "^11.0.0",
"gray-matter": "^4.0.3",
"lucide-react": "^0.350.0",
"next": "^15.1.3",
"next-mdx-remote": "^6.0.0",
"next-themes": "^0.4.6",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-icons": "^5.5.0",
"resend": "^4.0.0",
"zod": "^3.22.4"
@@ -30,8 +32,8 @@
"@playwright/test": "^1.57.0",
"@tailwindcss/typography": "^0.5.19",
"@types/node": "^20.0.0",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"autoprefixer": "^10.0.1",
"eslint": "^8",
"eslint-config-next": "^15.1.3",