From efcab5094a3f8c94ce443124edb6cb7d8f7ad37e Mon Sep 17 00:00:00 2001 From: Chris Wells Date: Thu, 21 Dec 2023 11:26:10 -0500 Subject: [PATCH] allow for customizing FootNoteSectionHeading level If the user specifies a section heading string that starts with a properly formatted heading level it will be used instead of the default H1. Resolves #27. --- src/insert-or-navigate-footnotes.ts | 9 ++++++++- src/settings.ts | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/insert-or-navigate-footnotes.ts b/src/insert-or-navigate-footnotes.ts index 193f1a0..8d52213 100644 --- a/src/insert-or-navigate-footnotes.ts +++ b/src/insert-or-navigate-footnotes.ts @@ -164,7 +164,14 @@ export function addFootnoteSectionHeader( // else, return "" if (plugin.settings.enableFootnoteSectionHeading == true) { - let returnHeading = `\n# ${plugin.settings.FootnoteSectionHeading}`; + + let returnHeading = plugin.settings.FootnoteSectionHeading; + const headingRegex = /^\#{1,6} /; + if (headingRegex.test(returnHeading)) { + returnHeading = `\n${returnHeading}`; + } else { + returnHeading = `\n# ${returnHeading}`; + } return returnHeading; } return ""; diff --git a/src/settings.ts b/src/settings.ts index 3191a0b..21fc933 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -73,7 +73,7 @@ export class FootnotePluginSettingTab extends PluginSettingTab { new Setting(containerEl) .setName("Footnote Section Heading") - .setDesc("Heading to place above footnotes section (Supports Markdown formatting). Heading will be H1 size.") + .setDesc("Heading to place above footnotes section (Supports Markdown formatting). Heading will be H1 size, unless overridden.") .addText((text) => text .setPlaceholder("Heading is Empty")