尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Navigate digital account inheritance with clear guidance.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A web platform that simplifies digital account inheritance by providing clear guidance on account policies and procedures, starting with major online services in Korea.
https://digital-legacy-five.vercel.app/
Company guides stay in lib/data.ts and lib/company-en.ts. Checklist and guide progress stay in the browser. Supabase stores contact-form inquiries only, and only after the variables below are set. It does not store account data or identity documents.
Copy .env.example to .env.local for local development. On Vercel, add the same names under Project Settings → Environment Variables, then redeploy.
| Name | Required | Purpose |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | For inquiry storage | Project URL from Supabase → Project Settings → API |
NEXT_PUBLIC_SUPABASE_ANON_KEY | For inquiry storage | anon public key. A publishable key (sb_publishable_...) also works here, or as NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY |
NEXT_PUBLIC_CONTACT_EMAIL | No | Inbox for FormSubmit email delivery. Blank uses the address published on the privacy policy |
Do not add the service role key or secret key to Vercel or to any NEXT_PUBLIC_ variable.
The site builds and the contact form still sends email when the Supabase URL or key is missing. createClient() and createServerSupabaseClient() throw an error that names the missing variables, so a feature that calls them directly fails clearly instead of sending an anonymous request.
Run supabase/migrations/001_init.sql once in the Supabase SQL editor. The script removes the unused companies draft, creates contact_submissions, and exposes submit_contact to anonymous visitors. Row level security stays on, with no public read, update, or delete.
Read new rows in the Supabase table editor. Delete them within 30 days of the reply. This repo does not schedule that deletion.
There is no signed-in user and no auth middleware. The server client still uses the App Router cookie adapter. Nothing in the product writes a user session today.
Browser client: lib/supabase.ts (createClient, client components only). Server client: lib/supabase-server.ts (createServerSupabaseClient).
Canonical URLs, Open Graph, Twitter cards, sitemap.xml, and robots.txt all use one public origin:
NEXT_PUBLIC_SITE_URL — origin only, no trailing slash. Example: https://digital-legacy-five.vercel.apphttps://digital-legacy-five.vercel.app.Set it in the Vercel project for Production. Use the same production origin for Preview when preview deployments should not advertise themselves as the canonical site. Do not set it to a *.vercel.app preview URL.
Connecting a custom domain is separate from this setup. When a domain is live, change NEXT_PUBLIC_SITE_URL to that origin so canonical and share URLs follow it.
The share image is public/og/logout-share.png (1200×630). Regenerate it with python3 scripts/generate-og-image.py after installing Pillow and the fonts noted in that script. Open Graph and Twitter image tags use an absolute URL on the site origin.
/guides lists published guides. /guides/[slug] renders Markdown and FAQ as static server HTML, with a table of contents, related guides and a /#start CTA. No CMS or external blog connection is used.
docs/guide-template.md to content/guides/your-lowercase-slug.md.title, description, date (quoted YYYY-MM-DD); optional updated, tags (string array), draft (boolean), faq (array of { question, answer }). Dates must be real calendar dates; updated cannot precede date.## / ### headings; the page supplies the only H1. Use standard Markdown links and lists, with a sources section and explicit conditions. Raw HTML and executable MDX are not supported.draft: true while writing. Drafts are excluded in all environments, including direct detail URLs (404), related guides, sitemap, llms.txt and JSON-LD. There is no public draft preview. Set draft: false or omit it to publish; commit and rebuild.npm ci, npm run test:guides, npx tsc --noEmit, and NEXT_PUBLIC_SITE_URL=https://logout.nabin.cc npm run build. Local test runner requires Node 22.18+ or 24+; the Next.js app keeps its existing runtime requirements.For production HTML verification, run NEXT_PUBLIC_SITE_URL=https://logout.nabin.cc npm run start -- --port 3091, then NEXT_PUBLIC_SITE_URL=https://logout.nabin.cc node scripts/check-guides.mjs http://localhost:3091. The checks cover metadata, visible summary/FAQ, JSON-LD, sitemap, llms.txt, robots and unknown/draft 404s. A temporary qa-draft.md copied from the template was included during the verified build and removed afterward.
The canonical production origin is NEXT_PUBLIC_SITE_URL=https://logout.nabin.cc (already configured on Vercel). Set it locally for build/start checks too. Existing lib/site.ts origin resolution remains unchanged; guides reuse lib/seo.ts, and app/robots.ts already allows crawling and points to the shared sitemap.
lib/guide-seo.ts emits one page-level JSON-LD graph: WebPage/FAQPage, BlogPosting and BreadcrumbList (CollectionPage and ItemList on the index). It references the existing Organization/WebSite graph in the root layout; it adds no SearchAction or speculative HowTo schema. Structured FAQ content is the same text shown to readers. Search-engine display, citation, and rich results are not guaranteed.
app/llms.txt/route.ts serves /llms.txt, using SITE_URL and only published guide URLs. app/sitemap.ts adds the index and published details with updated ?? date lastmod. Publishing dates describe the article, not a re-verification of every company policy.
Sample slugs:
before-managing-a-deceased-accountdownload-delete-memorial-differenceshow-to-read-official-account-guidanceTODO: translate guides and add /en/guides parity. Until then, English navigation labels these links as Korean; switching language from a guide goes to /en rather than a missing translation. No fictitious English hreflang URLs are emitted.
This feature adds no AdSense scripts, ad slots or ads.txt. The pre-existing global advertising script in app/layout.tsx is outside this change.