Plain Text

Plaintext is fast, human-readable, flexible, cross-platform, device-portable, and future-proof. It can be easily diffed and version-controlled. Urtext can embed other syntaxes, including other markup language and programming language syntaxes. Being implemented in Python, it can execute self-modifying or arbitrary Python code.

Extensible

Urtext can be extended to add or modify functionality, to the extent of the Python language. If Urtext does not have a feature you want, you can add it with a little Python knowledge.

Future Proof

Because the storage format is plain text, an interpreter, compiler, and editor could be implemented in any sufficiently capable language, current, past or future.

Freeform, Flexible Syntax

Urtext is like an inverse programming language. All content is text unless it matches syntax for instructional code. Text can be supplemented with metadata independent of the file system. An Urtext project encompass dozens or thousands of files, with individual files providing links to other other files or parts of files (nodes). Text can be linked in tree-like, recursive (tangled), and other non-hierarchical ways.

Local First

Urtext is made to operate on files present locally on a device. It is not dependent on a cloud or other subscription service. Cloud services can be used to sync project files among devices if desired.

Minimum UI

Employing theming and syntax highlighting, Urtext forms a user interface out of its own syntax. Almost everything in Urtext can be accomplished without popups, menus, or leaving the text buffer.

Files Handled For You

Direct interaction with file system is mostly unnecessary. Creating, naming, saving, and organizing files is handled for you.