Calculist, the Markup Language

(Note: If you have questions that this page doesn't answer, v0.x documentation can still be found on GitHub. You can also email [email protected]. We're currently working on getting everything updated for the v1.0 launch. Check back soon for more complete documentation.)

Calculist provides a powerful GUI, but under the hood is simple plaintext. This means Calculist documents work seamlessly with text editors and line-based version control systems like Git.

The markup language follows a few basic rules:

  1. One line of text = one list item.
  2. Indentation indicates nesting.
  3. Special syntax always begins with a backslash \.

Slash Elements

All special syntax elements (slash elements) start with a backslash character.

  • \id[unique name] for assigning a unique identifier to an item
  • \ref[id] for linking one item to another
  • \lookup[id / path] for embedding the value of one item in another
  • \: value for defining a plain value (numeric or textual)
  • \= expression for computing a value
  • \(input) = expression for defining a function
  • \image[https://...]
  • \link[https://...]
  • \emoji[U+1F4DD]
  • \metadata[...]
  • \header
  • \bold[...], \italic[...]
  • \highlight[...]
  • \LaTeX[...]

Custom slash elements can be defined under slash dot \. to, for example, create shorthand names for commonly used slash elements.