MCPcopy Index your code
hub / github.com/ebullient/obsidian-task-collector

github.com/ebullient/obsidian-task-collector @1.2.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.5 ↗ · + Follow
123 symbols 273 edges 24 files 14 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Task Collector

GitHub tag (Latest by date) GitHub all releases

Yet another plugin to manage completed tasks, but this one has a task-completion modal to go with it!

Installation

  1. Go to Community Plugins in your Obsidian settings and disable Safe Mode
  2. Click on Browse and search for "task collector"
  3. Click install
  4. Use the toggle on the community plugins tab to enable the plugin.

TL;DR for marking tasks

  1. Open Plugin settings
  2. Edit the task marks for the default group to include any characters you use for incomplete tasks.
  3. Edit the task marks for the complete group to include any characters you use for completed tasks.
  4. (optional) Scroll down to find [Menus and modals](docs/README.md#menus-and-modals], and enable additional context menus.

Task Completion

Commands

Task Collector registers a few commands by default:

(TC) Mark task

This is a hot-key bindable command for edit-mode that opens a modal dialog for task mark selection.

That snappy completion status you wanted is just a few taps away!

For Reading and Live Preview modes, see menus and modals.

(TC) Collect tasks

Task Collector can gather and regroup different kinds of tasks into different areas within a note.

  1. Enable "Task collection"
  2. For the group of tasks that you would like to gather:
    • Set an Area heading

See Task collection for details.

'(TC) Mark previous' and '(TC) Mark previous'

If you configure a Task mark cycle, two commands will be registered that allow you to cycle forward or backward through the mark sequence.

Marking tasks

When Task Collector marks a task:

  1. (optional) Matched text appended by the previous mark will be removed
  2. The task will be marked with the new mark
  3. (optional) The remove pattern configured for the new mark will be applied to remove text from the task.
  4. If there is an append date format, a formatted time stamp will be appended to the task.

Task mark selection

Use the (TC) Mark task command or right-click context menu (if enabled) to select a task mark using a quick pop-up modal.

The modal contains marks configured in task groups.

  • The top row contains marks for completed tasks.
  • All other configured marks appear in the next row (or rows, as the collection will wrap).

Notes:

  • Select a value with your mouse, or the keyboard.
  • The selected value will determine follow-on actions, see marking tasks.
  • Any character you choose will work. If it doesn't match a configured mark, the behavior from the default group will apply.

[!TIP] Is the pop-up not showing what you expect? Review the marks defined in your task groups.


Why mark?

There are not enough words. I chose mark, because it can mean the symbol itself (a mark), and also active action (you mark the task). The checkbox is the outer thing. Sometimes these characters indicate the status of a task, and some folks use these to mean something else entirely. So, mark it is.

Naming things is hard.

Completed tasks

Why is there is a toggle for completed tasks if these are all just marks?

The complete toggle is essentially an indicator.

  • In the mark selection dialog, those used to complete tasks appear in the top row. All others are (sorted) in the bottom row(s).

  • Task Collector has an API that other plugins or your own scripts can use to determine if a mark indicates a complete task or not: `app.plugins.plugins["obsidian-task-collector"]


Credits

Buy Me A Coffee

Extension points exported contracts — how you extend this code

API (Interface)
(no doc) [2 implementers]
src/@types/api.d.ts
App (Interface)
(no doc)
src/taskcollector-Plugin.ts
MarkdownPostProcessorContext (Interface)
(no doc)
src/taskcollector-Plugin.ts
Selection (Interface)
(no doc)
src/taskcollector-Plugin.ts

Core symbols most depended-on inside this repo

updateLineText
called by 65
src/taskcollector-TaskCollector.ts
init
called by 59
src/taskcollector-TaskCollector.ts
logDebug
called by 35
src/taskcollector-TaskCollector.ts
markInCycle
called by 22
src/taskcollector-Plugin.ts
moveAllTasks
called by 14
src/taskcollector-TaskCollector.ts
markSelectedTask
called by 11
src/taskcollector-TaskCollector.ts
restoreCursor
called by 10
src/taskcollector-Plugin.ts
saveSettings
called by 8
src/taskcollector-Plugin.ts

Shape

Method 78
Function 22
Class 18
Interface 4
Enum 1

Languages

TypeScript100%

Modules by API surface

src/taskcollector-TaskCollector.ts37 symbols
src/taskcollector-Plugin.ts26 symbols
src/taskcollector-GroupModal.ts15 symbols
src/taskcollector-Data.ts11 symbols
src/taskcollector-TaskMarkModal.ts8 symbols
src/taskcollector-SettingsTab.ts8 symbols
src/taskcollector-Api.ts8 symbols
src/@types/api.d.ts6 symbols
test/settingsTab.test.ts2 symbols
test/mocks/obsidian.ts2 symbols

For agents

$ claude mcp add obsidian-task-collector \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact