additional comments

This commit is contained in:
Jay Traband 2015-10-16 09:48:19 -07:00 committed by Naomi Black
parent 680c9740f2
commit 61c6b7d5af
1 changed files with 7 additions and 5 deletions

View File

@ -19,6 +19,7 @@ function escapeHtml(unsafe) {
module.exports = function checkUnbalancedBackTicks(log, createDocMessage) { module.exports = function checkUnbalancedBackTicks(log, createDocMessage) {
var BACKTICK_REGEX = /^ *```/gm; var BACKTICK_REGEX = /^ *```/gm;
// captures below // captures below
// 1st is entire ``` with leading 2 blanks // 1st is entire ``` with leading 2 blanks
// 2nd is the name of the language (if any) specified after the ``` // 2nd is the name of the language (if any) specified after the ```
@ -27,7 +28,6 @@ module.exports = function checkUnbalancedBackTicks(log, createDocMessage) {
// 5th is the first char on the next line. // 5th is the first char on the next line.
var BACKTICK_CAPTURE = /( ```(.*$)([^]*?)```\s*)^(\s*)(\S)/m; var BACKTICK_CAPTURE = /( ```(.*$)([^]*?)```\s*)^(\s*)(\S)/m;
var CODE_EXAMPLE = 'code-example(format="linenums" language="js").'; var CODE_EXAMPLE = 'code-example(format="linenums" language="js").';
return { return {
// $runAfter: ['checkAnchorLinksProcessor'], // $runAfter: ['checkAnchorLinksProcessor'],
@ -41,25 +41,27 @@ module.exports = function checkUnbalancedBackTicks(log, createDocMessage) {
log.warn(createDocMessage('checkUnbalancedBackTicks processor: unbalanced backticks found in rendered content', doc)); log.warn(createDocMessage('checkUnbalancedBackTicks processor: unbalanced backticks found in rendered content', doc));
console.log(doc.renderedContent); console.log(doc.renderedContent);
} else if (matches) { } else if (matches) {
// Idea here is to translate backtic ``` regions into code-example blocks.
var captures = BACKTICK_CAPTURE.exec(doc.renderedContent); var captures = BACKTICK_CAPTURE.exec(doc.renderedContent);
while (captures) { while (captures) {
var entireBlock = captures[1]; var entireBlock = captures[1];
var language = captures[2]; var language = captures[2];
var blockContents = captures[3]; var blockContents = captures[3];
var pad = captures[4]; var pad = captures[4];
if (pad.length >= 2) {
pad = pad.substr(2);
}
var nextBlockStartChar = captures[5]; var nextBlockStartChar = captures[5];
var codeExamplePrefix = language.length ? CODE_EXAMPLE.replace('js', language) : CODE_EXAMPLE; var codeExamplePrefix = language.length ? CODE_EXAMPLE.replace('js', language) : CODE_EXAMPLE;
var replaceVal = codeExamplePrefix + escapeHtml(blockContents) + '\n'; var replaceVal = codeExamplePrefix + escapeHtml(blockContents) + '\n';
// if nextBlock does NOT start with a '.' then we want to restart a markdown block.
// and that block needs to be exdented from the preceding code-example content.
if (nextBlockStartChar != '.') { if (nextBlockStartChar != '.') {
if (pad.length >= 2) {
pad = pad.substr(2); // exdent
}
replaceVal = replaceVal + pad + ':markdown\n'; replaceVal = replaceVal + pad + ':markdown\n';
} }
doc.renderedContent = doc.renderedContent.replace(entireBlock, replaceVal); doc.renderedContent = doc.renderedContent.replace(entireBlock, replaceVal);
captures = BACKTICK_CAPTURE.exec(doc.renderedContent); captures = BACKTICK_CAPTURE.exec(doc.renderedContent);
} }
var x = 3;
} }
} }
}); });