Build a Personal Blog — Phase 2: MDX On-Demand Rendering
Add the content layer to your Next.js 16 blog: read MDX files from disk, parse frontmatter with gray-matter, compile on-demand with next-mdx-remote, and render posts with syntax highlighting via rehype-pretty-code + Shiki.