Luma
A parser for a semantic note taking markup language. The parser is written in Gleam. you can test it with gleam run.
Public API
pub fn parse(input: String) -> definition.Line
pub fn parse_to_json(input: String) -> String
JSON Output Format
parse_to_json returns a JSON array of inline objects. Each object has:
"type": string — one of"text","marking","hirachy","truth","quote","pop""value": string | int
Types
| Type | Meaning | Prefix |
|---|---|---|
"text" | Plain text content | — |
"marking" | Push(Marking(level)) | ! |
"hirachy" | Push(Hirachy(level)) | # |
"truth" | Push(Truth(level)) | @ |
"quote" | Push(Quote(level)) | > |
"pop" | Pop(mode) | suffix - (e.g. !-) |
Example
Input: "!2 @3 important >1 quoted"
Output:
[
{"type":"marking","value":2},
{"type":"truth","value":3},
{"type":"text","value":"important"},
{"type":"hirachy","value":1},
{"type":"text","value":"quoted"}
]