js-markdown
Version:
A markdown language js compiler.
56 lines (48 loc) • 1.05 kB
JavaScript
/**
* match a strong
*
* syntax like this:
*
* **strong**
*
* or
*
* __strong__
*
* strong can be nested
*
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function parse(str, children, renderTree) {
var flag = str.at(0),
reg = new RegExp("([\\s\\S]*?)(\\".concat(flag, "\\").concat(flag, ")")),
restStr = str.slice(2),
result = restStr.match(reg);
if (!result) {
return;
}
if (result[1].length > 0) {
var node = {
// strong root node
type: 'Strong',
rawValue: result[1]
}; // parse recursively
this.parseInline(node);
return [node, result[1].length + 4];
}
return;
}
function render() {
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var node = arguments.length > 1 ? arguments[1] : undefined;
return "<strong>".concat(node.rawValue || '').concat(data, "</strong>");
}
var _default = {
parse: parse,
render: render
};
exports["default"] = _default;