From 11693fbd00cc714dadf60c661b9ce7a7fccc4bf5 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Tue, 2 Jan 2024 11:40:59 +0100 Subject: [PATCH] Auto down-adjust sub-headers in TOC --- plugs/index/toc.ts | 7 ++++++- website/Plugs/Template.md | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/plugs/index/toc.ts b/plugs/index/toc.ts index 2af741b..c10351e 100644 --- a/plugs/index/toc.ts +++ b/plugs/index/toc.ts @@ -52,10 +52,15 @@ export async function renderTOC(): Promise { return null; } // console.log("Headers", headers); + // Adjust level down if only sub-headers are used + const minLevel = headers.reduce( + (min, header) => Math.min(min, header.level), + 6, + ); const renderedMd = "# Table of Contents\n" + headers.map((header) => `${ - " ".repeat((header.level - 1) * 2) + " ".repeat((header.level - minLevel) * 2) }* [[${page}@${header.pos}|${header.name}]]` ).join("\n"); // console.log("Markdown", renderedMd); diff --git a/website/Plugs/Template.md b/website/Plugs/Template.md index fd7a34a..87886e5 100644 --- a/website/Plugs/Template.md +++ b/website/Plugs/Template.md @@ -2,20 +2,20 @@ The [[Plugs/Template]] plug implements a few templating mechanisms. -### Daily Note +# Daily Note The {[Open Daily Note]} command navigates (or creates) a daily note prefixed with a 📅 emoji by default, but this is configurable via the `dailyNotePrefix` setting in `SETTINGS`. If you have a page template (see above) named `template/page/Daily Note` it will use this as a template, otherwise, the page will just be empty (this path is also configurable via the `dailyNoteTemplate` setting). -### Weekly Note +# Weekly Note The {[Open Weekly Note]} command navigates (or creates) a weekly note prefixed with a 🗓️ emoji by default, but this is configurable via the `weeklyNotePrefix` setting in `SETTINGS`. If you have a page template (see above) named `template/page/Weekly Note` it will use this as a template, otherwise, the page will just be empty. -### Quick Note +# Quick Note The {[Quick Note]} command will navigate to an empty page named with the current date and time prefixed with a 📥 emoji, but this is configurable via the `quickNotePrefix` in `SETTINGS`. The use case is to take a quick note outside of your current context. -## Built-in slash commands +# Built-in slash commands * `/frontmatter`: Insert [[Frontmatter]] * `/h1` - `/h4`: turn the current line into a header * `/code`: insert a fenced code block