Skip to content

feat: Add story points, due dates, priority levels, and task categories to Kanban cards - #1187

Open
Dhruv-0-Arora wants to merge 7 commits into
obsidian-community:mainfrom
Dhruv-0-Arora:main
Open

feat: Add story points, due dates, priority levels, and task categories to Kanban cards#1187
Dhruv-0-Arora wants to merge 7 commits into
obsidian-community:mainfrom
Dhruv-0-Arora:main

Conversation

@Dhruv-0-Arora

@Dhruv-0-Arora Dhruv-0-Arora commented Feb 24, 2026

Copy link
Copy Markdown

Summary

This PR introduces several new card-level features to the Obsidian Kanban plugin, bringing it closer to full-featured project management tools like Jira while maintaining the simplicity of markdown-backed storage.

New Features

1. Story Points

  • Each card now displays a story point input field in the bottom-right corner.
  • Accepts any number (designed for Fibonacci values: 1, 2, 3, 5, 8, 13…).
  • Defaults to 0 when no value is assigned.
  • Stored in markdown as sp{value}.

2. Due Date Bubble

  • A date bubble is shown in the bottom-left corner of each card.
  • Clicking the bubble opens a calendar picker for selecting a due date.
  • Displays the number of days remaining until the due date (e.g., "3d").
  • Leverages the existing @{date} markdown syntax under the hood.

3. Priority Levels

  • Cards can be assigned Low, Medium, or High priority via a drop-up selector next to the story points field.
  • Visual indicators on the card:
    • High priority — red border + box-shadow.
    • Medium priority — yellow border + box-shadow.
    • Low / None — default card appearance.
  • Stored in markdown as !!{high}, !!{medium}, or !!{low}.
  • The dropdown is portaled to document.body so it is never clipped by card overflow.

4. Task Categories

  • Users can define custom categories (e.g., per class, project, or topic) with a name and color through a dedicated modal.
  • The modal is accessible via a tag icon button in the Kanban header (next to "Add a list").
  • Categories can be reordered using up/down arrows in the modal.
  • Each card has a category selector (bottom-left, next to the date bubble) that shows:
    • A colored dot matching the assigned category.
    • The category name as a text label.
  • Cards with an assigned category display a full-height colored stripe on the left edge of the card, matching the category color.
  • Stored in markdown as cat{CategoryName}.

5. Click-off to Confirm Edit

  • Previously, the only way to stop editing a card was pressing Enter.
  • Cards now confirm and exit editing when clicking anywhere outside the card.

Technical Details

  • All new metadata (story points, priority, category) uses the existing genericWrappedExtension markdown parsing pattern, keeping the data fully portable in plain markdown.
  • New Preact components: StoryPoints.tsx, DateBubble.tsx, PrioritySelect.tsx, CategorySelect.tsx, CategoryModal.tsx.
  • Dropdowns for priority and category use createPortal to render into document.body, avoiding CSS overflow, contain, and will-change clipping issues.
  • Category settings are stored in the board's YAML/JSON settings block alongside other board-level configuration.

Screenshots

Screenshot 2026-02-23 at 8 07 38 PM Screenshot 2026-02-23 at 8 04 25 PM

Test Plan

  • Create a new Kanban board and verify default card layout (story points at 0, empty date bubble, no priority, no category)
  • Assign story points and verify they persist after reload
  • Select a due date via the calendar picker and verify the "days until" count is correct
  • Set priority to High/Medium/Low and verify the border color changes accordingly
  • Open the category modal, create categories with distinct colors, and reorder them
  • Assign categories to cards and verify the left-side colored stripe and label appear
  • Change a card's category and verify the stripe color updates
  • Remove a category assignment and verify the stripe disappears
  • Verify clicking outside an edited card confirms the edit
  • Verify all features work correctly across multiple columns
  • Verify the priority and category dropdowns position correctly regardless of scroll position or column

- the story points feature allows users to enter a fibanacci number that
  represents how much work a particular task or card will be, or how
  much time it is expected to take.
- Visually, adds more space to the bottom of each card and adds an input
  field in the bottom right side.
- adds a due date selection to the bottom left of each card. Opens a
  calendar view to select date.
- Displays days remaining until due date.
- added a dropdown menu for selecting the priority
- if selected medium or high, a yellow or red border will appear around
  the card, respectively.
- originating from the original plugin
- currently, the only way to confirm editing a card is to press "enter"
  while focused on the card.
- If you click off the card, it confirms editing that card and stops
  editing it.
- created from dropdown commit
- Creates a modifyable category dropdown
- Next to "Add a List" button, there is a new button to open a category
  modal where a user can create and modify different categories.
- Cards with assigned categories have the category's dedicated color
  (configurable) on the left side of the card.
- removing bun.lock and adding to .gitignore
- removing story points menu items (redundant)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant