shared-hugo-scripts/compatdb/blackfriday.js
2018-04-25 22:57:39 -04:00

33 lines
1.1 KiB
JavaScript

// Blackfriday markdown rendering requires a blank line before lists.
module.exports.fixLists = function(markdown) {
var lines = markdown.split(/\r?\n/);
for (var i = 0; i < lines.length; i++) {
// If it's the start of the file, ignore to prevent an index issue.
if (i > lines.length) { return; }
if (i == 0 || lines[i] == '\n') { continue; }
// Search for the start of a list designated by the * character.
if (lines[i].startsWith("* ") && lines[i - 1].startsWith("* ") == false) {
i = i + 1;
lines.splice(i - 1, 0, '');
}
}
return lines.join('\r\n');
}
module.exports.fixLinks = function(markdown) {
let cleaned = markdown;
// Replacing tags like [[Common Issues on Windows|Common Issues]]
cleaned = markdown.replace(/\[\[(.*)\|(.*)\]\]/g, function(match, p1, p2) {
return `[${p1}](${url(p2)})`
});
// Replacing tags like [[Common Issues]]
cleaned = markdown.replace(/\[\[(.*)\]\]/g, function(match, p1) {
return `[${p1}](${url(p1)})`
});
return cleaned;
}