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-26 04:20:10 -03:00
.forgejo/workflows Fix missing coverage files in CI 2025-12-26 00:36:41 -03:00
docs Minor: Add Bacon to acknowledgments, invert a lint, update notes 2025-12-12 00:47:13 -03:00
src Add tests for the content syntax parser 2025-12-26 04:20:10 -03:00
static Remove Bacon 2025-12-26 01:27:47 -03:00
templates Make HTML lang attribute configurable 2025-12-23 21:40:31 -03:00
tests/mocks Add an empty file to mocks/no_graph so it exists in CI 2025-12-26 00:26:02 -03:00
.clippy.toml Add tests for all but the content syntax parser module 2025-12-25 23:57:22 -03:00
.gitignore Here goes something 2025-12-09 18:28:39 -03:00
.justfile CI: Set --color always in cover command 2025-12-26 01:18:50 -03:00
.rustfmt.toml Setup and apply formatting 2025-12-12 01:59:48 -03:00
Cargo.lock Add tests for all but the content syntax parser module 2025-12-25 23:57:22 -03:00
Cargo.toml Remove Bacon 2025-12-26 01:27:47 -03:00
LICENSE Here goes something 2025-12-09 18:28:39 -03:00
README.md Update roadmap 2025-12-24 06:33:49 -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
      • # syntax for header ID 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