MCPcopy
hub / github.com/witheve/Eve / renderNodes

Function renderNodes

src/commonmark.js:2693–2825  ·  view source on GitHub ↗
(block)

Source from the content-addressed store, hash-verified

2691};
2692
2693var renderNodes = function(block) {
2694
2695 var attrs;
2696 var tagname;
2697 var walker = block.walker();
2698 var event, node, entering;
2699 var buffer = "";
2700 var lastOut = "\n";
2701 var disableTags = 0;
2702 var indentLevel = 0;
2703 var indent = ' ';
2704 var container;
2705 var selfClosing;
2706 var nodetype;
2707
2708 var out = function(s) {
2709 if (disableTags > 0) {
2710 buffer += s.replace(reXMLTag, '');
2711 } else {
2712 buffer += s;
2713 }
2714 lastOut = s;
2715 };
2716 var esc = this.escape;
2717 var cr = function() {
2718 if (lastOut !== '\n') {
2719 buffer += '\n';
2720 lastOut = '\n';
2721 for (var i = indentLevel; i > 0; i--) {
2722 buffer += indent;
2723 }
2724 }
2725 };
2726
2727 var options = this.options;
2728
2729 if (options.time) { console.time("rendering"); }
2730
2731 buffer += '<?xml version="1.0" encoding="UTF-8"?>\n';
2732 buffer += '<!DOCTYPE CommonMark SYSTEM "CommonMark.dtd">\n';
2733
2734 while ((event = walker.next())) {
2735 entering = event.entering;
2736 node = event.node;
2737 nodetype = node.type;
2738
2739 container = node.isContainer;
2740 selfClosing = nodetype === 'thematic_break' || nodetype === 'linebreak' ||
2741 nodetype === 'softbreak';
2742 tagname = toTagName(nodetype);
2743
2744 if (entering) {
2745
2746 attrs = [];
2747
2748 switch (nodetype) {
2749 case 'document':
2750 attrs.push(['xmlns', 'http://commonmark.org/xml/1.0']);

Callers

nothing calls this directly

Calls 5

toTagNameFunction · 0.85
crFunction · 0.85
outFunction · 0.85
tagFunction · 0.85
nextMethod · 0.65

Tested by

no test coverage detected