UNPKG

@enkidevs/curriculum-compiler-string

Version:

Compiles Enki Curriculum AST into a markdown string

35 lines (32 loc) 828 B
const unified = require('unified'); const markdown = require('../markdown'); const question = require('../question'); module.exports = function section() { const { Compiler } = this; if (Compiler) { const { visitors } = Compiler.prototype; if (visitors) { visitors.section = function visitSection(node) { const thematicBreak = { type: 'thematicBreak', }; const heading = { type: 'heading', depth: 2, children: [ { type: 'text', value: node.name, }, ], }; return unified() .use([...markdown, ...question]) .stringify({ type: 'root', children: [thematicBreak, heading, ...node.children], }); }; } } };