Wow, such a great addition to Joplin core - thank you!
Reminds me of following idea:
What about giving plugin developers some sort of funding to honor their beautifully crafted plugins, as well as encourage further plugin updates and fixes?
Examples might be:
fractional part of core Joplin donations spent to plugins
contest per quarter/half-year, where plugins most-up-voted by community receive donations
I like both of yours plugins - but not quite a fan of mentioned idea.
Instead I would encourage modular and feature-concise plugins, so that everyone can choose their needed functionality.
If we mix up everything in a "god plugin", it probably will become a cluttered, big-sized and hard to maintain mess. Like a forked Joplin version beside the core trunk.
Thanks @ylc395 I will definitely give your plugin a try. I think there is just a little problem with the packaging of the last release Plugin: Note Link System - #47 by agerardin.
But I agree with @xavaa, feature-specific plugins are easier to develop & maintain. As the plugin system matures we may be able to reuse more of the core features. Another idea to turn-key solutions would be to publish plugins "profiles", that would let us install a suite of plugins (with compatible versions!) for a specific use
Too late lol, I started writing a plugin to workaround this for now, for fun. Right now it just creates the synthetic node notes and links every note to them, but I plan adding a way to also remove the links created in the notes.
I'll be checking the progress, it would be a nice feature.
But how do you guys use these graph plugins? Is there a way to toggle the graph viz on/off without disabling the plugin and restarting? I've looked, but haven't found anything.
For me, I either don't need to see the graph at all, or I'd like to see it as big as possible - ideally in a togglable panlel, or some flyout, or a separate window even (to be placed on the second monitor)...
We don't have the financial resources to fund other projects at this point, however plugin authors are free to link to any page they want, where they can then place a donation link.
In fact I'd encourage plugin developers to create a proper page on GitHub Pages for example (not just a link to the GitHub Readme) where they can showcase the plugin and ask for donations. As developers I think it's not something we enjoy doing much but when you spend days or weeks working on something it makes sense to spend that extra hour to really showcase the work and get people interested in it. That alone is likely to bring more donations.
Hi! Amazing job! I really like the look (even if I'm not sure what the different blue/orange color mean). I wanted to know, because I did not found it easily, if there was a way to hide a whole notebook of notes from the graph. It is a very useful feature I like in Graph UI. Is it possible in your plugin? Since I have a few notebooks that are holding notes that have lots of links, by they are less meaningfull than the rest... and in Graph UI, I could exclude them.
I have to say that I love the style and aesthetic of it. It is even possible to hold shift and select multiple nodes for them to appear more luminous, like constellation. Very well made.
I made a new release (v.1.0.4) which should help with smaller screens and/or lower res to get the most of the plugin. Controls have been placed in a collapsible menu to give more space to the graph and resizing the app should work as expected. Thanks all for a lot of great feedback!
Thanks! Orange nodes are artificial tag nodes, so if you use tags, you can cluster notes around them and filter by tags. I did not think much of notebooks yet as i did not see that as a graph feature but it has been mentioned quite a few time since so I may try to support some kind of parent/child relationship later on. Also filters are used so far to include nodes, not to exclude them, but the way I was thinking I would go about it is to add actions to nodes so you could hide them.
As notes get more and more interconnected, we will need efficient ways to de-clutter the graph so I am definitely open to suggestions!
Looks great! I think that pretty much addresses my request regarding the controls.
The only thing I would comment on is that I don't think showing the horizontal scrollbar is useful, so if it's possible to hide it, that would be better.
Thanks for the answer. I understand now the orange nodes and I do like the idea of a different color for it. Great job.
If you are looking for suggestions, I would recommend to add a box, like the tag box, that you serve to list, with a "," all the notebook from which to hide the notes that are inside. I would fit your UI, there is already a good use in Graph UI and it would de-clutter the graph from some notes that, for some people, don't add information and are often stored in a few notebooks. Just a suggestions, but the plugin is amazing! Super beautiful and well made.
Awesome! Thanks for providing this kind of feedback!
I had planned to get rid of material in the next release. It is huge and both slows down compile time and increases the bundle size beyond what I can deal with. And yes I ended up not using it for much. I'd like to find a lightweight and/or modular library for styling basic elements but did not find one yet, so suggestions would be appreciated.
So far I like React and I may integrate more with it moving forward. The drag and drop lib is quite large but acceptable for me at this point. I also like the quality components developed by the community.
We could do something like that. It just seems it will be hard to visually convey the idea to the user that tags are "include" filters while notebooks are "exclude" filters, but there may be a way! This is related to Notebooks as nodes ยท Issue #2 ยท agerardin/joplin-plugin-knowledge-graph ยท GitHub. For long running discussion I would rather move to github so we can track each topic of interest more easily. Thanks for the kind words
I finally had a chance to try your plugin. It is excellent! I especially like how you make it easy to link to a note section. I will publish a fix to display those in the graph and update the readme to mention your work.
Not sure about requirements, but foremost I just would use simple HTML + CSS (as joplin does *1). With small codebase I would avoid Styled Components/Emotion overhead.
Autocomplete is a bit more complex case, I guess you need that for searching tags. In the past I had used react-select, but looking at the dependencies, it seems bloated - even if it might use tree shaking effectively.
Nowadays, what I probably would use is Downshift, as lightweight and 2nd most popular (not involved in this project).
It would also be interesting to hear from maintainers, if there is a possibility to pass
CSS styles from Joplin core to plugins for uniform look
or even an Autocomplete GUI component, similar to simple dialog API *2
Though I am not too deep into plugin architecture yet, joplin plugins are still on my todo...
I've again enabled this plugin, and Joplin became laggy and unresponsive, even when the graph was hidden. So I had to disable it again, bummer.
How do I filter to only graph a subset of nodes? I've tried things like selecting (shift+click) multiple notes, or pressing ctrl+a on the note list, but it didn't redraw as expected. (Either drew a single note, or all of the notes, or just left a blank canvas.) What am I doing wrong?