table of contents now generate readable header IDs
This commit is contained in:
@@ -33,10 +33,15 @@
|
|||||||
return document.querySelectorAll("h2, h3, h4, h5");
|
return document.querySelectorAll("h2, h3, h4, h5");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Generates an ID for a given header node. Does not override
|
||||||
|
// any existing ID.
|
||||||
let getHeaderId = function(header: Node): string {
|
let getHeaderId = function(header: Node): string {
|
||||||
var id = (header as HTMLElement).id;
|
var id = (header as HTMLElement).id;
|
||||||
|
|
||||||
if (!id) {
|
if (!id) {
|
||||||
id = `header-${idCounter}`;
|
var text = (header as HTMLElement).innerText.toLowerCase();
|
||||||
|
text = text.replaceAll(/[^a-zA-Z0-9]/gi, "-");
|
||||||
|
id = text;
|
||||||
(header as HTMLElement).id = id;
|
(header as HTMLElement).id = id;
|
||||||
idCounter += 1;
|
idCounter += 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user