swg -- simple wiki/zettelkästen helper/generator. Here is suggested trivially simple format of plaintext data, ready to be used for zettelkästen, wiki, static website, info documentation generation. There are various already existing similar solutions. But most of them are either too complex, or not too flexible enough, or far from being human friendly, or can not be adequately viewed by plain text pagers. => https://en.wikipedia.org/wiki/Plain_Old_Documentation Plain Old Documentation, POD => https://docutils.sourceforge.io/rst.html reStructured Text (reST) => https://www.sphinx-doc.org/en/master/ Sphinx => https://en.wikipedia.org/wiki/Docbook DocBook => https://asciidoc-py.github.io/index.html AsciiDoc => https://vimwiki.github.io/ Vimwiki => https://www.latex-project.org/ LaTeX => https://man.openbsd.org/mdoc.7 mdoc => https://troff.org/ troff => https://en.wikipedia.org/wiki/HTML HTML => https://geminiprotocol.net/docs/gemtext.gmi gemtext => https://daringfireball.net/projects/markdown/ Markdown => https://commonmark.org/ CommonMark => https://www.gnu.org/software/texinfo/ GNU Texinfo + Info Texinfo seems to be the best choice in most cases. It is official documentation format in GNU operating system. But it has only single implementation, not so low learning curve and necessity of additional tools at least for viewing .info files conveniently. It can be an overkill for small projects or people fearing of any markup language. Could it be simpler? What could we need except for ordinary bunch of plaintext files in directory hierarchy? We still want ability to do conversion to HTML, which has a variety of hyperlink-capable browsers. * Need of internal pages linking. This is necessity for either wiki or zettelkästen like use cases. * Ability to insert arbitrary links (URI/URL). * Ability to insert links to images. * Ability to track internal linking and be able to generate list of backlinks. That is necessity for zettelkästen use case. That also can be used for creating indices (automatically generated pages with a list of backlinks). Actually that is all! The only crucial thing is ability to specify and determine internal links and be able to track them between the pages. That is the main task that utility was written. HTML generation is completely optional feature. Look how [LINKS] should be made. How [FORMAT] is defined. How your [VIM] editor can be used with all of that. Look for [USAGE] of swg utility itself. Use grep, git-grep or similar tools to search through pages. fzf can be used to quickly navigate to necessary page/file. recoll can be used to index and search through the whole data. => https://github.com/junegunn/fzf fzf => https://www.lesbonscomptes.com/recoll/ recoll