Expose shared.js helper code for custom rule authors (fixes #134).

This commit is contained in:
David Anson 2019-04-13 11:18:57 -07:00
parent f614f3e1ce
commit 7e980401b8
52 changed files with 283 additions and 184 deletions

View file

@ -2,7 +2,8 @@
"use strict";
const shared = require("./shared");
const { addErrorContext, filterTokens, frontMatterHasTitle } =
require("../helpers");
module.exports = {
"names": [ "MD025", "single-title", "single-h1" ],
@ -12,15 +13,15 @@ module.exports = {
const level = params.config.level || 1;
const tag = "h" + level;
const foundFrontMatterTitle =
shared.frontMatterHasTitle(
frontMatterHasTitle(
params.frontMatterLines,
params.config.front_matter_title
);
let hasTopLevelHeading = false;
shared.filterTokens(params, "heading_open", function forToken(token) {
filterTokens(params, "heading_open", function forToken(token) {
if (token.tag === tag) {
if (hasTopLevelHeading || foundFrontMatterTitle) {
shared.addErrorContext(onError, token.lineNumber,
addErrorContext(onError, token.lineNumber,
token.line.trim());
} else if (token.lineNumber === 1) {
hasTopLevelHeading = true;