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-21 15:32:45 -03:00
.forgejo/workflows Drop cargo "all targets" flag in CI build 2025-12-14 18:09:41 -03:00
docs Minor: Add Bacon to acknowledgments, invert a lint, update notes 2025-12-12 00:47:13 -03:00
src Fix an anchor clustering corner case 2025-12-21 15:32:45 -03:00
static Render node ID label only if it differs from the title 2025-12-21 15:32:45 -03:00
templates Render node ID label only if it differs from the title 2025-12-21 15:32:45 -03:00
tests Minor linting and README changes 2025-12-20 21:25:48 -03:00
.gitignore Here goes something 2025-12-09 18:28:39 -03:00
.justfile Add p alias for push in justfile 2025-12-16 19:38:22 -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 linting and README changes 2025-12-20 21:25:48 -03:00
LICENSE Here goes something 2025-12-09 18:28:39 -03:00
README.md Minor linting and README changes 2025-12-20 21:25:48 -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.

Learn more

You can learn more and see what en looks like by visiting the homepage, which is rendered using en itself.

Roadmap

  • Add tests
  • Richer text formatting
    • Headers
    • Preformatted blocks
    • Inline code
    • Anchor rendering
      • Automatic anchors
    • External anchors
    • Bold, italics, underline, strikethrough
    • Lists
    • Checkboxes
      • Move this roadmap to en
  • Connection kinds
    • Mutual
    • Category <-> Membership
    • Opposite <-> Equivalent
    • Contrast <-> Similar
    • Cognate <-> Unrelated
    • Specialization <-> Generalization
    • Custom connection kinds
  • Strip/render some syntax in Tree text preview
  • Begin centralizing state
  • Full-text search
  • Render to filesystem
  • Reduce O(n) calls in the formats module
  • Multi-file graphs
  • Multi-graph
  • Themes
  • Array syntax for lightweight connections
  • Automatic IDs
  • Automatic titles
  • Mismatch between TOML ID and provided ID