# Todo Note A dedicated **todo note tree** for [Obsidian](https://obsidian.md): browse your vault like the File explorer, with a checkbox on every note so you can mark work done without leaving the sidebar. ![image](https://github.com/user-attachments/assets/9f685255-84b3-44e8-84eb-9aebd994a8ac) **Repository:** [onefishmanx/obsidian-todo-note](https://github.com/onefishmanx/obsidian-todo-note) ## Background Obsidian’s default File explorer is great for files—but it doesn’t treat notes as a todo list. Todo Note adds a separate left-sidebar tree that: - Lists **folders and Markdown notes** (same vault, offline-first) - Shows a **checkbox** before each note; completed notes use a muted title style - Persists completion in the note’s **frontmatter** (`todo-note-completed`) - Mirrors familiar File explorer habits: sort, new note/folder, auto-reveal, expand/collapse, and context menus The stock File explorer is unchanged. Use Todo Note when you want a completion-focused browse surface next to it. ## Features - Open via ribbon icon or command **Open todo note tree** / **打开待办笔记树** - Toolbar aligned with File explorer (new note, new folder, sort, auto-reveal, expand/collapse) - Row structure compatible with common File explorer CSS themes (`nav-file` / `nav-folder`) - Folder and note context menus (rename, delete, copy path, bookmarks, open in new tab, …) - English + Chinese UI for plugin-owned labels; other languages fall back to English - Desktop and mobile (`isDesktopOnly: false`); requires Obsidian **1.8.7+** ## Install ### From Community plugins (after publication) 1. **Settings → Community plugins → Turn on community plugins** (if needed). 2. Select **Browse**, search for **Todo Note**. 3. Select **Install**, then **Enable**. ### Manual install (GitHub release) 1. Download `main.js`, `manifest.json`, and `styles.css` from the [latest release](https://github.com/onefishmanx/obsidian-todo-note/releases/latest). 2. Create folder: `/.obsidian/plugins/todo-note/`. 3. Copy the three files into that folder. 4. Reload Obsidian → **Settings → Community plugins** → enable **Todo Note**. ### From source (developers) ```bash npm install npm run build ``` Copy `main.js`, `manifest.json`, and `styles.css` into `/.obsidian/plugins/todo-note/`, then reload and enable the plugin. For watch mode during development: `npm run dev`. ## Usage ### Desktop 1. Select the ribbon **list-todo** icon, or run **Open todo note tree** from the command palette. 2. Use the toolbar to create notes/folders, change sort order, auto-reveal the active file, or expand/collapse the tree. 3. Select the checkbox to mark a note complete (or incomplete). Completion is stored in that note’s frontmatter. 4. Select a note row to open it; right-click folders or notes for File explorer–style actions. ### Mobile Obsidian mobile does not show the left ribbon. After you enable the plugin: 1. **Pull down** from the top of the screen to open the command sheet (command palette). 2. Search for **todo note**. 3. Tap **Todo Note: Open todo note tree** (Chinese: **Todo Note: 打开待办笔记树**). The todo note tree opens in the left drawer—the same area as the stock File explorer. Use the drawer header tabs to switch between **Files** and **Todo note tree**. From there, use the toolbar and tree the same way as on desktop: checkboxes for completion, tap a note to open it, long-press folders or notes for actions. **Optional:** Add the command to the mobile editor toolbar via **Settings → Interface → Mobile → Manage toolbar options** → **Open todo note tree**. ## Privacy Todo Note works **fully offline**. It does not send vault contents, filenames, or analytics to any network service. It only reads and writes inside your vault and the plugin’s local data. ## Requirements - Obsidian `minAppVersion`: **1.8.7** - Plugin id: `todo-note` (do not rename after release) ## License 0BSD — see [LICENSE](./LICENSE). --- ## 中文简介 **Todo Note** 提供独立的「待办笔记树」:在类似文件列表的界面上为每条笔记增加完成勾选,完成状态写入笔记 frontmatter,默认文件列表不受影响。体验类似 Joplin 的Todo Note - **桌面端**:左侧功能区open todo note tree 图标,或命令面板 **打开待办笔记树**。 - **移动端**:从屏幕顶部**下拉**打开命令面板,搜索 **todo note**,点击 **Todo Note: 打开待办笔记树**;树会出现在左侧抽屉,与「文件」同级切换。 全程本地离线,无网络上报。 ## Publishing (maintainers) 1. Bump `version` in `manifest.json` (and `package.json` / `versions.json` as needed). Commit and push to `main`. 2. Create a git tag that **exactly** matches `manifest.json` → `version` (no leading `v`): ```bash git tag 1.0.1 git push origin 1.0.1 ``` 1. GitHub Actions (`.github/workflows/release.yml`) runs `npm ci` + `npm run build`, then publishes a Release with `main.js`, `manifest.json`, `styles.css`. GitHub also attaches Source code zip/tar.gz. 2. If the tag ≠ manifest version, the workflow **fails** and does not create a Release. 3. Submit / update the plugin at [community.obsidian.md](https://community.obsidian.md) (link GitHub account `onefishmanx`). Official guide: [Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin).