arakkkkk / kanban.nvim

Kanban boad with Neovim!!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kanban.nvim

Neovim kanban plugin. Manage task as a kanban board in neovim. Task information is import and export by markdown file. Compatible with obsidian kanban.

screenshots

demo

Requirements

  • ripgrep

Instration

Using packer

use 'arakkkkk/kanban.nvim'
-- Optional
use 'nvim-telescope/telescope.nvim'

and setup

require("kanban").setup({
	markdown = {
		description_folder = "./tasks/",  -- Path to save the file corresponding to the task.
		list_head = "## ",
	}
})

With the above settings, you can manage tasks as follows

.
└── kanban.md
    └── tasks           # Configured by setup option (description_folder)
        ├── task1.md    # Memo for task1
        ├── task2.md    # Memo for task2
        ├── task3.md    # Memo for task3
        └── task4.md    # Memo for task4

Usage

Create first kanban project.

:KanbanCreate <file_path>

and open kanban to enter :KanbanOpen <file_path>.

You can add new tasks with a and move cards to focus with <C-h/j/k/l>.

You can also move a card with H/J/K/L.

See more keymap for information on how to create and move tasks.

In a task card, the first line of text is as the task title, the string beginning with @ is treated as the deadline, and the characters beginning with # are treated as tags.

All setup options are here.

Format of task cards

img

  • First line is Task title.
  • Line beginning with # are tag.
  • Line beginning with @ is due.

Optional telescope search

If you installed telescope.nvim, you can search kanban project files by KanbanOpen telescope command.

This command search markdown files by kanban-plugin: .+ which is same options to Obsidian kanban.

Kaymaps

All keymap are here.

Key Action
<C-h/j/k/l> Focus left/below/above/right task.
<S-h/j/k/l> Move task to left/below/above/right.
gg Focus top task in the list.
G Focus bottom task in the list.
<leader>lr Rename list.
<leader>la Add list.
<leader>ld Delete list.
<C-o> Add task.
<C-t> Complete task.
:w<CR> Save kanban.
q Quit.
<CR> Add task description in another markdown file.

Functions

Tag complemention

  • Tag is complement by exsisting tag

Due complemention

If it is 2022/11/01

  • date calculation
    • @today -> @2022/11/01
    • @2d -> @2022/11/03
    • @2w -> @2022/11/15
    • @2m -> @2022/12/01
  • year/month omitation
    • @/12/03 -> @2022/12/03
    • @//03 -> @2022/11/03
  • set by week
    • @su -> this Sunday
    • @nmo -> next Monday
    • @nntu -> next after next Tuesday
    • @nnnwe -> next after next after next Wednesday
    • @nnnn...Th -> ... Thursday

Release notes

  • v1.0
  • v1.1(2023/01/20)
    • Support telescope.nvim
    • Command completion by find kanban files
    • :KanbanCreate command to new kanban project
  • v1.2(yet)
    • Support completed cards
    • Support Archived list

About

Kanban boad with Neovim!!


Languages

Language:Lua 98.2%Language:Makefile 1.1%Language:Vim Script 0.7%