尚未偵測到更新。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 |