尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A private, multi-user notebook. People sign up with a username and password, keep several notebooks of rich-text pages, and choose one of three themes: Linen, Specimen or Reverie. Pages autosave as you type.
Next.js 16 · Postgres (Neon) via Drizzle · Tiptap editor · Resend for reset emails.
npm install
npm run preview # fast production build — use this to look around
npm run dev # live-reloading, for editing code (slower on first visit to each page)
Open http://localhost:3000. No setup is needed: without a DATABASE_URL, both commands
start an embedded Postgres (PGlite) that stores its data in ./.pglite. To start
fresh, delete that folder.
Password-reset emails are printed to the terminal while RESEND_API_KEY is unset.
DATABASE_URL for you. You can also create a database at neon.tech and paste its
connection string in yourself.scripts/migrate.mjs first, which creates or updates the tables.| Variable | What it does |
|---|---|
RESEND_API_KEY | Sends password-reset emails. Get a key at resend.com. |
EMAIL_FROM | Sender address, e.g. Levitating Notebook <[email protected]>. The domain must be verified in Resend. |
APP_URL | Base URL used in reset links. It defaults to your Vercel production URL. |
LEGAL_NAME | Who runs the site, as named in the privacy policy and terms. |
CONTACT_EMAIL | Where people send privacy requests and questions. Shown on /privacy and /terms. |
LEGAL_COUNTRY | Where you're based; sets the governing law in the terms. |
src/lib/crypto.ts.src/lib/ratelimit.ts). Quotas per account in src/lib/limits.ts.src/proxy.ts) plus nosniff, frame
denial, referrer and permissions policies and HSTS (next.config.ts).Edit src/db/schema.ts, then run npm run db:generate to write a migration into
./drizzle/. It's applied automatically on the next npm run dev or deploy.
| Path | What |
|---|---|
src/app/themes.css | All three themes: colour tokens, backdrops, book covers, paper |
src/app/globals.css | Layout and components (theme-agnostic) |
src/components/Ambience.tsx | The animated backdrop layers |
src/components/Editor.tsx | Tiptap editor and toolbar |
src/lib/autosave.ts | Debounced save, retry, and a final save when the tab closes |
src/lib/session.ts | Sessions: random token in an httpOnly cookie, SHA-256 hash in the database |
src/app/actions/ | Server actions for sign-up/sign-in, notebooks and account settings |
src/lib/crypto.ts | End-to-end encryption: key derivation, wrapping, recovery key, ciphertexts |
src/components/Vault.tsx | Holds the key in the browser; unlock, upgrade and recovery-key dialogs |