No description
Find a file
maitake4211 d57db0865d Disable artifact attestation until the submission checker verifies it correctly (1.0.5)
Attestations that pass 'gh attestation verify' are rejected by the
community plugin submission checker, and recently accepted plugins ship
without attestations (a missing attestation is a non-blocking
recommendation). Keep the version stamp so assets stay byte-unique and
inherit no attestations from prior releases.
2026-07-17 20:42:57 +09:00
.github/workflows Disable artifact attestation until the submission checker verifies it correctly (1.0.5) 2026-07-17 20:42:57 +09:00
.eslintrc.json Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
.gitignore Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
.node-version Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
esbuild.config.mjs Fix submission review findings (1.0.4) 2026-07-17 20:28:23 +09:00
i18n.ts Fix submission review findings (1.0.4) 2026-07-17 20:28:23 +09:00
jest.config.js Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
LICENSE Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
main.ts Fix submission review findings (1.0.4) 2026-07-17 20:28:23 +09:00
manifest.json Disable artifact attestation until the submission checker verifies it correctly (1.0.5) 2026-07-17 20:42:57 +09:00
package-lock.json Fix submission review findings (1.0.4) 2026-07-17 20:28:23 +09:00
package.json Disable artifact attestation until the submission checker verifies it correctly (1.0.5) 2026-07-17 20:42:57 +09:00
README.ja.md Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
README.md Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
styles.css Add build banner and stylesheet header so release assets are unique per version (1.0.3) 2026-07-17 19:53:44 +09:00
tsconfig.json Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
utils.test.ts Initial release of Property Kanban v1.0.0 2026-07-17 19:28:46 +09:00
utils.ts Fix submission review findings (1.0.4) 2026-07-17 20:28:23 +09:00
versions.json Disable artifact attestation until the submission checker verifies it correctly (1.0.5) 2026-07-17 20:42:57 +09:00

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
  • 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

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
  • 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
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 a color per field (blue, green, red, yellow, purple, gray)
  • 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

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 when the Obsidian interface language is set to 日本語.

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 vault.trash() — 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