CherryTree is a notes-taking application which organizes your notes into a hierarchical tree, has support for text formatting, and is written in GTK2/Python. Lately this application has got a lot of attention due to rich features and frequent updates. It also comes by default in distributions such as MakuluLinux MATE Edition.
First let me start by talking a bit about the way CherryTree organizes its notes. First of all, the notes are kept in a tree-like hierarchy in the left panel on the main window. Here, you can set so-called “nodes” and “sub-nodes” to create and archive your notes. Each node has a few configurable properties. For example, for each node you can change its name, or you can select its type: Rich Text, plain text or automatic syntax highlighting. The syntax highlighting feature has support for many programming languages. Additionally, you can use tags for each note or make a node read-only, so it can’t be modified.