Replies: 2 comments 5 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.
-
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