foambubble / foam

A personal knowledge management and sharing system for VSCode
https://foambubble.github.io/
Other
15.3k stars 654 forks source link

Feature Request: Types not selected upon opening Foam Graph #914

Closed DrakeWhu closed 2 years ago

DrakeWhu commented 2 years ago

Hey, I'd like to propose that the graph has the note types deactivated when you use the Foam: Show Graph command. In large collections of notes with a lot of types it gets tiring to unmark every checkbox when I only want to check the graph a type of notes make between themselves. With this things could go with less friction

riccardoferretti commented 2 years ago

Hi @DrakeWhu, thanks for your comment. Given that this is mostly a matter of preference, I am reluctant to force any one approach. I can guarantee you that if we were to implement what you are suggesting, within a couple of months someone else would raise the issue that we should just have all notes selected for this reason or another. And you would both be right.

I would also be hesitant to making this a user setting. One thing I think might be helpful here is to remember the types activated/deactivated from the last time the graph was used. I don't consider this to be high priority for v1, but if someone wants to work on it I would be happy to review the PR.

DrakeWhu commented 2 years ago

Hi @riccardoferretti, thanks for answering I agree that maybe implementing it for a general audience is a bit too risky. I would like to work on this (and other dataviz ideas I have for my general workflow), but the only thing I've been able to do is change the color of some types, the background, etc...

I have very limited experience with programming and this is way above me for now. But with some help would love to work on it, getting to know FOAM better is one of my objectives, I plan on implementing several extensions whenever the API is out, specially extensions concerning the physics engine used to show the graph, the visualization of nodes and search algorithms coming from graph theory that could help with getting insights on what I learn

I've been using FOAM for more than 1 year note for my college and masters notes and I really want to help develop this API and the extensions built on it, but I fear the only thing I can do is report bugs that may arise while using my notes. If you have any advice on how to start playing with FOAM, specially with the graph part (even though the API is not released) would be much appreciated.

Also, if you are curious about how I work with FOAM with roughly 1k notes, I have a fork of the FOAM repository that I mostly use as a cloud backup in case my laptop dies. Feel free to take a look at the graph if you want. My notes are mostly written in spanish though

riccardoferretti commented 2 years ago

Hi @DrakeWhu, first of all I am happy to hear Foam has been helpful for you :) I saw your Foam fork, 1k is a good size, I might use it for some testing at some point, thanks for the pointer! As an aside, keep in mind you don't need to fork the whole Foam extension repo, you could also just use the https://github.com/foambubble/foam-template/ as base, or really any VS Code workspace.

For what regards customizing the dataviz graph to suit your needs, that's probably a fairly easy piece of Foam to get started on, as basically it all lives in the packages/foam-vscode/static/dataviz/graph.js file (assuming you don't need to interact with the rest of Foam). If you make changes to that file, you just have to run the Developer: Reload Webviews command to see your changes applied. Happy to provide some guidance should you need it, to get started you can read docs/contribution-guide.md.

DrakeWhu commented 2 years ago

Hi @riccardoferretti, sorry for taking so long answering, I was busy with my exams.

Thanks for the answer, my cloud backup is now into a separate private repository, but I've left the other one with ~1k notes open for anyone who wants to make tests in big graphs. I won't change the notes or content in the open graph, so right now it's only purpose is testing.

For now I won't do anything else regarding dataviz because I don't have much time till my next exams come, but thanks for the advice, I will certainly start trying things the moment I have some time to spare. Also thanks for the tip on only reloading the webviews, it was getting tiring to reload the whole window only to see if my changes to the graph are correct.