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;
|