JacquesCarette / Drasil

Generate all the things (focusing on research software)
https://jacquescarette.github.io/Drasil
BSD 2-Clause "Simplified" License
140 stars 26 forks source link

Obsidian for Organizing Knowledge #2935

Open Ant13731 opened 2 years ago

Ant13731 commented 2 years ago

Obsidian is a markdown viewer with functionality that complements the SRS documents generated by Drasil, especially with the prospect of atomic knowledge fragments as discussed in #2911 .

I haven’t really looked into using it with Drasil too far, but I have been taking all my notes this term on it and it is certainly convenient for organizing and displaying information. It has mouseover functionality like Wikipedia and a very nice graphical view of related and linked documents. This has potential in making the relationships between pieces of knowledge much more obvious and user-friendly.

It could even provide a clearer analysis of the type and class dependencies, since the graph UI is much more intuitive and flexible than dot graphs (see #2612). We would also need a markdown printer suited for Obsidian, but most of the elements should already be in place from the HTML generator (it even supports MathJax out of the box).

As @smiths suggested, we could generate Obsidian-compliant links where we currently have labels and references. Obsidian doesn't seem to have labels to tables and diagrams, but this can be resolved with headers. There are many other features listed in the documentation that could be useful. For example, we can easily link to blocks with manual IDs.

We may even want to separate the full SRS by breaking up the different sections into notes grouped by related knowledge to help with readability. For example, if all theoretical models were written on a separate markdown file and instead linked when needed, we could reduce a lot of the clutter from the specific system description section. However, some information may be lost or go unnoticed if it isn't explicitly referenced by another part of the document.

@JacquesCarette and @smiths mentioned that it may also be worth taking a look at org-mode, which is much more powerful but seems more complex.

On a side note, Obsidian may also be nice to use when browsing the Wiki (locally) for information, since it should work with GitHub flavoured markdown.

This issue can probably be broken down into the following non-exhaustive list:

smiths commented 2 years ago

Great issue! Thank you @Ant13731.

Out of curiosity, I started playing with Obsidian and created a portion of the SRS for NoPCM. I've started with creating separate files for some assumptions and some theories. Having one document with headers worked for the markdown, but the graph didn't show links between sections. The easily generated graph is part of the advantage of Obsidian, so I reworked it as separate files to get the graph to appear. The separate files idea is nice for a separation of concerns. It could also be nice for reuse. For concepts that are independent of NoPCM, because they are more general, having separate files reinforces this.