[![GitHub](https://img.shields.io/github/license/tszhong0411/honghong.me)](https://github.com/tszhong0411/honghong.me/blob/main/LICENSE) [![codecov](https://codecov.io/gh/tszhong0411/honghong.me/branch/main/graph/badge.svg)](https://codecov.io/gh/tszhong0411/honghong.me) [![CodeFactor](https://www.codefactor.io/repository/github/tszhong0411/honghong.me/badge)](https://www.codefactor.io/repository/github/tszhong0411/honghong.me) [![CI](https://github.com/tszhong0411/honghong.me/actions/workflows/ci.yml/badge.svg)](https://github.com/tszhong0411/honghong.me/actions/workflows/ci.yml) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/tszhong0411/honghong.me/blob/main/CONTRIBUTING.md) ![GitHub top language](https://img.shields.io/github/languages/top/tszhong0411/honghong.me) ![GitHub repo size](https://img.shields.io/github/repo-size/tszhong0411/honghong.me) Welcome to my personal blog repository! This repository houses the code for my blog, where I share my thoughts, projects, and insights. Feel free to explore and get inspired. ## โœจ Features - โšก๏ธ Next.js 14 with App Router - ๐Ÿ“ MDX + Contentlayer - ๐ŸŽจ Tailwind CSS - for styling - ๐ŸŒˆ Radix UI - accessible UI components - ๐Ÿ›ก Strict TypeScript and ESLint configuration - ๐Ÿ“š JSDoc comments for all functions - ๐Ÿ“ฑ Responsive design - ๐ŸŒ— 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 - for code blocks in blog posts - ๐ŸŽจ Animation - using Framer Motion - ๐Ÿค– GitHub Actions for CI/CD - ๐Ÿ  LightHouse score of nearly 100 - ๐Ÿงช Vitest - unit and integration tests - ๐ŸŽญ Playwright - end-to-end tests - โ˜‚๏ธ Codecov - code coverage - ๐Ÿ”จ 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 - โ—ฎ Prisma - ORM - ๐Ÿ‘ท๐Ÿปโ€โ™‚๏ธ t3-env - validate environment variables before building ## ๐Ÿ”จ Requirements - Node with [Corepack](https://github.com/nodejs/corepack), recommended `18.x`, minimum `16.9.0` - Yarn, recommended `4.0.0`, minimum `3.x` - MySQL, recommended `8.0`, minimum `5.6` - [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 Follow these steps to run the project locally on your machine: ```bash git clone https://github.com/tszhong0411/honghong.me.git cd honghong.me corepack enable yarn install ``` Create a `.env.local` file based on the provided `.env.example` file and fill in the necessary variables. ```bash yarn dev ``` The app will become available at `http://localhost:3000`. ## โœˆ๏ธ TODO - Use strict content security policy - still not working in `13.5.3` - `next/image` - vercel/next.js#45184 - `nonces` - vercel/next.js#54907 - `main-app.js` - vercel/next.js#55129 - Fix `react-medium-image-zoom` on Edge Runtime bug - rpearce/react-medium-image-zoom#429 ## ๐Ÿ”” Important Note Hello there! While I'm glad to see you're interested in my open-source project, I kindly request that you refrain from using this source code as a template for your website. Instead, I encourage you to use it as a learning resource and as inspiration to create something unique. - **Originality**: Building something from scratch allows you to showcase your originality and creativity. - **Learning**: Creating your own project helps you learn and improve your skills. If you have questions or feedback, please reach out to me. Thank you for understanding! ## โค๏ธ 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).

Made with โค๏ธ in Hong Kong

# portfolio-2023-v4