ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A Bible study and quiz app (Genesis, Exodus, 1-2 Samuel, Ezra, Psalms, Matthew,
John, Galatians), built for youth ministry
leaders and the high schoolers they teach. Domain knowledge over trivia: what
happens, where, and to whom — not theological debate.
Static site, no backend, no database — with one scoped exception: Question of
the Day (/qotd) calls Supabase directly from the browser to record answers
and show a shared daily percentile. Everything else stays backend-free.
Content is developer-authored JSON validated by Zod. Progress is tracked in
the browser via localStorage.查看完整 README ↗A Bible study and quiz app (Genesis, Exodus, 1-2 Samuel, Ezra, Psalms, Matthew, John, Galatians), built for youth ministry leaders and the high schoolers they teach. Domain knowledge over trivia: what happens, where, and to whom — not theological debate.
Static site, no backend, no database — with one scoped exception: Question of
the Day (/qotd) calls Supabase directly from the browser to record answers
and show a shared daily percentile. Everything else stays backend-free.
Content is developer-authored JSON validated by Zod. Progress is tracked in
the browser via localStorage.
npm install
npm run dev
Every page except /qotd works with no configuration. To exercise Question
of the Day locally, create a Supabase project (see supabase/migrations/0001_qotd.sql
for the schema to run), then add a .env.local:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=...
Without it, lib/supabase.ts only throws when a QOTD submit/fetch call is
actually made — the rest of the app is unaffected, and /qotd itself still
loads and shows the question, it just can't save an answer or show a
percentile.
Each book's content lives in content/<book>/*.json, validated against
content/schema.ts. Quiz questions come from two sources:
events.json/quotes.json/chapters.json
by lib/generate.ts (which chapter, where, who says it, what a chapter is about,
event ordering, matching). Exhaustively validated at build time so nothing ambiguous
ships.questions.json (themes, arcs,
covenants, characters, the book's argument) that a generator can't produce. Either
multiple choice (options + correctIndex) or short answer (format: "short-answer",
a one-or-two-word answer the player types, plus optional aliases).Events, quotes, and authored questions can carry tier: "general" for the facts most
churchgoers know without having read the book; the whole-Bible quiz's "General
knowledge" mode draws only from those. Untagged items are "deep".
CONTENT_PLAN.md is the roadmap for covering all 66 books: the per-genre conventions,
the per-book authoring recipe, and a coverage table. Start there before authoring a book.
Run the content gate before committing any content change:
npm run check:content
npm test
Fully static (output: "export" in next.config.ts) — no serverless functions.
npm run build
NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY (all
environments) so Question of the Day works on the deployed site. NEXT_PUBLIC_*
vars are inlined at build time, so this must be done before the first
build that needs them.npm run build, and serves the static
out/ directory produced by output: "export". No other project
settings need to change.No vercel.json is included on purpose: this is a plain static export with
no functions, no redirects, and no headers that need overriding, so Vercel's
zero-config static-site handling (including the auto-generated 404 page) is
enough. Add one later only if a real need shows up (custom headers,
redirects, etc.).
Vercel Analytics and
Speed Insights are wired into
app/layout.tsx. Both only report data when served from a Vercel domain —
they no-op in local dev and in the static out/ build.