js-markdown
Version:
A markdown language js compiler.
57 lines (45 loc) • 996 B
JavaScript
/**
* match meta data
*
* meta data must be written at the beginning of file, syntax like this:
*
* metadata: Hello World!
* key: value
*
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function parse(line, index, lines, renderTree) {
// if not first line
if (index > 0 || !renderTree) {
return;
}
var reg = /^(\w+):\s*(.+?)(?:\n|$)/;
var result = line.match(reg);
if (!result) {
return;
}
if (renderTree) {
if (!renderTree.metaData) {
renderTree.metaData = {};
} // save it in renderTree.metaData
renderTree.metaData[result[1]] = result[2];
index++;
for (var len = lines.length; index < len; index++) {
result = lines[index].match(reg);
if (!result) {
index--;
break;
}
renderTree.metaData[result[1]] = result[2];
}
}
return [null, index];
}
var _default = {
parse: parse
};
exports["default"] = _default;