kartik-madhak / noter

Note taking app with a weird name
https://github.com/kartik-madhak/noter
MIT License
1 stars 11 forks source link

SPIKE: Figure out a way to include user programmable scripts for upcoming feature #1 #36

Open kartik-madhak opened 1 year ago

kartik-madhak commented 1 year ago

The thing that makes noter unique is the ability for power users to customize their workflows. At least that's what I have planned for it right now. One of the initial features to make that possible is the ability for users to be able to somehow program what appears when a new note is opened. Whenever that happens, the default behavior should be to take all the content from the last day's daily note and put them in the new note (the new note would be named with the current timestamp), with the 'done' todo items at the bottom most part in a section called 'DONE' or something. That way, users can easily see what items are remaining and can focus on them. This also rewards users by reducing the amount of items in the todos!

But some users would want to customize this behavior. Maybe people would want to remove all the done todo items instead of putting them at the bottom. Maybe they would want their new file to be named differently. Maybe they want to create a collection of all remaining todos from all of their md files. Maybe they would want to sort the todo items based on how long they have been active for. Maybe they simply want to put a 'created_at' timestamp for every todo item. Whatever be the case, we want users to be able to customize this however they want. It should be flexible enough to be able to do that.

For this reason, we want to have a way for users to be able to somehow 'write programmable scripts' to do these things. It could be a GUI with menus, could be GUI with drag and drop, could be done using Python, Ruby etc, could be a custom scripting language for noter, etc. Figure out what would be best way to implement this. Also figure out what inputs this feature should be able to take, and what output it would give (prob a list of md file contents in case users want to create multiple files).