Task Pool

by chaojikai
5
4
3
2
1
Score: 50/100

Description

Obsidian plugin: fold completed tasks, turn #tag sections into tabs, and drag list items like blocks.

Reviews

No reviews yet.

Stats

1
stars
72
downloads
0
forks
22
days
17
days
17
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
9
commits

Latest Version

18 days ago

Changelog

  • Reorder sections by dragging their tabs: drop a tab between two others and the section moves with it in the note
  • A plus appears in the gutter of a blank line; clicking it turns the line into a task, indented like the list above, for when the cursor did not arrive there from another task
  • Tasks with no text are left out of the tab counts, so a checkbox you are still writing does not show up as an open task
  • Each tag section is drawn on a light surface with a border, so the groups read apart in the All view; the fold line inside a section is part of the same card. Turn it off with "Section background"
  • The tab bar now sits on a tinted surface with the active tab lifted off it, so it reads as one block instead of floating over the note

README file from

Github

Task Pool

中文说明

Turn a plain Markdown task list into a backlog you can live in. Completed tasks fold away, #tag sections become tabs, blocks drag like cards, and the note itself stays put in a small pinned tab. Everything remains standard Markdown, so nothing changes when the plugin is off.

A backlog note with a tab bar, a folded run of completed tasks and a drag handle

Features

Completed tasks fold away

Once a run of completed tasks grows past a limit (3 by default), the older ones collapse behind a single "5 done, 2 hidden" line while the most recent ones stay visible for context. Click the line to expand, or just move the cursor into it. Works the same in editing and reading views.

Tag sections become tabs

Write a line that contains only tags, such as #Focus #macOS, and everything below it is a section. As soon as a note has two or more sections it gets a tab bar with open-task counts. Each section is drawn on its own light surface, so the groups read apart in the All view. Pick a tab to see just that product; + adds a task at the end of it. Drag a tab to a new spot in the bar and its whole section moves with it in the note. A path list or a task-tabs note property can force the bar on or off.

Drag blocks like cards

Hover any list item, paragraph, heading or code block and a ⋮⋮ handle appears. Drop it anywhere in the note, or onto a tab to move it into that section. Select several blocks first and they travel together. Children move with their parent, paragraphs keep their blank lines, and a single undo reverts the whole move.

Dragging a task towards another section, with the drop indicator and the drag ghost

A task on any blank line

Pressing Enter on a task continues the list, but a blank line you arrived at some other way does not. Hover one and a small + appears in the gutter: click it and the line becomes an empty task, indented to match the list above it. The same + shows up next to the empty strip that closes a section, where it adds a task at the end of that section.

Checked tasks sort themselves

Check a task and it joins the end of the completed run; uncheck one and it returns to the top of the open tasks. Skipping a task and checking the next one never splits the fold in two, and the cursor stays where it was. Turn it off in settings if you prefer tasks to stay put.

Pinned notes stay put

List the notes you keep open all day. Their tabs are pinned automatically, shrink to an icon and stay first in their tab group, so opening other files never replaces them. "Go to pinned note", or Obsidian's own ⌘1, jumps straight back.

Small touches

  • A task with no text yet is left out of the tab counts, so a checkbox you are still writing does not read as an open task.
  • A moved block flashes briefly where it lands, and the fold line fades in when its count changes, so re-sorted tasks are easy to follow. Both respect the system's reduced-motion setting.
  • Commands for everything: move list item up / down (with children), move to section, switch tab, next / previous tab, expand / collapse completed tasks, pin / unpin the current note.
  • English and Chinese UI, following Obsidian's language.

Example

#Dashboard
- [x] Add last-month YoY to the overview
- [x] Add CSV export
- [ ] Rebuild the notification entry around the drill-down tabs

#Focus #macOS
- [x] Show the capsule reminder on the main display only
- [ ] Redesign the main window

Installation

  • Community plugins: once listed, search for "Task Pool" under Settings → Community plugins.
  • BRAT: add chaojikai/obsidian-task-pool in the BRAT plugin to follow releases before it is listed.
  • Manual: download main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/task-pool/, then enable Task Pool under Settings → Community plugins.

Settings

Setting Default Notes
Keep last 3 Fold older completed tasks once a run is longer than this; 0 folds all of them
Fold scope All notes Or only notes that show a tab bar, or off
Re-sort on check On When off, checking only toggles the checkbox
Tab detection Auto detect Shows the tab bar with two or more sections; "Listed notes only" honours just the path list and the property
Always enabled for empty One vault path per line
Property key task-tabs true forces the tab bar on, false forces it off
Show open count on tabs On
Section background On Draw each tag section on a light surface with a border
Drag scope All notes Same options as fold scope
Quick add on blank lines All notes Where the + appears next to a blank line; same options as fold scope
Pinned notes empty One vault path per line; "Pin / unpin current note" writes here too, and unpinning inside Obsidian removes the entry
Tab style Icon only Icon only / compact / default
Keep at the front of the tab bar On Pinned tabs stay first in their tab group, so Obsidian's "Go to tab #1" always lands on them
Style hand-pinned tabs the same way On Tabs you pin manually are also shrunk and moved to the front
Icon list-todo Lucide icon name for the icon-only and compact styles; leave empty for the default file icon

Roadmap

  • 0.1 – first public release: folding, tabs, block dragging, re-sort on check, pinned notes.
  • 0.2 – reorderable tabs, quick add on blank lines, sections on their own surface.
  • 0.x – refinements driven by feedback: mobile drag tuning, more section actions, keyboard-only workflows. Minor versions add features, patch versions fix bugs.
  • 1.0 – listed in the Obsidian community plugin directory.

Task Pool stores nothing outside your vault and never talks to the network.

Feedback

Bug reports and ideas are welcome in GitHub Issues.

Development

npm install --legacy-peer-deps
npm run dev     # watch mode
npm run build   # type-check and build for production

Both scripts write main.js, manifest.json and styles.css to dist/. Point TASK_POOL_OUT at your vault's plugin folder to develop against a live vault:

TASK_POOL_OUT="<vault>/.obsidian/plugins/task-pool" npm run dev

With Obsidian 1.13 or later you can reload the plugin from the terminal: obsidian plugin:reload id=task-pool.

License

MIT