Welcome to the monorepo of my personal blog! This repository houses the code for my blog, where I share my thoughts, projects, and insights. Feel free to explore and get inspired.
- ⚡️ Next.js 14 with App Router
- 📝 MDX
- 🎨 Tailwind CSS - for styling
- 🌈 Radix UI - accessible UI components
- 🛡 Strict TypeScript and ESLint configuration
- 📱 Responsive design
- 🌗 Light / Dark mode
- 📈 SEO optimized with meta tags and JSON-LD
- 📰 RSS feed
- 🗺 Sitemap
- 📊 Umami Analytics
- 📝 Blog with comments, likes, and post views
- 🔎 Blog post search
- 📖 Table of contents for blog posts
- 📷 Image zoom - zoom in on images in blog posts
- 📝 Code syntax highlighting - using Shiki
- 🎨 Animation - using Framer Motion
- 🏠 LightHouse score of nearly 100
- 🔨 Husky & Lint Staged - lint and format code before committing
- ✅ Conventional commit lint - make sure commit messages follow the conventional commit format
- 🔒 NextAuth.js - authentication
- 💄 Prettier - code formatting
- 〰️ Drizzle - ORM
- 👷🏻♂️ t3-env - validate environment variables before building
- Node, recommended
20.x
- pnpm, recommended
9.x
- PostgreSQL, recommended
14.x
(using docker compose) - Visual Studio Code with recommended extensions
- Optionally React Developer Tools
Please refer to the contributing guidelines for detailed information on how to start the app locally and contribute to this project.
- Use strict content security policy - still not working in
14.0.4
next/image
- vercel/next.js#45184nonces
- vercel/next.js#54907main-app.js
- vercel/next.js#55129
This project has been possible thanks to the wonderful open-source community. Special thanks to Timothy for the Tailwind nextjs starter blog template.
Thanks goes to these wonderful people (emoji key):
Hong 💻 📖 🎨 🤔 🚧 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Please do not deploy this directly to production. It is not a template and is not intended to be used as one.
This project is open source and available under the GPL3 License.
Made with ❤️ in Hong Kong