My personal website and blog site built with Next.js, MDX, and Tailwind CSS.
- Node 24
- Next.js
16 - React
19 - Typescript
- Tailwind CSS
- Node.js
20+ - npm
npm installCreate .env.local in the project root:
NEXT_PUBLIC_SITE_URL=https://www.williamblackie.com
NEXT_PUBLIC_GISCUS_REPO=owner/repo
NEXT_PUBLIC_GISCUS_REPO_ID=R_kgDOExample
NEXT_PUBLIC_GISCUS_CATEGORY=General
NEXT_PUBLIC_GISCUS_CATEGORY_ID=DIC_kwDOExample4CExample
# Optional:
# NEXT_PUBLIC_GISCUS_MAPPING=pathname
# NEXT_PUBLIC_GISCUS_STRICT=0
# NEXT_PUBLIC_GISCUS_REACTIONS_ENABLED=1
# NEXT_PUBLIC_GISCUS_EMIT_METADATA=0
# NEXT_PUBLIC_GISCUS_INPUT_POSITION=top
# NEXT_PUBLIC_GISCUS_LANG=enrepoId and categoryId come from the giscus setup flow:
https://giscus.app
npm run devOpen http://localhost:3000.
npm scripts:
npm run devnpm run lintnpm run buildnpm run start
Make targets:
make helpmake installmake devmake lintmake buildmake startmake outdatedmake auditmake update
src/app/articles/*- published articlessrc/app/projects/page.tsx- projectssrc/app/about/page.tsx- aboutsrc/app/tech/page.tsx- techsrc/content/blog-drafts/*- article drafts and series planning