Replies: 4 comments 14 replies
-
@tobiasdiez has had some very good points on plugins yes/no in the past, and I've generally stuck to his advice in this regard. Feel free to add some of your points here again, or link them, if you think that this is advisable, Tobias. However, that being said: I'm slowly starting to see that JabRef and Zettlr differ vastly in functionality. JabRef is a reference manager, and thus there is only so much that needs to be done. But over the past four years developing Zettlr, I have slowly but steadily come to the conclusion that writing text is much more complex and requires a lot of different tools, and many people have vastly differing requirements. I think reference managers can only do that much (and that is why I stick with only two plugins for Zotero, because everything else is simply not in the scope of a reference manager), but a writing app should offer much more stuff. That being said: Writing a plugin system is incredibly difficult, and thus we should do that extremely limited. Two very good suggestions for "trying this out" would be (a) a renderer plugin API, so that people can render whichever elements they like within the app, and (b) a language server API so that people can incorporate external services for linting code, spellchecking, and what not else. That might keep the effort manageable at least for now. New features to the plugin API should only be incorporated after an insane amount of deliberation. With regard to security, there may be an easy way: invisible Browser windows. Each plugin could run in its own dedicated browser window. This would ensure that it's a fully autonomous process and can only interact within that sandbox. There would be just two things we need to remember: First, the So, it's worth a discussion, but we need to tread carefully. |
Beta Was this translation helpful? Give feedback.
-
Those said, is there a roadmap for limited plugin support? |
Beta Was this translation helpful? Give feedback.
-
Interesting discussion. After reading the pros and cons, and related thoughts, shared here, what comes to mind is a question. Obsidian seems to successfully implement a plug-in system, with a thriving community developing, maintaining and using the vast array of functionality these plug-ins provide. NotePlan (another MarkDown based knowledge, and task etc. management tool I use) also has a well established and excellent plug-in system. So I wonder ... is the notion of whether or not it's a good idea, whether the cons outweigh the pros, a case of over thinking this whole idea? I see no fundamental or overbearing disadvantage to allowing Zittlr to have expandable functionality through plugins. Other than the burden of having to significantly modify the underlying codebase to accommodate plugins. That will be a sizable task. But other than deciding if that's a task there is the time and resource to tackle, the wide questions of whether or not whether making Zettlr extension-capable is a good idea or not seems like a mute point to me. |
Beta Was this translation helpful? Give feedback.
-
Is this topic still under consideration or has it died a quiet death? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I know that this is a big topic. But definitely one worth discussing. As Zettlr's userbase is constantly growing, so does the demand for new features. Unfortunately, not every feature request can make it into the app in the long run.
This is where extensions come in. They would allow anyone to easily customize the behavior of Zettlr to fit their needs (+ share it with others). Other benefits:
A few aspects that came into my mind regarding the implementation of an extension infrastructure:
I might have missed some aspects, and I also don't know the effort required for this endeavor. That's why I thought it might be a good idea to open a discussion. So that we have a central place to talk about this topic (maybe there is already one?).
Beta Was this translation helpful? Give feedback.
All reactions