Property Kanban

by Higa Fuyuki
5
4
3
2
1
Score: 50/100

Description

Kanban board for Obsidian driven by note frontmatter properties

Reviews

No reviews yet.

Stats

0
stars
160
downloads
0
forks
19
days
7
days
7
days
3
total PRs
0
open PRs
0
closed PRs
3
merged PRs
2
total issues
0
open issues
2
closed issues
26
commits

Latest Version

8 days ago

Changelog

What's new

  • Native date picker for date properties: in the new task dialog, fields whose Obsidian property type is Date or Date & time are now filled in with the native calendar / date-time picker instead of a free text box, and the value is written exactly the way Obsidian serializes these properties (YYYY-MM-DD and YYYY-MM-DDTHH:mm:ss). Fields with no property type assigned also get the picker when every existing value in the vault already looks like a date; fields typed as anything else keep the text input with suggestions from existing values.

新機能(日本語)

  • 日付プロパティのカレンダー入力: 新規タスク作成ダイアログで、Obsidianのプロパティタイプが「日付」「日付と時刻」のフィールドを、テキスト入力ではなくネイティブのカレンダー/日時ピッカーで指定できるようになりました。書き込まれる値はObsidian自身と同じ書式(YYYY-MM-DD / YYYY-MM-DDTHH:mm:ss)です。プロパティタイプが未設定のフィールドでも、Vault内の既存の値がすべて日付形式ならピッカーになります。それ以外の型のフィールドは従来どおり、既存値のサジェスト付きテキスト入力のままです。

新功能(中文)

  • 日期属性的日历输入:在新建任务对话框中,属性类型为「日期」或「日期和时间」的字段现在使用原生的日历/日期时间选择器输入,而不再是纯文本框,写入的值与 Obsidian 自身的序列化格式一致(YYYY-MM-DD / YYYY-MM-DDTHH:mm:ss)。未指定属性类型的字段,若库中已有的值全部为日期格式,同样会显示选择器;其他类型的字段仍保持带候选建议的文本输入。

README file from

Github

Property Kanban

日本語版 README はこちら

A kanban task board for Obsidian driven entirely by note frontmatter properties. Task notes are the single source of truth: creating, moving, and deleting cards on the board updates the note properties instantly — and editing notes updates the board.

Features

Kanban board

  • Cards are grouped automatically by any frontmatter field
  • Cards within columns can be sorted automatically by any frontmatter property, ascending or descending
  • Drag & drop cards between columns → frontmatter updates automatically
  • Click a card title to open the note (if the note is already open in another tab, jumps to that tab instead of opening a duplicate)
  • File changes, creations, and deletions are detected in real time and the board refreshes automatically

First-run setup (automatic sample tasks)

The first time you open the board, if the task folder contains no notes yet, the plugin creates the folder and seeds four sample tasks.

  • The sample note bodies explain basic usage (moving cards, adding tasks, customizing the board, swimlanes), generated in English, Japanese, or Chinese (Simplified/Traditional) following your Obsidian language setting
  • The sample properties match the default card display properties (category / project / due / created), so the colored tags and due dates render out of the box
  • The board opens in swimlane view (lane: project × column: status); with two different project values included, the two-dimensional layout is visible from the start
  • This happens only once, on the first board open. Folders that already contain notes are left untouched, and existing notes are never modified
  • Delete the sample cards from the board whenever you no longer need them

Swimlanes

Group in two dimensions using two properties:

  • Lane: the outer grouping (e.g. project) → horizontal rows
  • Column: the grouping within each lane (e.g. status) → columns inside each row
┌─ Project A ──────────────────────────────┐
│ | To do  | In progress | Done |          │
│ | card   | card        | card |          │
└──────────────────────────────────────────┘
┌─ Project B ──────────────────────────────┐
│ | To do  | In progress | Done |          │
│ | card   | card        | card |          │
└──────────────────────────────────────────┘

Cards can be dragged between lanes as well — both the lane and column frontmatter fields are updated at once.

Card creation

  • Create from the "+ New task" button at the top of the board, or "+ Add card" in each column
  • Values auto-detected from the frontmatter of existing tasks are shown as suggestions
  • You can also type a brand-new value to set a new property value on the spot
  • Fields whose Obsidian property type is Date or Date & time get a native calendar picker instead of a text box, and the value is written in Obsidian's own format (YYYY-MM-DD / YYYY-MM-DDTHH:mm:ss). Untyped fields whose existing values all look like dates get the picker too
  • A Markdown note with frontmatter is created in the configured folder

Card deletion

  • Hover over a card to reveal the menu button
  • Choosing "Delete" moves the note to the trash
  • A confirmation dialog is shown (check "Don't ask again" to skip it in the future)
  • On deletion, parent links of its child notes are cleared and the note is removed from its parent's children list automatically

Quick action button

Show a one-click button on cards that sets a specific frontmatter field to a preset value (e.g. set status to "Done").

  • Enable it under "Quick action button" in the settings and configure the label, target field, and value
  • The button is hidden on cards that already have the target value
  • Clicking it updates the note frontmatter instantly and shows a notice

Manage parent/child relationships between cards as frontmatter wikilinks, so you can follow the hierarchy in Obsidian's graph view and backlinks.

  • Data model: the child note's parent link (e.g. parent: "[[Parent task]]") is the source of truth; the parent note's children list (a list of wikilinks) is derived data generated by the plugin
  • Set parent: card menu → "Set parent…" opens a fuzzy search (the card itself and its descendants are excluded to prevent cycles)
  • Remove parent: menu → "Remove parent"
  • Add child: parent card's menu → "Add child…" opens the create modal with the parent pre-selected
  • Multi-level: since the hierarchy follows parent links, grandchildren and deeper levels work too
  • Rebuild: if lists get out of sync from manual edits, use "Rebuild parent/child links" in the settings or the command palette to regenerate all children lists

Board options (⚙)

Click the gear icon in the header to open the board options popover:

Option Description
Lane / Column Switch the frontmatter fields used for grouping
Sorting Sort cards within columns by one frontmatter property, ascending or descending. Numbers compare numerically, cards missing the property go last; "None" keeps the natural order
Zoom Zoom the board in/out (50%–200%)
Card properties Toggle which properties are shown on cards
Column order Reorder lanes/columns (drag & drop) and toggle their visibility

Card display properties

Configure which frontmatter fields are shown as tags on cards.

  • Add or remove any field — pick one from the fields found in your task folder notes, or type a field name manually
  • Pick a color per field (blue, green, red, yellow, purple, gray, orange, pink, teal)
  • Toggle from the settings or the board options popover

Installation

  1. Open Settings → Community plugins → Browse
  2. Search for "Property Kanban"
  3. Install and enable

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create the folder .obsidian/plugins/property-kanban/ in your vault
  3. Copy the three files into that folder
  4. Reload Obsidian and enable "Property Kanban" under Settings → Community plugins

Usage

  1. Enable the plugin
  2. Click the dashboard icon in the left ribbon, or run Property Kanban: Open board from the command palette
  3. The board opens. On first open, the task folder and four sample tasks with a short usage guide are created automatically, shown as swimlanes (lane: project × column: status)
  4. To match your own notes, pick any frontmatter properties as the lane/column in the ⚙ board options — columns are generated automatically from the values your notes actually use (set Column to "None" for a one-dimensional board)

Settings

Setting Description Default
Task folder Folder path where task notes are stored tasks
Card display properties Frontmatter fields shown on cards, with colors category, project, due, created
Quick action: show button Show the quick action button on cards off
Quick action: button label Text shown on the card Done
Quick action: target field Frontmatter field to update status
Quick action: value to set Value written when the button is clicked Done
Parent field name Frontmatter field written to child notes for the parent link parent
Children field name Frontmatter field auto-generated on parent notes children
Maintain children list Keep a wikilink list of children on parent notes (off = parent link only) on
Add empty parent field to new cards Write an empty parent field even without a parent off

Grouping (lane/column), ordering, visibility, and zoom are configured from the board options popover and saved automatically.

The plugin UI is in English by default and switches to Japanese or Chinese (Simplified/Traditional) following the Obsidian interface language.

How it works

  • Frontmatter is read and written by parsing file content directly (no dependency on the metadata cache)
  • Grouping fields and column values are auto-detected from task note frontmatter
  • Board refreshes are debounced (150 ms) to coalesce rapid file events
  • Card deletion uses fileManager.trashFile() — notes are moved to the trash, never permanently deleted
  • No data ever leaves your vault; the plugin makes no network requests

Development

# Install dependencies
npm install

# Development build (watch mode)
npm run dev

# Production build
npm run build

# Type check + ESLint + tests
npm run check

License

MIT