34 lines
887 B
JavaScript
34 lines
887 B
JavaScript
showdown.subParser('makeMarkdown.list', function (node, globals, type) {
|
|
'use strict';
|
|
|
|
var txt = '';
|
|
if (!node.hasChildNodes()) {
|
|
return '';
|
|
}
|
|
var listItems = node.childNodes,
|
|
listItemsLenght = listItems.length,
|
|
listNum = node.getAttribute('start') || 1;
|
|
|
|
for (var i = 0; i < listItemsLenght; ++i) {
|
|
if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {
|
|
continue;
|
|
}
|
|
|
|
// define the bullet to use in list
|
|
var bullet = '';
|
|
if (type === 'ol') {
|
|
bullet = listNum.toString() + '. ';
|
|
} else {
|
|
bullet = '- ';
|
|
}
|
|
|
|
// parse list item
|
|
txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);
|
|
++listNum;
|
|
}
|
|
|
|
// add comment at the end to prevent consecutive lists to be parsed as one
|
|
txt += '\n<!-- -->\n';
|
|
return txt.trim();
|
|
});
|