Fix TOC regression

main
Zef Hemel 2025-02-25 18:22:31 +01:00
parent 4612f59b4f
commit 93c35edf20
1 changed files with 7 additions and 6 deletions

View File

@ -61,25 +61,26 @@ export async function widget(
// Too many headers, not showing TOC // Too many headers, not showing TOC
return null; return null;
} }
let headerText = config.headerText ?? "# Table of Contents\n"; let headerText = (config.headerText ?? "# Table of Contents") + "\n";
if (config.header === false) { if (config.header === false) {
headerText = ""; headerText = "";
} }
// console.log("Headers", headers);
// Adjust level down if only sub-headers are used // Adjust level down if only sub-headers are used
let minLevel = headers.reduce( let minLevel = headers.reduce(
(min, header) => Math.min(min, header.level), (min, header) => Math.min(min, header.level),
6, 6,
); );
if (config.minLevel && config.minLevel > minLevel) minLevel = config.minLevel; if (config.minLevel && config.minLevel > minLevel) minLevel = config.minLevel;
let renderedMd = headerText + "\n"; let renderedMd = headerText;
for (const header of headers) { for (const header of headers) {
if ( if (
config.maxLevel && header.level > config.maxLevel || config.maxLevel && header.level > config.maxLevel ||
(config.minLevel && header.level < config.minLevel) (config.minLevel && header.level < config.minLevel)
) continue; ) {
renderedMd = renderedMd + " ".repeat((header.level - minLevel) * 2) + "[[" + continue;
}
renderedMd = renderedMd + " ".repeat((header.level - minLevel) * 2) +
"* [[" +
page + "@" + header.pos + "|" + header.name + "]]\n"; page + "@" + header.pos + "|" + header.name + "]]\n";
} }