Formatting
Markdoc comes with the ability to take a Markdoc abstract syntax tree (AST) and generate the source content. This is useful for generating Markdoc files from data, or prettifying documents.
Examples
Take for example you want to generate a Markdoc file from from some JSON:
// ./data.json [ { "latitude": 34.0522, "longitude": -118.2437 }, { "latitude": 40.7128, "longitude": -74.0060 }, { "latitude": 48.8566, "longitude": 2.3522 } ]
You can call Markdoc.format
with an AST Node
to generate the source content:
const Markdoc = require('@markdoc/markdoc') const DATA = require('./data.json') const list = new Markdoc.Ast.Node( 'list', {ordered: false}, DATA.map(point => new Markdoc.Ast.Node( 'item', {}, [ new Markdoc.Ast.Node('inline', {}, [ new Markdoc.Ast.Node( 'text', {content: `${point.latitude}, ${point.longitude}`}, [] ) ]) ] )) ) Markdoc.format(list)
- 34.0522, -118.2437 - 40.7128, -74.006 - 48.8566, 2.3522