This is a personal website built with React, TypeScript, and Vite. It features a blog and book archive, with content written in Markdown and rendered dynamically. The site is designed for fast performance, modern UI, and easy content management.
- ⚡️ Fast, modern React + Vite stack
- 📚 Blog and book sections, with Markdown support
- 📝 Easy content updates via Markdown files
- 🌈 Material UI for a clean, responsive design
- 🔍 Syntax highlighting for code blocks
- 🗂 Organized folder structure for scalability
- React 19
- Vite
- TypeScript
- Material UI
- React Router
- React Markdown
- Highlight.js for code
- Node.js (v18+ recommended)
- npm or yarn
git clone https://github.com/nova-liu/nova-liu.github.io.git
cd nova-liu.github.io
npm install
# or
yarn installnpm run dev
# or
yarn devOpen http://localhost:5173 to view the site.
npm run build
# or
yarn buildnpm run lint
# or
yarn lint├── public/
│ ├── blogs/ # Blog posts in Markdown
│ ├── book/ # Book content in Markdown
│ └── logos/ # Site logos and images
├── src/
│ ├── blog/ # Blog components & config
│ ├── book/ # Book components & config
│ ├── home/ # Home page
│ ├── navigation/ # Navigation bar
│ ├── App.tsx # Main app component
│ └── main.tsx # Entry point
├── index.html # HTML template
├── package.json # Project metadata & scripts
├── vite.config.ts # Vite configuration
└── README.md # This file
- Add blog posts to
public/blogs/<topic>/<post>.md - Add book content to
public/book/ - Update navigation and config in
src/blog/blogConfig.tsandsrc/book/bookConfig.ts
Pull requests and issues are welcome! For major changes, please open an issue first to discuss what you would like to change.
MIT