Project setup hub

Use these guides to wire optional features. Copy .env.example to .env.local for local secrets (gitignored). Never commit tokens.

For the full reference maintained with the code, see docs/TEMPLATE_SETUP.md.


Guides

TopicArticle
Vercel: where to put env varsVercel environment variables
Blog (Tina CMS), /posts, /adminTina blog setup
Contact form (reCAPTCHA + EmailJS)Contact form: reCAPTCHA and EmailJS
GitHub card on AboutGitHub profile and token
Music player (NetEase playlist)NetEase music player
Unique visitor counter (Redis)Visitor counter (Upstash)

Environment variables (quick reference)

VariableScopeWhere to configure
NEXT_PUBLIC_TINA_CLIENT_IDClient / CLIapp.tina.io
TINA_TOKENServer / CLITina project → Tokens
NEXT_PUBLIC_TINA_BRANCHOptionalTina / git branch
NEXT_PUBLIC_RECAPTCHA_SITE_KEYClientGoogle reCAPTCHA Admin
RECAPTCHA_SECRET_KEYServer onlyGoogle (optional server verify)
EmailJS keys / template IDsApp code or envemailjs.com
NEXT_PUBLIC_NETEASE_PLAYLIST_IDClientPlaylist id from music.163.com
NEXT_PUBLIC_GITHUB_USERNAMEClientYour GitHub login
GITHUB_TOKENServer onlygithub.com/settings/tokens
UPSTASH_REDIS_REST_URLServerconsole.upstash.com
UPSTASH_REDIS_REST_TOKENServerUpstash Redis → REST API

Commands

CommandPurpose
npm run devTina dev + Next.js (see Tina guide)
npm run buildTina Cloud build + next build (needs TINA_TOKEN + client id)
npm run build:localLocal Tina build without Cloud (CI / offline)

Discussion

Likes and comments on this post.

Like

One like per visitor (by IP). Tap again to remove your like.

Comments

  • Loading comments…
Loading your playlist...