Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tszhong0411/honghong.me
My personal website built with TypeScript, Next.js, and Tailwind CSS
https://github.com/tszhong0411/honghong.me
blog drizzle-orm i18n mdx monorepo nextjs personal-blog portfolio react tailwindcss turborepo typescript vercel website
Last synced: 6 days ago
JSON representation
My personal website built with TypeScript, Next.js, and Tailwind CSS
- Host: GitHub
- URL: https://github.com/tszhong0411/honghong.me
- Owner: tszhong0411
- License: mit
- Created: 2022-01-31T19:55:20.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-02T16:27:20.000Z (18 days ago)
- Last Synced: 2025-02-03T09:38:27.214Z (17 days ago)
- Topics: blog, drizzle-orm, i18n, mdx, monorepo, nextjs, personal-blog, portfolio, react, tailwindcss, turborepo, typescript, vercel, website
- Language: TypeScript
- Homepage: https://honghong.me
- Size: 149 MB
- Stars: 640
- Watchers: 6
- Forks: 100
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
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.
## Features
### Core Technologies
- Next.js 15 with App Router
- TypeScript with strict configuration
- Tailwind CSS for styling
- MDX for content
- Drizzle ORM
- I18n for internationalization support### UI/UX
- Radix UI for accessible UI components
- Responsive design
- Light/Dark mode
- Image zoom in blog posts
- Shiki for code syntax highlighting
- Motion for animations
- Table of contents for blog posts### Blog Features
- Comments system
- Like functionality
- Post view counter
- Blog post search
- RSS feed
- Sitemap### Performance & SEO
- Lighthouse score of nearly 100
- SEO optimized with meta tags and JSON-LD
- Open graph images using `next/og`### Development Experience
- Vitest for unit/integration testing
- Playwright for E2E testing
- ESLint configuration
- Prettier code formatting
- Simple-git-hooks & lint-staged
- Conventional commit lint
- CSpell for spell checking
- Auto refresh for MDX### Authentication & Data
- NextAuth.js authentication
- Redis caching
- Upstash for API rate limiting
- t3-env for environment variables
- Umami Analytics### Email Templates
#### Comment Notification
![]()
#### Reply Notification
![]()
## Requirements
- Node, recommended `>=22` with [corepack](https://nodejs.org/api/corepack.html) enabled
- pnpm, recommended `>=9`
- [Visual Studio Code](https://code.visualstudio.com/) with [recommended extensions](.vscode/extensions.json)
- Optionally [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)## Getting Started
Please refer to the [contributing guidelines](./CONTRIBUTING.md) for detailed information on how to start the app locally and contribute to this project.
## Credits
This project has been possible thanks to the wonderful open-source community. Special thanks to [Timothy](https://www.timlrx.com/) for the [Tailwind nextjs starter blog template](https://github.com/timlrx/tailwind-nextjs-starter-blog).
This project also uses / adapts the following open-source projects.
Without them, this project would not have been possible:
- Comment System - from [fuma-comment](https://github.com/fuma-nama/fuma-comment)
- Rehype Plugins - from [fumadocs](https://github.com/fuma-nama/fumadocs)
- UI - from [shadcn/ui](https://github.com/shadcn-ui/ui)
- ESLint config - from [@antfu/eslint-config](https://github.com/antfu/eslint-config)
- Admin UI - from [shadcn-admin](https://github.com/satnaing/shadcn-admin)Referenced the following projects for inspiration:
- [fumadocs](https://fumadocs.vercel.app/)
- [leerob.io](https://leerob.io/)
- [nerdfish.be](https://www.nerdfish.be/)
- [nextra.site](https://nextra.site/)
- [theodorusclarence.com](https://theodorusclarence.com/)
- [ped.ro](https://ped.ro/)
- [delba.dev](https://delba.dev/)
- [joshwcomeau.com](https://www.joshwcomeau.com/)
- [blog.maximeheckel.com](https://blog.maximeheckel.com/)
- [zenorocha.com](https://zenorocha.com/)
- [jahir.dev](https://jahir.dev/)
- [anishde.dev](https://anishde.dev/)
- [nikolovlazar.com](https://nikolovlazar.com/)
- [samuelkraft.com](https://samuelkraft.com/)
- [bentogrids.com](https://bentogrids.com/)
- [ui.aceternity.com](https://ui.aceternity.com/)
- [hover.dev](https://www.hover.dev/)
- [vocs.dev](https://vocs.dev/)and more but I can't remember them all
## Author
- [@tszhong0411](https://github.com/tszhong0411)
## Donation
If you find this project helpful, consider supporting me by [sponsoring the project](https://github.com/sponsors/tszhong0411).
## License
This project is open source and available under the [MIT License](LICENSE).