26 lines
		
	
	
		
			616 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			616 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const markdownlint = require('markdownlint');
 | |
| 
 | |
| const lintPrism = require('./markdown-prism');
 | |
| const lintYAML = require('./markdown-yaml');
 | |
| 
 | |
| function linter(rules) {
 | |
|   const lint = (file, next) => {
 | |
|     const options = {
 | |
|       files: [file.path],
 | |
|       config: rules,
 | |
|       customRules: [lintYAML, lintPrism]
 | |
|     };
 | |
|     markdownlint(options, function callback(err, result) {
 | |
|       const resultString = (result || '').toString();
 | |
|       if (resultString) {
 | |
|         process.exitCode = 1;
 | |
|         console.log(resultString);
 | |
|       }
 | |
|       if (next) next(err, file);
 | |
|     });
 | |
|   };
 | |
|   return lint;
 | |
| }
 | |
| 
 | |
| module.exports = linter;
 |