treymo / joplin-link-graph Goto Github PK
View Code? Open in Web Editor NEWUI for viewing connections between different Joplin notes
License: MIT License
UI for viewing connections between different Joplin notes
License: MIT License
Seeing large graphs inside joplin is a little messy...
It would be nice to have the possibility to give labels to the connections.
With too many nodes, it would become too cluttered, so it would be good to have them shown only when you hover over one, with a right click to change the label or something like that.
When max degree of separation is 0, i.e. when the graph should show all notes, I don't see anything in the graph panel. The Redraw Graph button doesn't help. When I set a number other than 0, it works as expected, showing all notes within range that are linked downstream from the selected note; I believe that's the intended functionality. I'm using Joplin 2.6.2 on Linux with plugin version 1.1.3.
Clicking a node (note) should open the note for editing
On the screenshot below it is evident that there are some other notes in the graph besides the selected note. This selected note has one backlink from a note from an excluded notebook. When max distance equals to 1 this bug does not appear. It seems that there are other scenarios where this bug is present, but I could not figure them out precisely. This one is obvious though.
The settings are as follows:
Size of the node label font: 20
Distance between nodes: 100
Max nodes in graph: 700
Should notes in the filtered notebooks be included or excluded? Exclude
Notebooks names to filter: Точки входа
Filter child notebooks: Checked
Include note back-links for selected note: Checked
Show note link direction arrows: Unchecked
I am thinking that an icon next to "Toggle Editor Layout" (top right of the note by default) for showing and hiding the graph view would be ideal. There should also be an option under the View menu.
Good day!
Just found the toggle button. It is very useful! But it looks a little bigger than other buttons in the row, the lines are thicker. Is it possible and easy to make it look more in line with the others?
Thanks)
Since the Graph UI panel occupies a lot of space, it will be useful to have a keyboard shortcut for instantaneous access to it, just like F10 and F11 toggle the notebook list and the note list.
On mac OS, the target node (the node of the note I am going to open) is always at the center of the screen. It does not follow the graph node-switching animation to move while I clicking it. Please see the pic below for reference.
Reference:
https://live.staticflickr.com/65535/51376429662_9b68638361_b.jpg
https://live.staticflickr.com/65535/51377426428_661b7cfacd_n.jpg
https://live.staticflickr.com/65535/51378201160_a5908b0202_n.jpg
https://live.staticflickr.com/65535/51377932194_271db511c9_b.jpg
Lots of notes could be added or removed during a sync. Not every single one of these should trigger a re-draw of the graph. I could just keep track of when a sync is in progress and only draw the graph when it's over.
Given a single link inside node 1 linking to node 2, following graph is rendered inproperly with trailing edge (v1.1.4):
The issue becomes more apparent with PR #50 , when a back-link is shown:
, which is supposed to be a back-link from 2 to 1, when 1 is selected.
The arrow somehow gets displaced to the trailing, right-upper edge with no note.
Two or more links don't cause any rendering problem.
Do you have any idea, what might the issue be in current plugin version v1.1.4? Thanks!
Good day!
This is a great plugin! Thanks for giving your time to the community!
It would be great if we could open only the selected notebook/notebooks and/or tag/tags and/or search results in the graph view. That would allow to scope/slice things down in big databases and to have different unrelated projects in one database. Not exactly Zettelkasten way, but a flexible one)
Goals:
Thanks for the plugin, it is really nice!
I think a switch to change the graph from the radial to a tree/linear/mindmap would be really useful.
Something like markmap
Examples in D3 :
I don't know javascript enough to know if this is feasible.
Thanks!
Hello there !
Thanks for your wonderful plugin; I'm always amazed by how good it looks, and as I organize workshops to help colleagues use Joplin, it's always one of the first ones I show !
However, as I was pondering was Joplin became a bit slow on my computer (see this issue), I noticed that the problem went away when I disabled the plugin.
I cannot say with 100% certitude that the issue I encountered was only due to the plugin; but by testing with/without the plugin, and with every other setting of Joplin not changed, I can see the problem coming back (e.g. a noticeable lag when switching notes or notebooks, even when the plugin's panel is closed).
I just wanted to check if anybody else had the same issue, or if it was just me. I was wondering if it might be due to some update that the plugin has to do when a note is switched, even if the plugin's panel is closed. If that's so, could there be a way to disable it in that case ?
Thanks for publishing the new version. I just tried it out, but now get some issues:
This might be related to recent introduced performance optimizations, so you may take a look over them again?
I'll do some more test, when I have time. For now I am reverting back to old forked version.
Alternatively, the graph could be draggable instead of panning the view. This is probably more natural anyway
The Graph automatically disappears when I try to zoom in or zoom out on it.
Steps to reproduce:
Right now I've been adding options to the Joplin plugin settings but I think these would be better and more discoverable/accessible if they were part of the HTML/Javascript UI in the graph panel itself
The constant redrawing of the graph when opening a new note with the related elastic animation makes exploring the graph really uncomfortable in my opinion. Since there is already a "Redraw Graph" button, I think it would be nice to have a tick to avoid redrawing next to it. Clicking a topic would only recenter the graph to it. This way you can use the graph as a semi-persistent map to navigate your content.
Later on, it would probably be a good idea to have the option to store the layout, so it will always present itself in the same way after closing the tab or the program.
It would be nice to have the panels redraw when the graph is toggled. Right now it is just if the graph is displaying, but the editor panel is the same size regardless of the graph being visible or not. It would be nice if the panel resized to 0 when the graph was disabled so the editor had more space.
I have no idea if that's even possible, and if it isn't or is a lot of work, I'd personally be just as happy with issue #12 being the way to not lose editor space when the graph is visible.
Some knowledge management systems (like Zettelkastens) append a unique identifier (like timestamps) to the beginning of note titles to make organisation easier. However, this makes viewing the graph cluttered when trying to get the gist of a web of connections from the titles alone. These systems also often have notes with YAML front matter or level 1 headings without the identifier, which could be used as node labels to produce a more "readable" graph.
Love this... but when I toggle off the Graph view... the remaining space should be redistributed to the remaining views instead of requiring me to resize manually... like how the toggle work for markdown split window works. Should the button resize graph to 1px width and toggle off? I'm sure you can do something more elegant than my silly idea.
I would like to have the same behavior as the node on the labels. It's a difficult to click on them when there are too many or if a label is over a node.
Right now it just filters out the first one is comes across which is probably more confusing than filtering all of them.
See this plugin for an example of a plugin that uses settings
For example, add an entry to view/tools menu to hide and show graph.
Currently, internal note links that link deeply to one of its headlines, are not displayed in the note graph.
For example:
[my note link](:/123#anchor)
This might be easily fixed by extending the check for note links to include [a-z0-9-]+
as postfix after #
.
As the title says, the font size changes only when the max. distance is set to 0. When I change the distance, the label turns back to the standard font size.
OS: Linux Mint
Several settings have default values above 10, but don't have max/min values specified, this isn't an issue in the desktop app where integer settings have an input box, but on mobile they're a slider.
Attempting to change the value forces it into the [0, 10] range that's used by default.
Seems there's no activity on it with a number of outstanding issues.
Hi!
First of, thank you for this fantastic plugin. I think it's very useful.
I would like to suggest an idea: could we allow tags to be nodes?
Lets' say for example that I have two notes:
It would kinda make sense to link these two notes together, but not so much either. They don't have much in common, except that they both explain how to sort.
However, if I were to tag these two notes as "sorting", we could imagine that the graph could display a new node, "sorting", linked to the two notes above.
I think it could be a valuable feature because:
If possible, the relationships between tag nodes and note nodes should be found automatically (i.e: I wouldn't need to update any markdown for the relationship to be created). I think this shouldn't be too hard, Joplin knows the relationships tags <-> notes.
What do you think?
When exploring the graph, it would be useful to hover over a node to highlight its links. Currently only the selected node is highlighted. I'd like to be able to hover over any node and highlight is link.
Even cooler if we can highlight the seconday links and so on in different gradients. For example
flowchart LR
Selected --very very thick link--> node1
node1 --very thick link--> node2
node2 -- thick link --> node3
node3 -- normal link --> node4
Selected --very very thick link--> node5
node5 --very thick link--> node6
node6 -- thick link --> node7
node7 -- normal link --> node8
node9 -- normal link --> node10
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.