Lambda parses disparate formats into a single Lambda/Mark node tree — so transformations, validation, and rendering work uniformly.
All markup flavors are parsed into the same Mark Doc schema — an element tree rooted at <doc>, with HTML-compatible element names.
| Format | Input Type | Notes |
|---|---|---|
| CommonMark / GFM Markdown | markdown | 100% CommonMark pass rate |
| reStructuredText | rst | |
| MediaWiki / DokuWiki | wiki | |
| AsciiDoc | asciidoc | |
| Emacs Org-mode | org | |
| Textile | textile | |
| troff / man pages | man | |
| MDX (Markdown + JSX) | mdx | Inline React/JSX components |
| HTML5 | html | 100% html5lib pass rate |
| LaTeX | latex |
| Format | Input Type | Notes |
|---|---|---|
| JSON | json | Maps to Lambda maps/arrays |
| YAML | yaml | 100% YAML 1.2 pass rate |
| TOML | toml | |
| CSV | csv | |
| INI | ini | |
| XML | xml | Maps to Lambda elements |
| Mark Notation | mark | Native Lambda/Mark format |
| Format | Input Type | Notes |
|---|---|---|
pdf | Text extraction and structure | |
| RTF | rtf | |
| Email (EML) | eml | Built-in schema available |
| Calendar (ICS) | ics | Built-in schema available |
| vCard (VCF) | vcf | Built-in schema available |
| CSS | css | |
| Mermaid diagrams | mermaid | |
| D2 diagrams | d2 | |
| GraphViz DOT | dot |
lambda convert -t <format>)lambda render -o <file>)All lightweight markup parsers produce the same element-tree shape, aligned with HTML element names:
| Category | Mark Element(s) |
|---|---|
| Document root | <doc> |
| Metadata | <meta title: … author: … date: …> |
| Headings | <h1> … <h6> |
| Paragraph | <p> |
| Block quote | <blockquote> |
| Code block | <pre><code> |
| Lists | <ul> / <ol> / <li> |
| Tables | <table> / <thead> / <tbody> / <tr> / <th> / <td> |
| Strong / Emphasis | <strong> / <em> |
| Links / Images | <a href:…> / <img src:…> |
| Math | <math mode:'inline'> / <math mode:'display'> |
| Footnotes | <footnote id:…> |
In Lambda scripts, load any format with input():
let md = input("readme.md", 'markdown')
let html = input("page.html", 'html')
let json = input("data.json", 'json')
let yaml = input("config.yaml", 'yaml')
let csv = input("data.csv", 'csv')
let tex = input("paper.tex", 'latex')
let pdf = input("report.pdf", 'pdf')
From the CLI, convert directly:
lambda convert input.json -t yaml -o output.yaml
lambda convert doc.md -t html -o doc.html