Personal technical blog for Do Quang Huy, built with Next.js, Tailwind CSS, MDX, and Contentlayer.
Live site: https://dohuy91.github.io
- Next.js 15 App Router
- Tailwind CSS 4
- MDX content via Contentlayer
- Pliny for search, comments, newsletter, and analytics integrations
- GitHub Actions deployment to
gh-pages
Install dependencies:
npm installRun the dev server:
npm run devRun the lightweight filter tests:
node --test lib/blog-filters.test.mjsBuild the static export:
npm run build- data/siteMetadata.js: site identity, comments, analytics, newsletter, search
- data/authors/default.mdx: author profile
- data/blog: blog posts
- data/projectsData.ts: project cards
- contentlayer.config.ts: MDX schema and generated tag/search data
- css/tailwind.css: site theme and prose styling
This repo deploys through deploy.yml, which builds the static site and publishes out/ to the gh-pages branch.
For GitHub Pages to serve the deployed site correctly, repository Pages settings should point to:
- Branch:
gh-pages - Folder:
/ (root)
public/search.jsonandapp/tag-data.jsonare generated during builds.- The blog supports English and Vietnamese posts through the
languagefrontmatter field.