Get Started

ID: GetStarted

Installation

Pre-built binaries

The easiest way to get started is by downloading a pre-built binary.

x64 Linux binaries are available from the git.jutty.dev package registry:

Platform Download
x64 Linux GNU en-x64-linux-gnu
x64 Linux musl en-x64-linux-musl
x64 Windows MSVC en-x64-windows-msvc

If in doubt, it is likely your system uses the GNU libc. Regardless, the musl binary is statically compiled and should run on mostly any x64 Linux system.

Windows builds are best-effort, cross-compiled, mostly tested only through Wine and not tested on CI.

Other platforms may be supported in the future depending on CI resources.

Build from source

If you are on another platform or simply prefer starting from source, you can also build en yourself.

You will need:

Given the above is satisfied, you can build directly through Cargo:

cargo install --git https://codeberg.org/jutty/en --tag v0.4.0-alpha

And you should now have the en command available on your shell.

The cargo install example shown above will build en from the last tagged release, which should be more stable. You can remove the --tag v0.4.0-alpha part if you'd like to build the most recent development sources.

For more details on building from source, see SourceBuild.

Usage

Once you have installed en, run it and point it to your graph:

en --graph my-graph.toml

See CLI for defaults and details on the available options.

Graph Syntax

The graph is a TOML file. You can create nodes by adding text such as:

[nodes.Computer]
text = "A computer is a machine capable of executing arbitrary instructions."

If you need longer text, it's more convenient to use triple quotes:

[nodes.Computer]
text = """
A computer is a machine capable of executing arbitrary instructions.

The main electronic component of a computer is its |motherboard|.
"""

In the future, en should support both individual node files with TOML frontmatter and also multiple TOML files containing several nodes each. In the current implementation, all nodes live in a single graph.toml file.

Some special syntax is allowed inside the node text. See Syntax for supported features.

A node can have several other attributes. See Node for details on all of them.

Connections

Nodes can have connections between each other. Each node page lists its outgoing and incoming connections.

The simplest kind of connection is achieved by creating an anchor to another node in the node text itself:

[nodes.Quark]
text = "Quarks are subatomic particles that form |hadron|s."

Here, a connection is created from the node with ID Quark to the node with ID Hadron. See AnchorSyntax for the various ways you can link to other nodes from within the node text itself.

There are several different ways to connect nodes, including ones where you can add metadata to the connection itself. See Connections for more details.

Where to go from here