darrikonn / td-cli

A todo command line todo manager ✔️

Home Page:https://pypi.org/project/td-cli/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request] Tasks in Markdown

ArcherN9 opened this issue · comments

Have you considered enabling Markdown format for the tasks in edit mode?

When I started using the tool, I limited myself to using single line descriptions of the tasks. As I used the tool, I came up with a system that works best for me. My use case expanded to using indicative titles for the first line and a full-blown numbered task list underneath it that are a bunch of smaller tasks that contribute to complete the broader task defined.

A recursive task completion engine for the items defined within a task would be good but I'm guessing that's not where the project is headed. Markdown support would assist though. I could use strikethroughs for example! I currently retort to adding a "Complete" tag at the beginning of a bullet that tells me it's done.

Thanks for the feature request.
Yeah, my initial approach to td-cli was to render the description using Markdown format.
After API TDD I didn't see the need for it in my use-case due to project groupings.

However, I've been caught in a similar situation with sub-todos. I'd like to add Markdown rendering of the todo's description. Wouldn't that suit your use-case?

Btw. when you talk about the edit mode, are you referring to the interactive mode (td --interactive)?

md

In my opinion, both features are nice to haves and mutually exclusive. A sub task list is beneficial but it may further complicate the simplicity that you strived to achieve with the application.

Markdown has the capacity to alleviate the need for Subtask lists though that may just appear as a workaround. Regardless, markdown would be a terrific feature to have.

Btw. when you talk about the edit mode, are you referring to the interactive mode

No, I haven't tried the interactive mode. : )

I suggested edit mode because bringing in Markdown support can be a two pronged approach. I had focus on the first.

  1. Instead of text files, use '.md' with the 'td 85 edit' command. Vim with proper configurations will take care of the rest.
  2. With a 'td 85' command, we'd need the output rendered in Markdown. I suppose this is what you're referring to up above in your comments.

Aahh nice hadn't thought of case no. 1. To get the syntax highlighting + vim async markdown composer. Would be super cool!
Yeah I agree that these tasks are mutually exclusive, would first do no. 1 (the one you suggested), then number 2 in a follow-up PR.

A sub task list is beneficial but it may further complicate the simplicity that you strived to achieve with the application.

Yeah exactly what I was thinking with the simplicity 👌.

Alright, I'm keen on adding this feature!
My proposal looks like this:

  1. The user can explicitly set the format of the rendering in the td config file, something like:
[settings]
format: md

Where format accepts [md, txt] (should maybe be markdown and text instead?).
2. When editing/creating a todo, a temp .md file is created, so that the user's editor can syntax highlight and render markdowns asynchronously.
3. (implemented later) When viewing a single todo, the description is rendered with a markdown format.

Any comments on this before I start?

(btw. I recommend the interactive mode. Came in as a feature request, and I use it on regular basis since then)

To get the syntax highlighting + vim async markdown composer. Would be super cool!

I agree!

Where format accepts [md, txt]

I foresee [md, txt] resonating with Linux users more than [markdown, text] but that's just one person's opinion.

I recommend the interactive mode

I'll try it out today!

No further comments. You seem to have got my thoughts on this feature through & through. Thanks!

P.S. I tried the interactive editor. It lets me modify only the titles of the Todo tasks. Doesn't apply to my use case but I see why people may like it - Todo on steroids.

Now available in version 2.0.0.
Note that if you have XDG_CONFIG_HOME set (most likely at ~/.config since you're a Linux user), then the database will now live under (~/.config/td-cli/todo.db).
You can either move the database + config from ~/.todo.db/~/.td.cfg to ~/.config/td-cli/todo.db/~/.config/td-cli/todo.cfg, or set the TD_CLI_HOME environment variable to ~.

Btw. you need to set:

[settings]
format: md

in .config/td-cli/todo.cfg in order to enable Markdown 👍 ... thanks for the feature request!
Please let me know if anything is missing! (will move to rendering the todo's details in terminal next)

Tried a lot of things. Not once did any of the tasks came up in markdown. :( The file always opens with a .tmp extension.

Hmm, can you paste the output of
cat ~/.config/td-cli/todo.cfg
?

I must have been super overworked the last time I tried to enable markdown and I couldn't. I kept moving the file .td.cfg to .todo.cfg. Notice the todo.cfg shouldn't have a . before it. I changed it today and markdown works as expected.

Thanks!

Ok awesome to hear!
Thanks!