diff --git a/docs/bible-api-and-source.md b/docs/bible-api-and-source.md index 033b959..0723306 100644 --- a/docs/bible-api-and-source.md +++ b/docs/bible-api-and-source.md @@ -26,6 +26,7 @@ This plugin Bible Verse Query Functionality is currently powered by - **NKJV**: New King James Version (Bolls Life) - **CUV**: China Union Version (Bolls Life) (Book Names Are In English, Bible Verses Are In Chinese) - **ESV**: English Standard Version (Bolls Life) + - **LSB**: Legacy Standard Bible (Bolls Life) - and more ### Credits diff --git a/src/data/BibleVersionCollection.ts b/src/data/BibleVersionCollection.ts index 1b7c300..1aad4a3 100644 --- a/src/data/BibleVersionCollection.ts +++ b/src/data/BibleVersionCollection.ts @@ -123,6 +123,13 @@ export const BibleVersionCollection: IBibleVersion[] = [ code: 'en', apiSource: BibleAPISourceCollection.bollsLife, }, + { + key: 'lsb', + versionName: 'Legacy Standard Bible', + language: 'English', + code: 'en', + apiSource: BibleAPISourceCollection.bollsLife, + }, { key: 'elb', versionName: 'Elberfelder Bibel (1871)', diff --git a/src/data/constants.ts b/src/data/constants.ts index 718fe44..250f54d 100644 --- a/src/data/constants.ts +++ b/src/data/constants.ts @@ -28,6 +28,8 @@ export interface BibleReferencePluginSettings { verseFormatting?: BibleVerseFormat verseNumberFormatting?: BibleVerseNumberFormat collapsibleVerses?: boolean // this is binging to displayBibleIconPrefixAtHeader option + enableHyperlinking?: boolean + showVerseTranslation?: boolean bookTagging?: boolean chapterTagging?: boolean bookBacklinking?: OutgoingLinkPositionEnum // this is refering to outgoing link @@ -48,6 +50,8 @@ export const DEFAULT_SETTINGS: BibleReferencePluginSettings = { verseFormatting: BibleVerseFormat.SingleLine, verseNumberFormatting: BibleVerseNumberFormat.Period, collapsibleVerses: false, + enableHyperlinking: true, + showVerseTranslation: true, bookTagging: false, chapterTagging: false, enableBibleVerseLookupRibbon: false, diff --git a/src/ui/BibleReferenceSettingTab.ts b/src/ui/BibleReferenceSettingTab.ts index f78f2a0..487673a 100644 --- a/src/ui/BibleReferenceSettingTab.ts +++ b/src/ui/BibleReferenceSettingTab.ts @@ -58,6 +58,8 @@ export class BibleReferenceSettingTab extends PluginSettingTab { this.setUpVerseFormatOptions() this.setUpVerseNumberFormatOptions() this.setUpBibleIconPrefixToggle() + this.setUpShowVerseTranslationOptions() + this.setUpHyperlinkingOptions() this.setUpCollapsibleToggle() this.setUpStatusIndicationOptions() this.containerEl.createEl('h2', {text: 'Others'}) @@ -74,16 +76,16 @@ export class BibleReferenceSettingTab extends PluginSettingTab {
-Obsidian Bible Reference is proudly powered by +Obsidian Bible Reference is proudly powered by Antioch Tech - + ` }) - // this initialisation order is important + // this initialization order is important this.expertSettingContainer = this.containerEl.createDiv() if (this.plugin.settings.advancedSettings) { this.displayExpertSettings() @@ -347,6 +349,58 @@ Obsidian Bible Reference is proudly powered by }) } + private setUpShowVerseTranslationOptions(): void { + const setting = new Setting(this.containerEl) + .setName('Show Verse Translation') + .setDesc('Show or hide the verse translation') + setting.setTooltip( + 'This will show the verse translation verse text after the verse number' + ) + setting.addToggle((toggle) => { + if (!this.plugin.settings?.displayBibleIconPrefixAtHeader) { + toggle.setDisabled(true) + toggle.setTooltip('') + } + toggle + .setValue(!!this.plugin.settings?.showVerseTranslation) + .onChange(async (value) => { + this.plugin.settings.showVerseTranslation = value + await this.plugin.saveSettings() + EventStats.logSettingChange( + 'changeVerseFormatting', + {key: `show-translation-${value}`, value: 1}, + this.plugin.settings.optOutToEvents + ) + }) + }) + } + + private setUpHyperlinkingOptions(): void { + const setting = new Setting(this.containerEl) + .setName('Enable Hyperlinking') + .setDesc('Enable or disable hyperlinking of the verses') + setting.setTooltip( + 'This will make the verse number clickable and will open the verse in the Bible app' + ) + setting.addToggle((toggle) => { + if (!this.plugin.settings?.displayBibleIconPrefixAtHeader) { + toggle.setDisabled(true) + toggle.setTooltip('') + } + toggle + .setValue(!!this.plugin.settings?.enableHyperlinking) + .onChange(async (value) => { + this.plugin.settings.enableHyperlinking = value + await this.plugin.saveSettings() + EventStats.logSettingChange( + 'changeVerseFormatting', + {key: `hyperlinking-${value}`, value: 1}, + this.plugin.settings.optOutToEvents + ) + }) + }) + } + private setUpVerseNumberFormatOptions(): void { new Setting(this.containerEl) .setName('Verse Number Formatting Options') diff --git a/src/verse/VerseSuggesting.ts b/src/verse/VerseSuggesting.ts index f30c0f6..731f6b8 100644 --- a/src/verse/VerseSuggesting.ts +++ b/src/verse/VerseSuggesting.ts @@ -122,8 +122,16 @@ export class VerseSuggesting } protected getVerseReferenceLink(): string { - return ` [${ - this.bibleProvider.BibleReferenceHead - } - ${this.bibleVersion.toUpperCase()}](${this.bibleProvider.VerseLinkURL})` + let verseLink = '' + if (this.settings?.showVerseTranslation && this.settings?.enableHyperlinking) { + verseLink = ` [${this.bibleProvider.BibleReferenceHead} - ${this.bibleVersion.toUpperCase()}](${this.bibleProvider.VerseLinkURL})` + } else if (this.settings?.showVerseTranslation && !this.settings?.enableHyperlinking) { + verseLink = ` ${this.bibleProvider.BibleReferenceHead} - ${this.bibleVersion.toUpperCase()}` + } else if (!this.settings?.showVerseTranslation && this.settings?.enableHyperlinking) { + verseLink = ` [${this.bibleProvider.BibleReferenceHead}](${this.bibleProvider.VerseLinkURL})` + } else { + verseLink = ` ${this.bibleProvider.BibleReferenceHead}` + } + return verseLink } }