remark-lint-heading-whitespace
Version:
Prevents non-breaking spaces from breaking headings
16 lines (12 loc) • 563 B
JavaScript
'use strict';
var rule = require('unified-lint-rule');
var visit = require('unist-util-visit');
var failedHeadingsMatcher = /^#+[\f\v\u0085\ufeff\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000]+(.*)/m;
function lint(tree, file) {
visit(tree, 'text', function (node) {
if (failedHeadingsMatcher.test(node.value)) {
file.fail('Irregular whitespace is breaking a heading on l.' + node.position.start.line, node);
}
});
}
module.exports = rule('remark-lint:heading-whitespace', lint);