TaskLite

approved

by SunnyYYLin

A lightweight tree-aware task manager with Tasks-compatible emoji metadata. - This plugin has not been manually reviewed by Obsidian staff.

175 downloadsUpdated 27d ago0BSD

TaskLite

TaskLite is a lightweight, tree-aware Obsidian task plugin compatible with the Tasks plugin's emoji metadata format. It focuses on editing and rendering standard Markdown task lines.

TaskLite demo

Features

  • Tasks-compatible emoji metadata (dates, recurrence, priority, assignee, etc.)
  • Tree-aware toggling: finish/unfinish cascades to children and bubbles to parent
  • Recurring tasks with automatic next occurrence creation
  • Automatic done/cancelled dates
  • Live Preview checkbox interception
  • @ emoji input suggestions on task lines
  • Best-effort import of custom status settings from the Tasks plugin
  • External task reconciliation (detects checkbox changes from other plugins)
  • tasks: ignore frontmatter to exclude files from scanning

Task Line Format

- [ ] Task description ⏳ 2026-01-01 📅 2026-01-15 🔁 every week 👤 Mary

Supported Emoji Fields

EmojiFieldExample
🔺Priority: highest🔺
Priority: high
🔼Priority: medium🔼
🔽Priority: low🔽
Priority: lowest
🛫Start date🛫 2026-01-01
Created date➕ 2026-01-01
Scheduled date⏳ 2026-01-01
📅Due date📅 2026-01-15
Done date✅ 2026-01-10
Cancelled date❌ 2026-01-10
🔁Recurrence🔁 every week
🏁On completion🏁 delete
Depends on⛔ task-id
🆔Task ID🆔 my-task
👤Assignee👤 Mary

Supported Recurrence Rules

  • every day, every week, every month, every year
  • every N days, every N weeks, every N months, every N years
  • every weekday
  • every week on Monday, every week on Friday
  • every month on the 1st
  • every day when done (recurrence relative to completion date)

Ignoring Files

Add tasks: ignore to a file's YAML frontmatter to exclude it from TaskLite scanning:

---
tasks: ignore
---

File-level Tasks (Frontmatter Tasks)

You can turn an entire file (like a project note or a daily note) into a single task. This is particularly useful for tracking high-level projects or notes that themselves represent a task.

To enable this, add task: true (or a status symbol) to the file's YAML frontmatter:

---
task: true
description: "Review quarterly roadmap"
status: " "
priority: "⏫"
due: "2026-06-30"
assignee: "Alice & Bob"
---

Supported Frontmatter Fields

  • task: Set to true (or any truthy value) to enable the file task.
  • status: The status symbol (e.g. " " for todo, "x" for done) or keywords (e.g., todo, done, in-progress, cancelled). Keywords are case-insensitive and format-preserving. Status symbols with spaces (like " ") should be quoted.
  • description: The task description. If omitted, the file's basename will be used.
  • priority: Task priority. Supports emoji (🔺, , 🔼, 🔽, ) or keyword (highest, high, medium, low, lowest).
  • due / scheduled / start / created / done / cancelled: Dates in YYYY-MM-DD format.
  • recurrence: Recurrence rules (e.g., every week).
  • assignee / person: The person assigned (supports array or a single string with names separated by &).
  • onCompletion: On-completion actions (delete or keep).
  • id: Unique task ID.
  • dependsOn: Depends on task IDs.

Body Tasks Connection

Any root-level task lines (indented at depth 0, i.e. not indented under another list item) within the body of a file-task note are automatically treated as subtasks of the file task.

  • Toggling the status of a file task can cascade status changes to all list tasks in its body (depending on settings).
  • Completing all list tasks in the body can bubble up to automatically complete the file-level task (depending on settings).

Creating Tasks & Task Syntax

A task in TaskLite is a standard Markdown checklist item (e.g., - [ ]) followed by a description and metadata emojis.

Task Emojis & Fields

Append these emojis to your task description to add metadata:

  • 📅 Due Date: 📅 YYYY-MM-DD (e.g., 📅 2026-06-30)
  • Scheduled Date: ⏳ YYYY-MM-DD (e.g., ⏳ 2026-06-25)
  • 🛫 Start Date: 🛫 YYYY-MM-DD (e.g., 🛫 2026-06-20)
  • Created Date: ➕ YYYY-MM-DD (automatically added upon creation)
  • 🔁 Recurrence: 🔁 <rule> (e.g., 🔁 every week, 🔁 every weekday, 🔁 every 2 days)
  • 👤 Assignee: 👤 <name> or 👤 <name1> & <name2> (e.g., 👤 Mary, 👤 Alice & Bob)
  • 🏁 On Completion: 🏁 delete or 🏁 keep (controls whether a recurring task is deleted/kept on completion)
  • 🆔 Task ID: 🆔 <id> (for task dependency identification)
  • Depends On: ⛔ <id> (specifies parent/dependent tasks)
  • Priority: Add one of the following priority emojis at the end of the task line:
    • Highest: 🔺
    • High:
    • Medium: 🔼
    • Low: 🔽
    • Lowest:

Indentation and Subtasks (Tree Structure)

TaskLite is tree-aware. Simply indent your list items using tabs or spaces to create subtasks:

- [ ] Parent task
    - [ ] Subtask 1 (completes automatically when Parent task is finished)
    - [ ] Subtask 2

Quick Input with Emoji Auto-Suggest

When typing a task line, type @ to open the emoji auto-suggest menu, allowing you to quickly insert date placeholders, priority symbols, assignees, or recurring rules.

Commands

CommandIDDescription
Toggle tasktoggle-taskCycle through task states (todo → done → todo)
Toggle task cancellationtoggle-task-cancellationCycle through cancellation states
Cancel taskcancel-taskMark task as cancelled
Uncancel taskuncancel-taskRestore cancelled task
Import status settingsimport-tasks-status-settingsImport from Tasks plugin

Development

bun install          # Install dependencies
bun test             # Run tests
bun run build        # Production build (tsc + esbuild)
bun run dev          # Development mode (watch)
bun run lint         # ESLint check

Release

Push a tag matching x.y.z to trigger automatic GitHub release:

bun pm version patch # Bumps version in manifest.json and versions.json
git push && git push --tags

License

0BSD

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.