xwmx / nb

CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.
https://xwmx.github.io/nb
GNU Affero General Public License v3.0
6.43k stars 180 forks source link

Plugin management and updating #318

Open jangari opened 1 month ago

jangari commented 1 month ago

Hey there, thanks for producing such an excellent tool. I've basically switched entirely over from Obsidian, which was the most promising from a long list of notes taking contenders.

I've been working on some plugins, particularly focusing on a today plugin, and I think it might be a good idea to think about plugin management, particularly updating. It doesn't have to be complex; something as simple as a plugin index file that maps plugins to URLs, so that running nb plugins update [<plugin>] fetches any updates from the URL.

The plugin index could simply be a block in the .nbrc file, consisting of names and URLs, so that installing a plugin could add its name and URL to .nbrc. Much like vim plug.

Plugins installed from file paths couldn't work in the same manner though. Perhaps the plugin directory has subdirectories per plugin, which could themselves optionally be git repos, allowing users to develop their own, or pull from the remote, or do so through nb plugins update.

Happy to spitball more ideas. Keen for nb to become the best it can be with a full community of plugin developers.

Rooyca commented 3 weeks ago

I'd love seeing this implemented.