Modern personal website built with Next.js 14, MDX, and Tailwind CSS.
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- Content: MDX (Markdown + React components)
- Deployment: GitHub Pages
- Language: TypeScript
npm installnpm run devOpen http://localhost:3000 to view the site.
npm run build
npm run exportThe static site will be generated in the out directory.
Blog posts are written in MDX format and stored in content/blog/.
- Create a new file:
content/blog/your-post-slug.mdx - Add frontmatter metadata:
---
title: "Your Post Title"
date: "2025-01-20"
description: "Brief description for SEO and preview"
tags: ["tag1", "tag2"]
---
Your content here with **markdown** formatting and React components!- Full Markdown support (headers, lists, code blocks, etc.)
- Syntax highlighting for code
- React components (if needed)
- GitHub Flavored Markdown (tables, task lists, etc.)
├── src/
│ └── app/ # Next.js app router
│ ├── layout.tsx # Root layout with navigation
│ ├── page.tsx # Homepage
│ ├── blog/ # Blog pages
│ │ ├── page.tsx # Blog index
│ │ └── [slug]/page.tsx # Individual posts
│ └── publications/
│ └── page.tsx # Publications page
├── content/
│ └── blog/ # MDX blog posts
├── public/ # Static assets
└── package.json
The site automatically deploys to GitHub Pages when you push to the nextjs-mdx-migration branch.
To deploy manually:
npm run deployThis is a migration from the old Hugo Academic theme. Key improvements:
- Modern, clean design focused on industry experience
- Fast, type-safe development with TypeScript
- Better blog workflow with MDX
- Easier customization without theme constraints
© 2025 Suyi Zhang