Started addressing review comments.
This commit is contained in:
@@ -15,9 +15,9 @@ export default class LocalBibleRefSettingTab extends PluginSettingTab {
|
||||
const { containerEl } = this;
|
||||
containerEl.empty();
|
||||
|
||||
let biblesPathTimeout: NodeJS.Timeout;
|
||||
let biblesPathTimeout: number;
|
||||
new Setting(containerEl)
|
||||
.setName('Bibles Path')
|
||||
.setName('Bibles path')
|
||||
.setDesc('The path to the folder containing your bibles.')
|
||||
.addText(text => {
|
||||
text.setPlaceholder('e.g. Data/Bibles')
|
||||
@@ -27,7 +27,7 @@ export default class LocalBibleRefSettingTab extends PluginSettingTab {
|
||||
await this.plugin.saveSettings();
|
||||
|
||||
clearTimeout(biblesPathTimeout);
|
||||
biblesPathTimeout = setTimeout(async () => {
|
||||
biblesPathTimeout = window.setTimeout(async () => {
|
||||
const exists = await this.app.vault.adapter.exists(value);
|
||||
if (!exists) new Notice(`Bibles folder doesn't exist at path: ${value}.`);
|
||||
}, 1000);
|
||||
@@ -36,9 +36,9 @@ export default class LocalBibleRefSettingTab extends PluginSettingTab {
|
||||
new PathSuggest(this.app, text.inputEl);
|
||||
});
|
||||
|
||||
let defaultVersionTimeout: NodeJS.Timeout;
|
||||
let defaultVersionTimeout: number;
|
||||
new Setting(containerEl)
|
||||
.setName('Default Version Shorthand')
|
||||
.setName('Default version shorthand')
|
||||
.setDesc('The version to use by default - shorthand.')
|
||||
.addText(text => text
|
||||
.setPlaceholder('e.g. NIV')
|
||||
@@ -48,7 +48,7 @@ export default class LocalBibleRefSettingTab extends PluginSettingTab {
|
||||
await this.plugin.saveSettings();
|
||||
|
||||
clearTimeout(defaultVersionTimeout);
|
||||
defaultVersionTimeout = setTimeout(async () => {
|
||||
defaultVersionTimeout = window.setTimeout(async () => {
|
||||
const path = `${this.plugin.settings.biblesPath}/${value}`;
|
||||
const exists = await this.app.vault.adapter.exists(path);
|
||||
if (!exists) new Notice(`Version folder doesn't exist at path: ${path}.`);
|
||||
@@ -56,7 +56,7 @@ export default class LocalBibleRefSettingTab extends PluginSettingTab {
|
||||
}));
|
||||
|
||||
new Setting(containerEl)
|
||||
.setName('Default Passage Format')
|
||||
.setName('Default passage format')
|
||||
.setDesc('The markdown format to use for passages by default.')
|
||||
.addDropdown(dropdown => dropdown
|
||||
.addOptions({
|
||||
|
||||
@@ -32,7 +32,7 @@ export class PassageSuggest extends EditorSuggest<PassageSuggestion> {
|
||||
|
||||
// if no settings, alert user
|
||||
if (!this.settings.biblesPath) {
|
||||
if (!this.noSettingsNotice?.noticeEl.isShown()) {
|
||||
if (!this.noSettingsNotice?.messageEl.isShown()) {
|
||||
const noticeText = "Local Bible Ref settings are not " +
|
||||
"configured. Please set the bibles path before " +
|
||||
"attempting to reference passages.";
|
||||
@@ -283,9 +283,8 @@ export class PassageSuggest extends EditorSuggest<PassageSuggestion> {
|
||||
formatted += "\n\n";
|
||||
break;
|
||||
case PassageFormat.Callout: {
|
||||
const passageReference = passageRef.stringify();
|
||||
const passageLink = this.generatePassageLink(passageRef, context);
|
||||
formatted = `> [!quote] [${passageReference}](${passageLink})\n`;
|
||||
const passageLink = this.generatePassageLink(passageRef, context);
|
||||
formatted = `> [!quote] ${passageLink}\n`;
|
||||
formatted += texts.join("\n\n").trim();
|
||||
formatted = formatted.replace(/\n/gm, "\n> ");
|
||||
formatted += "\n\n";
|
||||
@@ -301,17 +300,17 @@ export class PassageSuggest extends EditorSuggest<PassageSuggestion> {
|
||||
ref: PassageReference,
|
||||
context: EditorSuggestContext
|
||||
): string {
|
||||
let link = "";
|
||||
let folder: TFolder | null = context.file.parent;
|
||||
while (folder?.parent) {
|
||||
link += "../";
|
||||
folder = folder.parent;
|
||||
}
|
||||
|
||||
const { version, book, startChapter } = ref;
|
||||
link += `${this.settings.biblesPath}/${version}/` +
|
||||
`${book.name}/${book.name} ${startChapter}.md`;
|
||||
return link.replace(/ /g, "%20");
|
||||
const filePath = `${this.settings.biblesPath}/${version}/${book.name}/${book.name} ${startChapter}.md`;
|
||||
const file = this.app.vault.getFileByPath(filePath);
|
||||
if (!file) return ref.stringify();
|
||||
|
||||
return this.app.fileManager.generateMarkdownLink(
|
||||
file,
|
||||
context.file.path,
|
||||
undefined,
|
||||
ref.stringify(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user