2.1 KiB
Goal
A markup language that makes writing unknown things fast and confident.
Idea
An opinionated successor to Markdown that focuses on semantics instead of presentation.
The file describes meaning. The renderer decides how that meaning is displayed.
Core Primitives
| Syntax | Dimension | Meaning |
|---|---|---|
#n |
Hierarchy | Level n in the document structure |
!n |
Importance | Importance level n |
>n |
Quote | Quote depth n |
@n |
Confidence | Confidence level n |
If no number is provided, n = 1.
Examples:
!=!1#=#1@=@1>=>1
Example
#2 Computer Science
! I love PCs
@-2 They are going to replace humans one day
> Love is truth
#1 Science
Possible Markdown rendering:
# Science
## Computer Science
==I love PCs==
~~They are going to replace humans one day~~
> Love is truth
This rendering is only an example. The original semantics are preserved regardless of how they are displayed.
Combining Primitives
Primitives can be combined by placing them directly next to each other.
Example:
@-2!>2 A slightly important statement I believe is wrong, quoted inside another quote.
Meaning:
- Confidence: -2
- Importance: 1
- Quote depth: 2
Inline Scopes
Modifiers can be changed inline.
A modifier without a number is level 1.
A modifier followed by - pops one level from that modifier's stack.
Example:
!2@3 important trusted but @- important !5 more important !- 2 important and !- normal
Interpretation:
- Importance 2, Confidence 3
- Pop Confidence
- Push Importance 5
- Pop back to Importance 2
- Pop back to normal
Design Principle
Do not describe how text should look.
Describe:
- how important it is
- how trustworthy it is
- where it belongs
- whether it is a quote
The renderer decides how those concepts are displayed.