My personal site
Getting started
- Install the
pnpm
package manager: https://pnpm.io/ - Run
pnpm
in the project directory - Run
pnpm dev
to start a local developer server
Environment variables
GITHUB_TOKEN
: necessary if you want to fetch github stars for projectsNEXT_PUBLIC_SUPABASE_URL
,SUPABASE_SERVICE_ROLE_KEY
,NEXT_PUBLIC_SUPABASE_ANON_KEY
: required for analytics. See https://maxleiter.com/blog/supabase-next-analytics for more info- If you want the git commit hash in the bottom of the home page, you need to host with vercel or provide a
NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA
env var
Usage:
pnpm <command>
:lint
: automatically lints filesdev
: start a local instance with live reloadingrss
: generate an RSS feedbuild
: generate an RSS feed and production siteanalyze
: generate a bundle you can inspect via @next/bundle-analyzerstart
: start a production instance built viayarn build
Directory structure:
- app
components/
: react componentsdata/
: static data that can eventually be moved to a DB or somethinglib/
: hooks, 3rd party API stuff, utils functionspages/
: next.js pages (the actual routes that are rendered)styles/
: contains the global stylespages/api
: nextjs API routesposts/
: markdown files rendered at build timepublic/
: images for blog, favicon, built filesscripts/
: contain the scripts for building the sitemap and RSS feed