Drasil
Drasil copied to clipboard
Obsidian for Organizing Knowledge
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:
- [ ] investigating Obsidian and potential uses with Drasil
- [ ] creating an Obsidian-flavoured markdown generator (I think we can manually create a Drasil Vault so that required metadata can stay in the repo. From there, we can generate the markdown files for use in Obsidian)
- [ ] translating the existing generated dependency graphs (#2612) into markdown for use with Obsidian's graphical display
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.