A non-linear writing instrument.
  • Rust 90.5%
  • HTML 4.4%
  • CSS 2.7%
  • Shell 1.8%
  • Nix 0.6%
Find a file
2025-12-14 06:09:50 -03:00
.forgejo/workflows Simplify CI steps 2025-12-14 06:09:50 -03:00
docs Minor: Add Bacon to acknowledgments, invert a lint, update notes 2025-12-12 00:47:13 -03:00
src Make main function control flow more explicit 2025-12-13 23:08:27 -03:00
static Add missing static routes for favicon, about and acknowledgments 2025-12-11 02:15:14 -03:00
templates Minor: Add Bacon to acknowledgments, invert a lint, update notes 2025-12-12 00:47:13 -03:00
.gitignore Here goes something 2025-12-09 18:28:39 -03:00
.justfile Add CI workflow 2025-12-13 21:05:17 -03:00
.rustfmt.toml Setup and apply formatting 2025-12-12 01:59:48 -03:00
Cargo.lock Here goes something 2025-12-09 18:28:39 -03:00
Cargo.toml Minor: Add fmt Bacon job, update a lint name 2025-12-12 04:12:55 -03:00
LICENSE Here goes something 2025-12-09 18:28:39 -03:00
README.md Heavy refactor and extraction of most code to handler submodules 2025-12-12 04:13:32 -03:00

en

en is a tool to write non-linear, connected pieces of text and have their references mapped out as a graph of connected information.

It works by ingesting a TOML file containing your node specification and serving it as a website that allows nodes to be browsed, searched and listed in relation to each other or as a shallow tree of nodes.

Roadmap

  • Anchor rendering
    • Automatic anchors
  • Connection kinds
  • Reduce O(n) calls in the formats module
  • Add tests
  • Array syntax for lightweight connections
  • Automatic IDs
  • Automatic titles
  • Mismatch between TOML ID and provided ID

Motivation

I created en because I wanted to write a complex, long-form register of my personal worldview. I have always written a lot, but I find non-fiction essays hard to carry to fruition in the usual, linear structure which you'd commonly find in, for instance, a typical philosophy book.

I call en a "writing instrument" because that's how I relate to it. I use it to write my thoughts and connect them. I like how you can write new pages easily from a single big file so that creating new pages and connecting them is effortless compared to creating a new file for each one and them handling that spread of files. With en, I can just write a few lines and I already have a new page laid out. It fits how my thoughts also spread and fork very quickly.