1
0

run npm install to generate a package lock

This commit is contained in:
sashinexists
2024-12-07 13:18:31 +11:00
parent e7d08a91b5
commit 23437d228e
2501 changed files with 290663 additions and 0 deletions

59
node_modules/marked-gfm-heading-id/src/index.js generated vendored Normal file
View File

@@ -0,0 +1,59 @@
import GithubSlugger from 'github-slugger';
let slugger = new GithubSlugger();
let headings = [];
// unescape from marked helpers
const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
/* istanbul ignore next */
export function unescape(html) {
// explicitly match decimal, hex, and named HTML entities
return html.replace(unescapeTest, (_, n) => {
n = n.toLowerCase();
if (n === 'colon') return ':';
if (n.charAt(0) === '#') {
return n.charAt(1) === 'x'
? String.fromCharCode(parseInt(n.substring(2), 16))
: String.fromCharCode(+n.substring(1));
}
return '';
});
}
export function gfmHeadingId({ prefix = '', globalSlugs = false } = {}) {
return {
headerIds: false, // prevent deprecation warning; remove this once headerIds option is removed
hooks: {
preprocess(src) {
if (!globalSlugs) {
resetHeadings();
}
return src;
},
},
useNewRenderer: true,
renderer: {
heading({ tokens, depth }) {
const text = this.parser.parseInline(tokens);
const raw = unescape(this.parser.parseInline(tokens, this.parser.textRenderer))
.trim()
.replace(/<[!\/a-z].*?>/gi, '');
const level = depth;
const id = `${prefix}${slugger.slug(raw.toLowerCase())}`;
const heading = { level, text, id, raw };
headings.push(heading);
return `<h${level} id="${id}">${text}</h${level}>\n`;
},
},
};
}
export function getHeadingList() {
return headings;
}
export function resetHeadings() {
headings = [];
slugger = new GithubSlugger();
}