maxleiter.com
maxleiter.com copied to clipboard
My personal site and playground, built with next.js
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 projects -
NEXT_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 files -
dev
: start a local instance with live reloading -
rss
: generate an RSS feed -
build
: generate an RSS feed and production site -
analyze
: generate a bundle you can inspect via @next/bundle-analyzer -
start
: start a production instance built viayarn build
-
Directory structure:
- app
-
components/
: react components -
data/
: static data that can eventually be moved to a DB or something -
lib/
: hooks, 3rd party API stuff, utils functions -
pages/
: next.js pages (the actual routes that are rendered) -
styles/
: contains the global styles -
pages/api
: nextjs API routes -
posts/
: markdown files rendered at build time -
public/
: images for blog, favicon, built files -
scripts/
: contain the scripts for building the sitemap and RSS feed