Forest
Description
Forest is a project based around interacting with trees of plain-text nodes. It has an API that is intentionally kept simple. Writing your own clients or bots is explicitly encouraged!
At the moment, there are a server and a terminal-based client written in haskell, and the web-based client you're using right now, made with (vanilla) javascript. The web-based client is heavily based on the terminal-based client, both in look and behaviour. The color scheme is just my terminal's current color scheme.
Code and docs
- Server and terminal-based client
- Web-based client (coming soon)
- API documentation
Usage
Controls
tab - fold/unfold current node
arrow keys/jk - move cursor
Permissions
A node's permissions are displayed at the right side of the screen, like this: (edra). If a permission is set, its character is displayed. Otherwise, a dash is displayed in its place. Only when a permission is set can its action be performed.
e (edit) - edit a node's text
d (delete) - delete a node
r (reply) - reply to a node
a (act) - perform a node-specific action
Colors
The cursor position is marked by a blue background. If a node is colored yellow, it has child nodes.