Exclude htmlFlow content by default for filterByTypes, opt in as needed.

This commit is contained in:
David Anson 2024-06-09 17:09:03 -07:00
parent ea9659841e
commit 12502f6571
18 changed files with 206 additions and 129 deletions

View file

@ -3,8 +3,7 @@
"use strict";
const { addErrorContext, frontMatterHasTitle } = require("../helpers");
const { filterByTypes, getHeadingLevel, inHtmlFlow } =
require("../helpers/micromark.cjs");
const { filterByTypes, getHeadingLevel } = require("../helpers/micromark.cjs");
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
@ -27,7 +26,7 @@ module.exports = {
);
for (const heading of headings) {
const headingLevel = getHeadingLevel(heading);
if ((headingLevel === level) && !inHtmlFlow(heading)) {
if (headingLevel === level) {
if (hasTopLevelHeading || foundFrontMatterTitle) {
const headingTexts = filterByTypes(
heading.children,