Outliner wiki Outliners, note-taking apps and everything

Settings

Introduction

> An outliner (or outline processor) is a specialized type of text editor (word processor) used to create and edit outlines, which are text files which have a tree structure, for organization. Textual information is contained in discrete sections called "nodes", which are arranged according to their topic–subtopic (parent–child) relationships, like the members of a family tree. When loaded into an outliner, an outline may be collapsed or expanded to display as few or as many levels as desired.
> 
> — [From Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Outliner)

Outliners overlap with note-taking apps, often by a lot. Also many of them support time tracking, task lists and so on.

This document provides a brief look at well-known, popular or otherwise relevant software in these categories, along with lesser known and adjacent apps.

## License

This text is under a [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.

Outliners

- The 800-pound gorilla of outliners is [Org Mode](https://orgmode.org/).

Some are only kept around by nostalgia:

- [hnb](http://hnb.sourceforge.net/) <q>a curses program to structure many kinds of data in one place</q> ancient, abandoned and awkward

## Unusual

- [TreeSheets](https://strlen.com/treesheets/) <q>Free Form Data Organizer (Hierarchical Spreadsheet)</q> a pretty cool concept it turns out, in active development as of late 2023
- [TreeLine](https://treeline.bellz.org/) is arguably more of a personal database (see review in other file) with nested records; still developed as of late 2020

## Mobile

- [Orgzly](http://www.orgzly.com/): Outliner using org files (see below) to import/export data. It helps to know a few things about this file format, for example how to set a notebook title and what drawers are. Orgzly focused on agenda features, but is equally good for notes or planning.

## File formats

- Org files are the underlying format of Org Mode. While complex, a decent subset can be parsed easily enough. Compatible apps include Orgzly (and others not mentioned here).
- [OPML](http://opml.org/) is an old and much maligned format, nowadays mostly used by RSS readers to exchange lists of feeds; `hnb` can use it.

## Links

- [OutlinerSoftware.com](https://outlinersoftware.com/), an active forum (as of mid-2022)
- The [OrgDown](https://gitlab.com/publicvoit/orgdown) initiative lists many apps with support for org files.

Note-taking apps

> Note-taking (sometimes written as notetaking or note taking) is the practice of recording information from different sources and platforms. By taking notes, the writer records the essence of the information, freeing their mind from having to recall everything.
> 
> &mdash; [From Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Note-taking)

While any text editor can be used to take notes, the point is doing it in such a way that notes can be easily navigated and organized afterwards.

- [Zim](https://zim-wiki.org/) <q>A Desktop Wiki</q> that's also an outliner; quirky but friendly, and very flexible. Among the most popular apps here.

## Web-based

- [TiddlyWiki](https://tiddlywiki.com/) <q>a non-linear personal web notebook</q>
  - [Feather Wiki](https://feather.wiki/) <q>like TiddlyWiki but with the smallest file size possible</q>
- [Domino](https://kool.tools/domino/#0,0) <q>a tool for collaging thoughts</q>

Hosted services:

- [rwtxt](https://rwtxt.com/public): "store any text online for easy sharing"
- [standard definition notes](https://sdnotes.com/faq), "Maybe the world's easiest website maker?" 

## Mobile

- [Markor](https://gsantner.net/project/markor.html) <q>Markdown Editor, todo.txt, Android app</q>
- [Tiddloid](https://github.com/donmor/Tiddloid) <q>an app to work with locally stored TiddlyWikis</q>
- [jtx Board](https://jtx.techbee.at/) <q>journals, notes & tasks for Android | iCalendar compliant | CalDAV sync through DAVx5</q>

Also there's a set of mobile apps for taking notes that all seem to work the same way, and only differ in the amount of features they offer. All are open source and available on F-Droid. Does this have a name?

- Notally
- Another Notes App
- [Quillpad](https://quillpad.github.io/)

They all seem based on a grid of brief text notes mixed with to-do lists; any of them can have a title, tags and so on, depending. They can be pinned, too. The concept works best with larger screens.

They look similar to [Carnet](https://getcarnet.app/), a large multiplatform app.

## Links

- [Digital Gardening Tools and Resources](https://github.com/MaggieAppleton/digital-gardeners)
- [Awesome Knowledge Management](https://github.com/brettkromkamp/awesome-knowledge-management)

Miscellaneous

This page lists lesser known or related apps, so as to keep the main sections clean.

Outliners, note-taking apps or other software with similar uses belong here.

## Outliners

- [GJots2](http://bhepple.freeshell.org/gjots/) and [FeatherNotes](https://github.com/tsujan/feathernotes) are two small outliners available in Debian that save their notebooks to single files, in proprietary (if text-based) formats. Both are clunky and limited:
  - GJots2 treats notes as plain text but its own file format is human-readable;
  - FeatherNotes has a rich text editor (with few options), but no data export.
- [OutWiker](https://jenyay.net/Outwiker/English) is a mix between outliners and wikis (see below), running on the desktop. Looks very similar to Zim, except for the lack of a rich text editor. Via @bouncepaw.

### Using common formats

The big problem with most outliners is that they insist on using their own ad-hoc file formats instead of common options. This author's outliners are a reaction to this trend:

- [Scrunch Edit](https://ctrl-c.club/~nttp/toys/scrunch/), a two-pane outliner for Markdown and org files; treats both as plain text (apart from headings);
- [OutNoted](https://ctrl-c.club/~nttp/toys/outnoted/), an outline note-taking editor; can use org files, Markdown or OPML, but only in specific ways.

A few mobile outliners use org files as well.

### Wikis

- Wiki engines like [Feather Wiki](https://feather.wiki/) and [Pepperminty Wiki](https://peppermint.mooncarrot.space/) can show a tree of pages in the sidebar, thus acting much like outliners. These two also use Markdown as it happens.

## Text User Interface

It's hard to find good apps in this category, because most use a command line, which misses the point.

- [TUI Journal](https://github.com/AmmarAbouZor/tui-journal) <q>Your journal app if you live in a terminal</q>
- [JourNote](https://codeberg.org/nosycat/journote): this author's own take on the matter.
- [Mayhem](https://github.com/BOTbkcd/mayhem) <q>A minimal TUI based task tracker</q>

## Old

- [Tomboy](https://wiki.gnome.org/Apps/Tomboy) was once *the* note-taking app, but it fell from grace as Linux distributions dropped Mono one by one. It was later remade in C++ as [Gnote](https://wiki.gnome.org/Apps/Gnote), but most users had moved on.

## Potential

- [Twine](https://twinery.org/) might be good for taking notes
- Collage website makers like [HotGlue](https://www.hotglue.me/) or [Multiverse](https://multiverse.plus/) could work too
- So could [Shaarli](https://github.com/shaarli/Shaarli), a bookmark manager that supports notes with Markdown and tags
- [Decker](https://beyondloom.com/decker/) also supports text, images, tables and at least two different ways to link between cards

## Links

- [An outliner done right](https://felix.plesoianu.ro/blog/outliner-done-right.html): this author's review of TreeLine
- [The outline of a game](https://notimetoplay.org/engines/game-outlines.html) an opinion piece, also by this author

Mind map

<svg width="546pt" height="547pt"
 viewBox="0.00 0.00 546.12 547.29" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 543.294)">
<title>%3</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-543.294 542.1206,-543.294 542.1206,4 -4,4"/>
<text text-anchor="middle" x="269.0603" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Outliners, note&#45;taking apps and everything</text>
<text text-anchor="middle" x="269.0603" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">CC&#45;BY&#45;SA</text>
<!-- Outliners -->
<g id="node1" class="node">
<title>Outliners</title>
<polygon fill="#ffff00" stroke="#000000" stroke-width="2" points="312.3094,-384.196 309.3094,-388.196 288.3094,-388.196 285.3094,-384.196 245.3094,-384.196 245.3094,-348.196 312.3094,-348.196 312.3094,-384.196"/>
<text text-anchor="middle" x="278.8094" y="-362.496" font-family="Times,serif" font-size="14.00" fill="#000000">Outliners</text>
</g>
<!-- OrgMode -->
<g id="node2" class="node">
<title>OrgMode</title>
<g id="a_node2"><a xlink:href="https://orgmode.org/" xlink:title="Org Mode">
<ellipse fill="none" stroke="#000000" cx="430.0188" cy="-323.1596" rx="48.1917" ry="18"/>
<text text-anchor="middle" x="430.0188" y="-319.4596" font-family="Times,serif" font-size="14.00" fill="#0000ff">Org Mode</text>
</a>
</g>
</g>
<!-- Outliners&#45;&gt;OrgMode -->
<g id="edge1" class="edge">
<title>Outliners&#45;&gt;OrgMode</title>
<path fill="none" stroke="#000000" d="M312.3677,-356.6448C332.7555,-350.8421 359.1246,-343.3371 381.7298,-336.9033"/>
<polygon fill="#000000" stroke="#000000" points="382.8265,-340.2303 391.4864,-334.1265 380.9102,-333.4977 382.8265,-340.2303"/>
</g>
<!-- Zim -->
<g id="node3" class="node">
<title>Zim</title>
<g id="a_node3"><a xlink:href="https://zim-wiki.org/" xlink:title="Zim">
<ellipse fill="none" stroke="#000000" cx="278.8094" cy="-288.647" rx="27" ry="18"/>
<text text-anchor="middle" x="278.8094" y="-284.947" font-family="Times,serif" font-size="14.00" fill="#0000ff">Zim</text>
</a>
</g>
</g>
<!-- Outliners&#45;&gt;Zim -->
<g id="edge2" class="edge">
<title>Outliners&#45;&gt;Zim</title>
<path fill="none" stroke="#000000" d="M278.8094,-347.818C278.8094,-338.6431 278.8094,-327.3383 278.8094,-317.0765"/>
<polygon fill="#000000" stroke="#000000" points="282.3095,-316.8931 278.8094,-306.8931 275.3095,-316.8932 282.3095,-316.8931"/>
</g>
<!-- Old -->
<g id="node4" class="node">
<title>Old</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="427.07,-403.349 424.07,-407.349 403.07,-407.349 400.07,-403.349 373.07,-403.349 373.07,-367.349 427.07,-367.349 427.07,-403.349"/>
<text text-anchor="middle" x="400.07" y="-381.649" font-family="Times,serif" font-size="14.00" fill="#000000">Old</text>
</g>
<!-- Outliners&#45;&gt;Old -->
<g id="edge3" class="edge">
<title>Outliners&#45;&gt;Old</title>
<path fill="none" stroke="#000000" d="M312.5873,-371.5312C328.2234,-374.0009 346.8456,-376.9423 362.8816,-379.4752"/>
<polygon fill="#000000" stroke="#000000" points="362.5652,-382.9685 372.9888,-381.0716 363.6573,-376.0542 362.5652,-382.9685"/>
</g>
<!-- Unusual -->
<g id="node6" class="node">
<title>Unusual</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="344.322,-457.8564 341.322,-461.8564 320.322,-461.8564 317.322,-457.8564 282.322,-457.8564 282.322,-421.8564 344.322,-421.8564 344.322,-457.8564"/>
<text text-anchor="middle" x="313.322" y="-436.1564" font-family="Times,serif" font-size="14.00" fill="#000000">Unusual</text>
</g>
<!-- Outliners&#45;&gt;Unusual -->
<g id="edge5" class="edge">
<title>Outliners&#45;&gt;Unusual</title>
<path fill="none" stroke="#000000" d="M287.3406,-384.4042C291.2814,-392.815 296.0461,-402.9842 300.4133,-412.3052"/>
<polygon fill="#000000" stroke="#000000" points="297.3572,-414.032 304.7693,-421.6024 303.6959,-411.062 297.3572,-414.032"/>
</g>
<!-- Mobile -->
<g id="node9" class="node">
<title>Mobile</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="239.5149,-446.3855 236.5149,-450.3855 215.5149,-450.3855 212.5149,-446.3855 183.5149,-446.3855 183.5149,-410.3855 239.5149,-410.3855 239.5149,-446.3855"/>
<text text-anchor="middle" x="211.5149" y="-424.6855" font-family="Times,serif" font-size="14.00" fill="#000000">Mobile</text>
</g>
<!-- Outliners&#45;&gt;Mobile -->
<g id="edge8" class="edge">
<title>Outliners&#45;&gt;Mobile</title>
<path fill="none" stroke="#000000" d="M258.9828,-384.5185C252.7409,-390.287 245.7309,-396.7652 239.053,-402.9364"/>
<polygon fill="#000000" stroke="#000000" points="236.4011,-400.6215 231.4324,-409.979 241.152,-405.7624 236.4011,-400.6215"/>
</g>
<!-- Formats -->
<g id="node11" class="node">
<title>Formats</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="170.071,-373.9415 167.071,-377.9415 146.071,-377.9415 143.071,-373.9415 108.071,-373.9415 108.071,-337.9415 170.071,-337.9415 170.071,-373.9415"/>
<text text-anchor="middle" x="139.071" y="-352.2415" font-family="Times,serif" font-size="14.00" fill="#000000">Formats</text>
</g>
<!-- Outliners&#45;&gt;Formats -->
<g id="edge10" class="edge">
<title>Outliners&#45;&gt;Formats</title>
<path fill="none" stroke="#000000" d="M244.9827,-363.7137C225.4967,-362.2837 200.8603,-360.4758 180.2529,-358.9636"/>
<polygon fill="#000000" stroke="#000000" points="180.4267,-355.467 170.1974,-358.2257 179.9144,-362.4482 180.4267,-355.467"/>
</g>
<!-- hnb -->
<g id="node5" class="node">
<title>hnb</title>
<ellipse fill="none" stroke="#000000" cx="460.7002" cy="-433.7" rx="27" ry="18"/>
<text text-anchor="middle" x="460.7002" y="-430" font-family="Times,serif" font-size="14.00" fill="#000000">hnb</text>
</g>
<!-- Old&#45;&gt;hnb -->
<g id="edge4" class="edge">
<title>Old&#45;&gt;hnb</title>
<path fill="none" stroke="#000000" d="M422.6464,-403.3532C426.6445,-406.5415 430.835,-409.8834 434.9137,-413.136"/>
<polygon fill="#000000" stroke="#000000" points="433.0305,-416.1108 443.031,-419.6093 437.3949,-410.638 433.0305,-416.1108"/>
</g>
<!-- TreeSheets -->
<g id="node7" class="node">
<title>TreeSheets</title>
<g id="a_node7"><a xlink:href="https://strlen.com/treesheets/" xlink:title="TreeSheets">
<ellipse fill="none" stroke="#000000" cx="379.7512" cy="-498.2547" rx="50.0912" ry="18"/>
<text text-anchor="middle" x="379.7512" y="-494.5547" font-family="Times,serif" font-size="14.00" fill="#0000ff">TreeSheets</text>
</a>
</g>
</g>
<!-- Unusual&#45;&gt;TreeSheets -->
<g id="edge6" class="edge">
<title>Unusual&#45;&gt;TreeSheets</title>
<path fill="none" stroke="#000000" d="M333.9765,-458.0139C339.9751,-463.2873 346.6148,-469.1243 352.9335,-474.6791"/>
<polygon fill="#000000" stroke="#000000" points="350.8716,-477.5267 360.693,-481.5005 355.4934,-472.2693 350.8716,-477.5267"/>
</g>
<!-- TreeLine -->
<g id="node8" class="node">
<title>TreeLine</title>
<g id="a_node8"><a xlink:href="https://treeline.bellz.org/" xlink:title="TreeLine">
<ellipse fill="none" stroke="#000000" cx="278.8094" cy="-521.294" rx="42.7926" ry="18"/>
<text text-anchor="middle" x="278.8094" y="-517.594" font-family="Times,serif" font-size="14.00" fill="#0000ff">TreeLine</text>
</a>
</g>
</g>
<!-- Unusual&#45;&gt;TreeLine -->
<g id="edge7" class="edge">
<title>Unusual&#45;&gt;TreeLine</title>
<path fill="none" stroke="#000000" d="M305.6625,-457.93C301.1633,-468.5467 295.3878,-482.1748 290.3466,-494.0704"/>
<polygon fill="#000000" stroke="#000000" points="287.0082,-492.9781 286.3287,-503.5511 293.4533,-495.7095 287.0082,-492.9781"/>
</g>
<!-- Orgzly -->
<g id="node10" class="node">
<title>Orgzly</title>
<g id="a_node10"><a xlink:href="https://orgzly.com/" xlink:title="Orgzly">
<ellipse fill="none" stroke="#000000" cx="177.8677" cy="-498.2547" rx="35.194" ry="18"/>
<text text-anchor="middle" x="177.8677" y="-494.5547" font-family="Times,serif" font-size="14.00" fill="#0000ff">Orgzly</text>
</a>
</g>
</g>
<!-- Mobile&#45;&gt;Orgzly -->
<g id="edge9" class="edge">
<title>Mobile&#45;&gt;Orgzly</title>
<path fill="none" stroke="#000000" d="M202.6745,-446.7428C198.9964,-454.3806 194.6554,-463.3947 190.6415,-471.7297"/>
<polygon fill="#000000" stroke="#000000" points="187.4868,-470.2138 186.3013,-480.7421 193.7936,-473.251 187.4868,-470.2138"/>
</g>
<!-- OrgFiles -->
<g id="node12" class="node">
<title>OrgFiles</title>
<ellipse fill="none" stroke="#000000" cx="96.9187" cy="-433.7" rx="42.4939" ry="18"/>
<text text-anchor="middle" x="96.9187" y="-430" font-family="Times,serif" font-size="14.00" fill="#000000">Org files</text>
</g>
<!-- Formats&#45;&gt;OrgFiles -->
<g id="edge11" class="edge">
<title>Formats&#45;&gt;OrgFiles</title>
<path fill="none" stroke="#000000" d="M129.2944,-373.9763C123.9899,-383.7617 117.3295,-396.0482 111.431,-406.9291"/>
<polygon fill="#000000" stroke="#000000" points="108.1857,-405.5717 106.4969,-416.0311 114.3396,-408.9078 108.1857,-405.5717"/>
</g>
<!-- OPML -->
<g id="node13" class="node">
<title>OPML</title>
<g id="a_node13"><a xlink:href="http://opml.org/" xlink:title="OPML">
<ellipse fill="none" stroke="#000000" cx="51.9954" cy="-340.4158" rx="35.9954" ry="18"/>
<text text-anchor="middle" x="51.9954" y="-336.7158" font-family="Times,serif" font-size="14.00" fill="#0000ff">OPML</text>
</a>
</g>
</g>
<!-- Formats&#45;&gt;OPML -->
<g id="edge12" class="edge">
<title>Formats&#45;&gt;OPML</title>
<path fill="none" stroke="#000000" d="M107.6347,-350.3364C103.7452,-349.6429 99.7156,-348.9244 95.6844,-348.2056"/>
<polygon fill="#000000" stroke="#000000" points="96.1981,-344.7421 85.739,-346.4324 94.9693,-351.6334 96.1981,-344.7421"/>
</g>
<!-- NoteTaking -->
<g id="node14" class="node">
<title>NoteTaking</title>
<polygon fill="#ffff00" stroke="#000000" stroke-width="2" points="306.3094,-237.598 303.3094,-241.598 282.3094,-241.598 279.3094,-237.598 251.3094,-237.598 251.3094,-184.598 306.3094,-184.598 306.3094,-237.598"/>
<text text-anchor="middle" x="278.8094" y="-222.398" font-family="Times,serif" font-size="14.00" fill="#000000">Note</text>
<text text-anchor="middle" x="278.8094" y="-207.398" font-family="Times,serif" font-size="14.00" fill="#000000">Taking</text>
<text text-anchor="middle" x="278.8094" y="-192.398" font-family="Times,serif" font-size="14.00" fill="#000000">Apps</text>
</g>
<!-- NoteTaking&#45;&gt;Zim -->
<g id="edge13" class="edge">
<title>NoteTaking&#45;&gt;Zim</title>
<path fill="none" stroke="#000000" d="M278.8094,-237.786C278.8094,-244.9685 278.8094,-252.7659 278.8094,-260.048"/>
<polygon fill="#000000" stroke="#000000" points="275.3095,-260.2167 278.8094,-270.2167 282.3095,-260.2168 275.3095,-260.2167"/>
</g>
<!-- Web -->
<g id="node15" class="node">
<title>Web</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="184.5489,-209.945 181.5489,-213.945 160.5489,-213.945 157.5489,-209.945 130.5489,-209.945 130.5489,-173.945 184.5489,-173.945 184.5489,-209.945"/>
<text text-anchor="middle" x="157.5489" y="-188.245" font-family="Times,serif" font-size="14.00" fill="#000000">Web</text>
</g>
<!-- NoteTaking&#45;&gt;Web -->
<g id="edge14" class="edge">
<title>NoteTaking&#45;&gt;Web</title>
<path fill="none" stroke="#000000" d="M251.2936,-206.7519C234.6268,-204.1194 213.1444,-200.7262 194.9499,-197.8524"/>
<polygon fill="#000000" stroke="#000000" points="195.3796,-194.377 184.9559,-196.2739 194.2874,-201.2913 195.3796,-194.377"/>
</g>
<!-- MobNote -->
<g id="node19" class="node">
<title>MobNote</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="341.322,-155.4376 338.322,-159.4376 317.322,-159.4376 314.322,-155.4376 285.322,-155.4376 285.322,-119.4376 341.322,-119.4376 341.322,-155.4376"/>
<text text-anchor="middle" x="313.322" y="-133.7376" font-family="Times,serif" font-size="14.00" fill="#000000">Mobile</text>
</g>
<!-- NoteTaking&#45;&gt;MobNote -->
<g id="edge18" class="edge">
<title>NoteTaking&#45;&gt;MobNote</title>
<path fill="none" stroke="#000000" d="M291.2693,-184.5049C294.2789,-178.0814 297.5,-171.2067 300.5248,-164.7507"/>
<polygon fill="#000000" stroke="#000000" points="303.6952,-166.2334 304.7686,-155.6931 297.3565,-163.2635 303.6952,-166.2334"/>
</g>
<!-- OldNote -->
<g id="node22" class="node">
<title>OldNote</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="445.5479,-239.3525 442.5479,-243.3525 421.5479,-243.3525 418.5479,-239.3525 391.5479,-239.3525 391.5479,-203.3525 445.5479,-203.3525 445.5479,-239.3525"/>
<text text-anchor="middle" x="418.5479" y="-217.6525" font-family="Times,serif" font-size="14.00" fill="#000000">Old</text>
</g>
<!-- NoteTaking&#45;&gt;OldNote -->
<g id="edge21" class="edge">
<title>NoteTaking&#45;&gt;OldNote</title>
<path fill="none" stroke="#000000" d="M306.4173,-213.124C327.896,-214.7001 357.9097,-216.9027 381.4805,-218.6324"/>
<polygon fill="#000000" stroke="#000000" points="381.2436,-222.1243 391.4729,-219.3656 381.7559,-215.1431 381.2436,-222.1243"/>
</g>
<!-- TiddlyWiki -->
<g id="node16" class="node">
<title>TiddlyWiki</title>
<g id="a_node16"><a xlink:href="https://tiddlywiki.com/" xlink:title="TiddlyWiki">
<ellipse fill="none" stroke="#000000" cx="51.9954" cy="-236.8782" rx="51.9908" ry="18"/>
<text text-anchor="middle" x="51.9954" y="-233.1782" font-family="Times,serif" font-size="14.00" fill="#0000ff">TiddlyWiki</text>
</a>
</g>
</g>
<!-- Web&#45;&gt;TiddlyWiki -->
<g id="edge15" class="edge">
<title>Web&#45;&gt;TiddlyWiki</title>
<path fill="none" stroke="#000000" d="M130.3663,-203.5164C119.4734,-208.1534 106.6612,-213.6075 94.588,-218.7469"/>
<polygon fill="#000000" stroke="#000000" points="92.945,-215.6423 85.1149,-222.7795 95.6868,-222.083 92.945,-215.6423"/>
</g>
<!-- Feather Wiki -->
<g id="node17" class="node">
<title>Feather Wiki</title>
<g id="a_node17"><a xlink:href="https://feather.wiki/" xlink:title="Feather Wiki">
<ellipse fill="none" stroke="#000000" cx="96.9187" cy="-143.594" rx="57.6901" ry="18"/>
<text text-anchor="middle" x="96.9187" y="-139.894" font-family="Times,serif" font-size="14.00" fill="#0000ff">Feather Wiki</text>
</a>
</g>
</g>
<!-- Web&#45;&gt;Feather Wiki -->
<g id="edge16" class="edge">
<title>Web&#45;&gt;Feather Wiki</title>
<path fill="none" stroke="#000000" d="M134.9725,-173.9409C132.0391,-171.6016 129.0022,-169.1797 125.9819,-166.7711"/>
<polygon fill="#000000" stroke="#000000" points="128.1088,-163.9906 118.1082,-160.4921 123.7444,-169.4634 128.1088,-163.9906"/>
</g>
<!-- Domino -->
<g id="node18" class="node">
<title>Domino</title>
<g id="a_node18"><a xlink:href="https://kool.tools/domino/#0,0" xlink:title="Domino">
<ellipse fill="none" stroke="#000000" cx="177.8677" cy="-79.0393" rx="40.0939" ry="18"/>
<text text-anchor="middle" x="177.8677" y="-75.3393" font-family="Times,serif" font-size="14.00" fill="#0000ff">Domino</text>
</a>
</g>
</g>
<!-- Web&#45;&gt;Domino -->
<g id="edge17" class="edge">
<title>Web&#45;&gt;Domino</title>
<path fill="none" stroke="#000000" d="M160.8135,-173.8047C164.0572,-155.7805 169.0763,-127.8904 172.8311,-107.0263"/>
<polygon fill="#000000" stroke="#000000" points="176.2847,-107.5964 174.6112,-97.1345 169.3953,-106.3565 176.2847,-107.5964"/>
</g>
<!-- Markor -->
<g id="node20" class="node">
<title>Markor</title>
<g id="a_node20"><a xlink:href="https://gsantner.net/project/markor.html" xlink:title="Markor">
<ellipse fill="none" stroke="#000000" cx="278.8094" cy="-56" rx="37.8943" ry="18"/>
<text text-anchor="middle" x="278.8094" y="-52.3" font-family="Times,serif" font-size="14.00" fill="#0000ff">Markor</text>
</a>
</g>
</g>
<!-- MobNote&#45;&gt;Markor -->
<g id="edge19" class="edge">
<title>MobNote&#45;&gt;Markor</title>
<path fill="none" stroke="#000000" d="M305.6625,-119.364C301.1633,-108.7473 295.3878,-95.1192 290.3466,-83.2236"/>
<polygon fill="#000000" stroke="#000000" points="293.4533,-81.5845 286.3287,-73.7429 287.0082,-84.316 293.4533,-81.5845"/>
</g>
<!-- Tiddloid -->
<g id="node21" class="node">
<title>Tiddloid</title>
<g id="a_node21"><a xlink:href="https://github.com/donmor/Tiddloid" xlink:title="Tiddloid">
<ellipse fill="none" stroke="#000000" cx="379.7512" cy="-79.0393" rx="40.8928" ry="18"/>
<text text-anchor="middle" x="379.7512" y="-75.3393" font-family="Times,serif" font-size="14.00" fill="#0000ff">Tiddloid</text>
</a>
</g>
</g>
<!-- MobNote&#45;&gt;Tiddloid -->
<g id="edge20" class="edge">
<title>MobNote&#45;&gt;Tiddloid</title>
<path fill="none" stroke="#000000" d="M333.9765,-119.2802C340.0823,-113.9125 346.8522,-107.9611 353.2717,-102.3176"/>
<polygon fill="#000000" stroke="#000000" points="355.9397,-104.6323 361.1393,-95.4011 351.3179,-99.375 355.9397,-104.6323"/>
</g>
<!-- Tomboy -->
<g id="node23" class="node">
<title>Tomboy</title>
<ellipse fill="none" stroke="#000000" cx="460.7002" cy="-143.594" rx="40.8928" ry="18"/>
<text text-anchor="middle" x="460.7002" y="-139.894" font-family="Times,serif" font-size="14.00" fill="#000000">Tomboy</text>
</g>
<!-- OldNote&#45;&gt;Tomboy -->
<g id="edge22" class="edge">
<title>OldNote&#45;&gt;Tomboy</title>
<path fill="none" stroke="#000000" d="M428.3245,-203.3177C433.629,-193.5323 440.2894,-181.2458 446.1879,-170.3649"/>
<polygon fill="#000000" stroke="#000000" points="449.4332,-171.7223 451.122,-161.2629 443.2793,-168.3862 449.4332,-171.7223"/>
</g>
<!-- Gnote -->
<g id="node24" class="node">
<title>Gnote</title>
<ellipse fill="none" stroke="#000000" cx="505.6235" cy="-236.8782" rx="32.4942" ry="18"/>
<text text-anchor="middle" x="505.6235" y="-233.1782" font-family="Times,serif" font-size="14.00" fill="#000000">Gnote</text>
</g>
<!-- OldNote&#45;&gt;Gnote -->
<g id="edge23" class="edge">
<title>OldNote&#45;&gt;Gnote</title>
<path fill="none" stroke="#000000" d="M445.6219,-226.1798C451.6502,-227.2547 458.1724,-228.4176 464.6203,-229.5673"/>
<polygon fill="#000000" stroke="#000000" points="464.1506,-233.0386 474.6097,-231.3484 465.3794,-226.1473 464.1506,-233.0386"/>
</g>
</g>
</svg>

```
// Render with twopi; neato output looks better, but is too sprawling.
// Also twopi better preserves the original intent. 
digraph {
	layout=twopi
	overlap=scale
	label="Outliners, note-taking apps and everything\nCC-BY-SA"
	
	Outliners [shape=folder;style="bold,filled";fillcolor=yellow]
	Outliners -> { OrgMode Zim }
	OrgMode [fontcolor=blue,label="Org Mode",href="https://orgmode.org/"]
	Outliners -> Old -> hnb
	Old [shape=folder,style=bold]
	Outliners -> Unusual -> { TreeSheets TreeLine }
	TreeSheets [fontcolor=blue,href="https://strlen.com/treesheets/"]
	TreeLine [fontcolor=blue,href="https://treeline.bellz.org/"]
	Unusual [shape=folder,style=bold]
	Outliners -> Mobile -> Orgzly
	Orgzly [ fontcolor=blue, href="https://orgzly.com/" ]
	Mobile [shape=folder,style=bold]
	Outliners -> Formats -> { OrgFiles OPML }
	Formats [shape=folder,style=bold]
	OPML [ fontcolor=blue, href="http://opml.org/" ]
	// Orgzly -> OrgFiles [weight=0]
	OrgFiles [label="Org files"]

	NoteTaking [shape=folder;style="bold,filled";
		fillcolor=yellow;label="Note\nTaking\nApps"]
	NoteTaking -> Zim
	NoteTaking -> Web -> { TiddlyWiki "Feather Wiki" Domino }
	Web [shape=folder,style=bold]
	TiddlyWiki [ fontcolor=blue, href="https://tiddlywiki.com/" ]
	"Feather Wiki" [ fontcolor=blue, href="https://feather.wiki/" ]
	Domino [ fontcolor=blue, href="https://kool.tools/domino/#0,0" ]
	Zim [ fontcolor=blue, href="https://zim-wiki.org/" ]
	NoteTaking -> MobNote -> { Markor Tiddloid }
	Markor [fontcolor=blue,href="https://gsantner.net/project/markor.html"]
	Tiddloid [fontcolor=blue,href="https://github.com/donmor/Tiddloid"]
	MobNote [shape=folder,style=bold,label=Mobile]
	NoteTaking -> OldNote -> { Tomboy Gnote }
	OldNote [label=Old,shape=folder,style=bold]
}
```