Coder Social home page Coder Social logo

kanban.nvim's Introduction

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

kanban.nvim's People

Contributors

arakkkkk avatar budswa avatar m00qek avatar oliverkovacs avatar pawemix avatar ttytm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kanban.nvim's Issues

Add more information on documentation

Hi, I installed the plugin because I think that the plugin could improve my productivity, but I cant achieve to work with the plugin.
The documentation is not very good. I dont achieve to write information on the task, remove task,...
who can give me support?

I would be great if you could save all markdown files into the a specified folder/path under the current directory.

As title. I found it hard to identify what are those markdown files created by kanban.nvim. I also noticed that one of the markdown is stored as .md when the title is missing. It will be great to prevent saving markdown without a title instead.

Sorry for creating many issues within minutes, but I can promise that resolving these issues will increase the UX a lot. Thanks for creating this plugin, it's really useful regardless of these issues!

I need a basic config to start this plugin

after I add the plugin to packer, i try to activate it by doing:

require('kanban').setup()

and this is what I get

E5113: Error while calling lua chunk: .../site/pack/packer/start/kanban.nvim/lua/kanban/utils.lua:28: bad argument #1 to 'pairs' (table
expected, got nil)
stack traceback:
        [C]: in function 'pairs'
        .../site/pack/packer/start/kanban.nvim/lua/kanban/utils.lua:28: in function 'tableMerge'
        ...im/site/pack/packer/start/kanban.nvim/lua/kanban/ops.lua:111: in function 'get_ops'
        ...e/nvim/site/pack/packer/start/kanban.nvim/lua/kanban.lua:9: in function 'setup'
        /home/ertwr/.config/nvim/lua/kickstart/init.lua:448: in main chunk```

The cursor might not be located at the Kanban after closing the corresponding markdown with `:wq`.

As title. Some clues:

  • The bug happened after I called NeoZoomToggle, which creates a floating window from an existing one, from my plugin https://github.com/nyngwang/NeoZoom.lua. As shown in about 0:03 in the demo below.
    • I believe that any plugin that moves the cursor outside of the markdown will cause the same issue, as long as the winid of the kanban is not stored by kanban.nvim.
  • It seems that kanban.nvim could explicitly provide a command to close the markdown file(opened by <CR> on a card) to jump back to the Kanban. (Otherwise we might need to create some autocmds on WinClosed, but personally I don't like overusing of autocmds)
kanban_bug.20.mov

Add support for Complete cards

The Obisidan Kanban plugin has added support for cards to be archived and no longer show in the list. Currently, if a board is using this feature, it will crash kanban.nvim with the following error:

Unrecognized line!!
***

The unrecognized line is in reference to how Obsidian Kanban keeps track of cards marked as completed. In the list they are currently at, Obsidian Kanban puts all cards marked as completed in subsection of this list as described below:

## List Title
- [ ] Example card
**Complete**
- [ x ] Example completed card
***

where the line causing the error is the last line.

no buftype

E382: Cannot write, 'buftype' option is set

General Problem with creating a Kanban

Sorry for creating an issue. I installed your plugin. I will receive a problem with the gsub function while trying to create a kanban:

Maby you could help me out.
writer lua 4 - bad argument #3 to 'gsub' (string/function/table expected

  1. markdown/writer.lua4 in function write
  2. kanban.lua 87 in function ........ kanban.lua 72

Pretty new to neovim - I followed the installation guide

many thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.