31 lines
		
	
	
		
			998 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			998 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var _ = require('lodash');
 | |
| 
 | |
| /**
 | |
|  * @dgProcessor checkUnbalancedBackTicks
 | |
|  * @description
 | |
|  * Searches the rendered content for an odd number of (```) backticks,
 | |
|  * which would indicate an unbalanced pair and potentially a typo in the
 | |
|  * source content.
 | |
|  */
 | |
| module.exports = function checkUnbalancedBackTicks(log, createDocMessage) {
 | |
| 
 | |
|   var BACKTICK_REGEX = /^ *```/gm;
 | |
| 
 | |
|   return {
 | |
|     // $runAfter: ['checkAnchorLinksProcessor'],
 | |
|     $runAfter: ['inlineTagProcessor'],
 | |
|     $runBefore: ['writeFilesProcessor'],
 | |
|     $process: function(docs) {
 | |
|       _.forEach(docs, function(doc) {
 | |
|         if ( doc.renderedContent ) {
 | |
|           var matches = doc.renderedContent.match(BACKTICK_REGEX);
 | |
|           if (matches && matches.length % 2 !== 0) {
 | |
|             doc.unbalancedBackTicks = true;
 | |
|             log.warn(createDocMessage('checkUnbalancedBackTicks processor: unbalanced backticks found in rendered content', doc));
 | |
|             log.warn(doc.renderedContent);
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     }
 | |
|   };
 | |
| }; |