TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free, open-source Markdown notes that live in your own GitHub repo. Wikilinks, backlinks, offline search, Mermaid diagram studio, PDF reading and real version history, with no lock-in.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A full Markdown workspace whose database is a GitHub repository you already own. Linked notes, offline search, a visual diagram studio and real version history, with nothing stored on our servers and nothing to be locked out of.
Open ForkLeaf · Try it without an account · Documentation · Discussions · Wiki · Changelog
Most note apps ask you to trust them with your writing. ForkLeaf doesn't hold your
notes at all. Every note is a plain .md file in a GitHub repository you own.
| 🗂 Storage | Your GitHub repository. Nothing is stored on our servers. |
| 🕰 History | Ordinary git commits. git log your notes, blame a paragraph. |
| ✈️ Offline | Everything is written to IndexedDB first, then pushed. |
| 📤 Export | PDF, HTML, Word, Markdown, plain text and JSON, all in the browser. |
| 🌐 Publishing | Public pages, books and digital gardens served by GitHub Pages. |
| 🔓 Lock-in | None. Clone the repository and every note is still there. |
Free, all of it, with no tiers. The expensive part of a notes app is storage, and ForkLeaf has none.
Rich text, split source and preview, or raw Markdown, switchable per note.
Slash commands, a ⌘K command palette, a properties panel that edits YAML
frontmatter, and live stats and outline for every note.
[[Wikilinks]] in the Obsidian dialect, with hover previews, backlinks quoted at
the line they were written on, and links to notes you haven't written yet.
Full-text search ranks every word of every note, offline.
Mermaid diagrams drawn on a canvas or typed with autocomplete. A gallery of 14 templates, and node positions that survive the round trip between the visual builder and the source.
And much more:
See the full list on the features page or in features.md.
You can also try it without an account: notes stay in your browser until you connect GitHub.
Requirements: Node.js 20.9+ and pnpm 9+.
git clone https://github.com/praneeth132006/ForkLeaf.git
cd ForkLeaf
pnpm install
pnpm dev
Open http://localhost:3000/editor. With no configuration, ForkLeaf runs in local mode: fully functional, with notes stored in your browser. This is also how the test suite and CI exercise the app.
Go to GitHub → Settings → Developer settings → OAuth Apps → New OAuth App and set:
http://localhost:3000http://localhost:3000/api/auth/callbackCopy the example environment file and fill in your app's values:
cp .env.example apps/web/.env.local
GITHUB_OAUTH_CLIENT_ID=your_client_id
GITHUB_OAUTH_CLIENT_SECRET=your_client_secret
SESSION_SECRET=generate_with_openssl_rand_base64_32
NEXT_PUBLIC_APP_URL=http://localhost:3000
Generate the session secret with openssl rand -base64 32, then restart pnpm dev.
ForkLeaf requests the repo scope because it writes to private repositories;
public_repo is offered on the sign-in page for anyone keeping notes in public
repositories only.
flowchart LR
You([You type]) --> Editor
Editor --> Store[(IndexedDB)]
Store --> Queue[Change queue]
Queue --> API[Next.js API route]
API --> GH[(Your GitHub repo)]
subgraph Browser
Editor
Store
Queue
end
Your GitHub token lives only on the server, encrypted into an httpOnly cookie. The
browser talks to /api/gh/*, never to GitHub directly, so no script on the page
can read your token. More in docs/architecture.md.
This is a pnpm + Turborepo monorepo.
| Package | Responsibility |
|---|---|
apps/web | Next.js app: auth, API routes, publishing, the editor shell and docs |
apps/extension | The "Save to ForkLeaf" browser extension |
@forkleaf/editor | React editing surfaces: rich text, source, split and the diagram studio |
@forkleaf/store | IndexedDB storage, change queue, sync engine, conflicts, search index |
@forkleaf/github-client | GitHub REST client: trees, files, atomic multi-file commits |
@forkleaf/markdown-engine | Frontmatter, parsing, sanitised rendering, wikilinks |
@forkleaf/diagrams | Mermaid rendering, templates, autocomplete, visual-builder graph model |
@forkleaf/exporter | Client-side PDF, HTML, DOCX, Markdown and ZIP export |
@forkleaf/pdf | PDF text extraction, in-document search, durable citations |
@forkleaf/mcp | MCP server for AI assistants |
@forkleaf/types | Shared domain model |
pnpm dev # start the web app
pnpm test # run the test suite
pnpm typecheck # typecheck every package
pnpm lint # lint
pnpm build # production build
pnpm check # everything above, in order (run this before a pull request)
Contributions of every size are welcome, from a typo fix to a new feature. Read CONTRIBUTING.md for setup, conventions and good first issues, and please follow the Code of Conduct.
Found a security issue? Please don't open a public issue. See SECURITY.md.
If ForkLeaf is useful to you, a ⭐ on the repository helps other people find it.
Apache License 2.0 © ForkLeaf contributors.