lainchan / Ω
Tools for personal wiki and Documentation
Pris · 2022-08-14 11:27
I am looking to organize Code and project documentations, as well as my own personal notes and study notes etc. In markdown preferrably. Why markdown? Because markdown is cross compatible and transportable, I dont want to have to export into some non-native format like in Joplin which stores the notes in a .jmx file and Zim (see picture attached) which doesnt save or use .md format but uses some autistic zim file format that im too lazy to care about.
My requirements for a good documentation editor:
>Support for dual OR single panel edit/write + read / .md render mode
>It's FOSS
>Easily export / import .md files
>preferrably STORES the files directly in .md so one can copy directly
>Browse directories as "books" , each file being a page, or chapter
>Easy browsing of content WITHIN sheets by sector - in .md file, browse the different sections defined by the headers . Decent as both a content browser and content editor as its kind of useless to make files if you cant read them comfortably.
>browsing ideally could be similar to .rmd files which have nice browsing of sections. It would be nice if I could do this with a GUI sidebar.
>A good example is R markdown / bookdown ( this format is oriented at making notes specifically for the R language, and it's not an editor itself rather a filetype ). See example: https://rafalab.github.io/dsbook/
Any good tools for this? I didnt want to use the proprietary & commercial menace or anything that connects online to a server. For this reason, I liked the idea of vim and vimwiki or Emacs. The flaw here is that A: I have to learn Vim or Emacs.. and B: I dont imagine using Vim or Emacs is comfortable as a text reader once you are only interested in browsing documentation. Perhaps a normal webbrowser would be better at this stage.
I considered developing my own markdown editor / browser tool in python using tkinter GUI, but at this point it's probably easier to learn Vim.
Guthrie · 2022-08-14 11:56
>>62504
I use vimwiki. If you just want to use vim for your wiki, you only need to learn probably 3 commands (insert, return to normal mode and quit) plus a few specifically for vimwiki (to create and follow links, for example). You don't even have to use hjkl for navigation, you can use your arrow keys.
I find it quite comfortable, but then it isn't for everyone. In vimwiki you can do certain things such as linking to images which emacs improves by having images render within the document instead of opening with your image viewer, but I prefer vim as it's my normal editor anyway so I'm more comfortable with it ¯\_(ツ)_/¯
Turner · 2022-08-14 12:09
>>62505
I am planning to test it to see. Is vimwiki suitable for browsing and reading documentation ? F.ex. could you read 20min gitbook tutorials in vim?
Roger Pollack · 2022-08-14 12:15
>>62506
I'd say so, yes. There are commands in vim that you could learn to make it easier (such as "zt" to align the selected line to the top of the screen) but vim has highlighting in its documentation and vimwiki has its own syntax highlighting and features based on markdown. The colours used are customisable. See pic for example.
Jim Hilger · 2022-08-14 14:55
I second vimwiki. I use it for school notes, journaling, documenting programs, and even as a calendar. You can have it configured for live preview, but I just have an autocmd that converts to html on file write. The only time I have trouble reading comfortably in the editor is when I'm writing complicated math stuff. I also have it setup to sync with my phone via syncthing & markor.
Yamaoto Toshi · 2022-08-14 19:15
>>62504
im contemplating doing note taking like this as well. Would be cool to build up a whole wikipedia about various subjects over a few years.
I spent alot of time learning things im interested in but then never actually doing anything with it once i do learn it . I feel like if i dont write it down or something then its wasted, and i might forget alot of things later.
Like for example i recently learned about the elf file format but the thing is when i went to start writing about it i realized i was basically just writing down the exact same information as other elf specification docs. Like i was just descripting each struct field & their size & explaining their constraints & possible values. Then the entire thing seem kind of stupid because there already exists several "proper" elf documentations out there, like the one from oracle (https://docs.oracle.com/cd/E26502_01/html/E26507/chapter6-43405.html) or the one from linux standards foundation (https://refspecs.linuxfoundation.org/elf/elf.pdf)
and this is basically what happens to 99% of the things i learn. There are so many things i learned which feel like it was a waste of time now because i have nothing to show for it, but knowledge in my brain. Yet every time i learn something new and start writing things down about it i find it stupid because im just regurgitating what i read in some other documentation.
Dr. X · 2022-08-14 20:16
>>62513
I believe there is some important psychology behind the process of learning that favors certain context or learning styles.
F.ex. ELF format seems very abstract and if your brain cannot link it to other knowledge it previously has known or find a use case (we learn by doing) it is probably discarded very fast.
Brain basically discards unused information on the go and what it considers "important". There must be some kind of weighing scheme to what is kept or discarded.
Notebooks could still be good in those cases as a lookup, then simply summarizing the information in a more abstract human readable way might help, such as "ELF is a format for the purpose of X" and below just put the links that you posted as reference.
I think of my wiki as more as a cache of information that I cannot afford to remember, rather than a "summary of all the things I remember because my brain is so big".
7355608 · 2022-08-15 00:48
https://dendron.so/
NOTE: If you aren't interested in running a VSCode extension for this purpose, you may still be well served by taking a moment to read the FAQ and supplementary wiki pages below. The structural principles of Dendron are portable and you can use them to enhance your experience in any note-taking tool, much like "Johnny Decimal" (protip: Johnny *Hexadecimal*).
- "FAQ": https://wiki.dendron.so/notes/683740e3-70ce-4a47-a1f4-1f140e80b558/
- "Taking Notes": https://wiki.dendron.so/notes/4RFQMNA91cRW12VJl_PFd/
- "Hierarchies": https://wiki.dendron.so/notes/f3a41725-c5e5-4851-a6ed-5f541054d409/
====
https://logseq.com/
- Roadmap: https://trello.com/b/8txSM12G/logseq-roadmap
- Introduction, Why Special?, Common Uses: https://docs.logseq.com/#/page/start%20here
- Browse table of contents for a quick overview of what can be done: https://docs.logseq.com/#/page/Contents
====
https://github.com/siyuan-note/siyuan
SiYuan is a pretty nice little application with smooth performance and a nice set of features. I didn't end up using it not because of anything really wrong, but just something a little bit missing, which could be simply the cool factor of doing things in vim over ssh.
====
https://github.com/marktext/marktext
It's a clean, simple markdown editor. It doesn't seem to be going for any hot and trendy graph view / backlinking / interconnected notes / structure organization innovation etc. So if you just want to organize your notes in a simple directory structure (or not) and you don't want the application to draw charts for you or give you a "second brain" to browse through until you are struck serendipitously with inspiration by the unforeseen juxtaposition of a pair of your own ideas, then maybe try this one, I guess, I haven't used it or anything.
====
https://xwmx.github.io/nb/
> nb is a command line and local web note‑taking, bookmarking, archiving, and knowledge base application with: plain text data storage, encryption, filtering, pinning, #tagging, and search, Git-backed versioning and syncing, Pandoc-backed conversion, [[wiki-style linking]], terminal and GUI web browsing, inline images,
todos with tasks, global and local notebooks, organization with folders, customizable color themes, extensibility through plugins, and more, in a single portable script.
holy soykaf where the fuarrrk has this been
====
If you are phone-BASED (on what?) or at least enough so to use this as an intro to org-mode structure, you (or whoever) might find some benefit in Orgzly: https://f-droid.org/packages/com.orgzly/
====
Ok just kidding, here's the real based choice:
- https://www.styluslabs.com/
- https://xournalpp.github.io/
I see the second one mentioned/recommended more often and I can't recall whether I disliked anything about it, but for whatever reason I ended up favoring the first one (it could have been some incidental/convenience reason, who remembers). Anyway you can write notes and diagrams and doodles and everything all together without limits (except your imagination). And instead of writing normal personposts where you attempt to describe things using language alone like a normal person, you can send people baller-ass soykaf like this wherein you have attempted to describe only about 90% of things using language alone:
https://dope.gay/lain/net-diag.html
(If you zoom out a bit it's probably easier to read most of it aside from the diagram)
(also that contains clickable links)
====
I haven't tried this one either but it sounds incredibly badass: https://strlen.com/treesheets/
> A "hierarchical spreadsheet" that is a great replacement for spreadsheets, mind mappers, outliners, PIMs, text editors and small databases.
====
Anyone inquiring into note-taking / knowledge management tools will be interested in the Zettelkasten system. Note this is a *system* -- like the portable Dendron principles above (except far more robust/comprehensive) -- and there's a wide variety of tools you can use to implement this system.
- "The Introduction to the Zettelkasten Method": https://zettelkasten.de/introduction/
- "Getting Started": https://zettelkasten.de/posts/overview/
- "Communicating with Slip Boxes" (intro by the inventor of the method): https://luhmann.surge.sh/communicating-with-slip-boxes
par22 · 2022-08-15 10:27
I create markdown files inside a directory. Each markdown file is named after the topic (e.g. burgers.md). I use Vim to edit the files. To link to another file, I write the name of the other file, position my cursor on the name, and press "gf" to go to the other file. I use Git to version-control all the files. I use grep or The Silver Searcher ("ag") to search the file contents. I believe this to be a simple and future-proof method that has minimal software/vendor lock-ins.
Motoko Kusanagi · 2022-08-15 14:33
I use DokuWiki for my notes, but i have Pandoc + scripts to make site like that (just for loop that executes pandoc and after that another for loop that echoes "<!--#include file="sidebar.html" -->\n<!--#include file="header.html" -->" (html server side includes) to those files).
might work for you, might not.
par22 · 2022-08-15 15:43
>>62538
>html server side includes
Isn't a bit of an overkill to have to serve your notes using a web server?
Anamika · 2022-08-17 11:16
>>62540
I think so too, you can just view them using file:// in your browser. Unless you want to have it public like this one:
https://namelessrumia.heliohost.org/w/doku.php
par22 · 2022-08-18 04:16
>>62584
>file://
But the absolute links are going to break if you don't serve the webpages using a web server.
Terzibashjian · 2022-08-18 15:28
>>62504
Sounds like you're looking for a second brain. https://wiki.installgentoo.com/wiki/KnowledgeManagementSystems
It's not exactly what you described, but I use logseq and it's been amazing for my use case, which is very similar to yours.
7355608 · 2022-08-19 01:56
>>62611
Logseq is the one that, for whatever reason, has been the most effective at getting me to actually take notes. I find myself far more often writing outlines about things in it than with other tools and I can't figure out what's special about it. I want it to be something else that does this to me because I can't even figure out what to be impressed by. They are doing too well at the Taoist "best leader makes the people think they did it all themselves" soykaf
Spike Spiegel · 2022-08-19 18:56
>>62504
>organize Code and project documentations
Emacs org-mode with org-babel for code.
You can do anything in Emacs.
Nobody special · 2022-08-20 19:11
>>62621
Logseq is also the one that I use the most for note taking. I think what did it for me was the block embedding.
Bobby Newmark · 2022-08-21 20:07
>>62504
>autistic zim file format
huh?
>All pages you create in zim are saved as plain text files with wiki formatting.
Maybe you are confusing it with some other program.
Meddler · 2022-08-22 17:52
>>62540
it kinda is, but there is no other solution for having dynamic content in html (other than doing main page with frames but that feels little hacky)
someone should be able to create little c program (or python http.server wrapper for the easy way) that just does the includes and http serving
par22 · 2022-08-23 08:32
>>62694
The question is: why do you even need dynamic content for personal wiki and documentation?
Besides iframes, there are other ways to include dynamic content:
* JavaScript
* Server Side Includes (SSI)
Neuromancer · 2022-08-23 14:01
>>62711
>why do you even need dynamic content for personal wiki and documentation?
i want single header/sidebar file so i do not need re-generate every page when i add/remove content from those.
we talked about SSI already, and while i do not hate minimal javascript, i still dislike using it. (also i am not even sure if i can just include contents of another file with it).
Jet Black · 2022-08-23 14:44
Currently using Zim and I like it though it doesn't use markdown (though you can export wikis to markdown). Are there any graphical programs like Zim that use Markdown and aren't written in Electron?