Add Rule.parser property for custom rules to specify which Markdown parser output they use, honor it strictly, and add full type support.

This commit is contained in:
David Anson 2024-03-09 16:17:50 -08:00
parent d2acc168d2
commit d5994ae4de
68 changed files with 635 additions and 115 deletions

View file

@ -702,10 +702,10 @@ module.exports.frontMatterHasTitle =
/**
* Returns an object with information about reference links and images.
*
* @param {Object} params RuleParams instance.
* @param {import("../helpers/micromark.cjs").Token[]} tokens Micromark tokens.
* @returns {Object} Reference link/image data.
*/
function getReferenceLinkImageData(params) {
function getReferenceLinkImageData(tokens) {
const normalizeReference = (s) => s.toLowerCase().trim().replace(/\s+/g, " ");
const definitions = new Map();
const definitionLineIndices = [];
@ -714,7 +714,7 @@ function getReferenceLinkImageData(params) {
const shortcuts = new Map();
const filteredTokens =
micromark.filterByTypes(
params.parsers.micromark.tokens,
tokens,
[
// definitionLineIndices
"definition", "gfmFootnoteDefinition",