diff --git a/src/main.ts b/src/main.ts
index 559f8c5..e089de0 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -105,11 +105,11 @@ export default class OmnisearchPlugin extends Plugin {
}
executeFirstLaunchTasks(): void {
- const code = '1.10.0-beta.1'
+ const code = '1.10.1'
if (settings.welcomeMessage !== code) {
const welcome = new DocumentFragment()
welcome.createSpan({}, span => {
- span.innerHTML = `🔎 Omnisearch will soon require the Text Extractor plugin to index PDF and images. See Omnisearch settings for more information.`
+ span.innerHTML = `🔎 Omnisearch now requires the Text Extractor plugin to index PDF and images. See Omnisearch settings for more information.`
})
new Notice(welcome, 20_000)
}
diff --git a/src/settings.ts b/src/settings.ts
index e059de7..0d2d4de 100644
--- a/src/settings.ts
+++ b/src/settings.ts
@@ -86,53 +86,50 @@ export class SettingsTab extends PluginSettingTab {
new Setting(containerEl).setName('Indexing').setHeading()
+ const textExtractDesc = new DocumentFragment()
if (getTextExtractor()) {
- const desc = new DocumentFragment()
- desc.createSpan({}, span => {
+ textExtractDesc.createSpan({}, span => {
span.innerHTML = `👍 You have installed Text Extractor, Omnisearch will use it to index PDFs and images.
Text extraction only works on desktop, but the cache can be synchronized with your mobile device.`
})
- new Setting(containerEl).setDesc(desc)
} else {
- const label = new DocumentFragment()
- label.createSpan({}, span => {
- span.innerHTML = `⚠️ Omnisearch will soon require Text Extractor to index PDFs and images.
- You can already install it to get a head start.`
+ textExtractDesc.createSpan({}, span => {
+ span.innerHTML = `⚠️ Omnisearch requires Text Extractor to index PDFs and images.`
})
- new Setting(containerEl).setDesc(label)
}
+ new Setting(containerEl).setDesc(textExtractDesc)
// PDF Indexing
- if (!Platform.isMobileApp || getTextExtractor()) {
- const indexPDFsDesc = new DocumentFragment()
- indexPDFsDesc.createSpan({}, span => {
- span.innerHTML = `Include PDFs in search results - Will soon depend on Text Extractor.`
- })
- new Setting(containerEl)
- .setName(`PDFs Indexing`)
- .setDesc(indexPDFsDesc)
- .addToggle(toggle =>
- toggle.setValue(settings.PDFIndexing).onChange(async v => {
- settings.PDFIndexing = v
- await saveSettings(this.plugin)
- })
- )
+ const indexPDFsDesc = new DocumentFragment()
+ indexPDFsDesc.createSpan({}, span => {
+ span.innerHTML = `Include PDFs in search results`
+ })
+ new Setting(containerEl)
+ .setName(`PDFs Indexing ${getTextExtractor() ? '' : '⚠️ Disabled'}`)
+ .setDesc(indexPDFsDesc)
+ .addToggle(toggle =>
+ toggle.setValue(settings.PDFIndexing).onChange(async v => {
+ settings.PDFIndexing = v
+ await saveSettings(this.plugin)
+ })
+ )
+ .setDisabled(!getTextExtractor())
- // Images Indexing
- const indexImagesDesc = new DocumentFragment()
- indexImagesDesc.createSpan({}, span => {
- span.innerHTML = `Include images in search results - Will soon depend on Text Extractor.`
- })
- new Setting(containerEl)
- .setName(`Images Indexing`)
- .setDesc(indexImagesDesc)
- .addToggle(toggle =>
- toggle.setValue(settings.imagesIndexing).onChange(async v => {
- settings.imagesIndexing = v
- await saveSettings(this.plugin)
- })
- )
- }
+ // Images Indexing
+ const indexImagesDesc = new DocumentFragment()
+ indexImagesDesc.createSpan({}, span => {
+ span.innerHTML = `Include images in search results`
+ })
+ new Setting(containerEl)
+ .setName(`Images Indexing ${getTextExtractor() ? '' : '⚠️ Disabled'}`)
+ .setDesc(indexImagesDesc)
+ .addToggle(toggle =>
+ toggle.setValue(settings.imagesIndexing).onChange(async v => {
+ settings.imagesIndexing = v
+ await saveSettings(this.plugin)
+ })
+ )
+ .setDisabled(!getTextExtractor())
// Additional files to index
const indexedFileTypesDesc = new DocumentFragment()
diff --git a/src/tools/utils.ts b/src/tools/utils.ts
index cc9d9ff..02f20f9 100644
--- a/src/tools/utils.ts
+++ b/src/tools/utils.ts
@@ -5,16 +5,17 @@ import {
parseFrontMatterAliases,
Platform,
} from 'obsidian'
-import { getTextExtractor, type SearchMatch } from '../globals'
import {
excerptAfter,
excerptBefore,
getChsSegmenter,
+ getTextExtractor,
highlightClass,
isSearchMatch,
regexLineSplit,
regexStripQuotes,
regexYaml,
+ type SearchMatch,
} from '../globals'
import { settings } from '../settings'
import { type BinaryLike, createHash } from 'crypto'
@@ -236,8 +237,8 @@ export function getCtrlKeyLabel(): 'ctrl' | '⌘' {
}
export function isFileIndexable(path: string): boolean {
- const canIndexPDF = (!Platform.isMobileApp || !!getTextExtractor()) && settings.PDFIndexing
- const canIndexImages = (!Platform.isMobileApp || !!getTextExtractor()) && settings.imagesIndexing
+ const canIndexPDF = !!getTextExtractor() && settings.PDFIndexing
+ const canIndexImages = !!getTextExtractor() && settings.imagesIndexing
return (
isFilePlaintext(path) ||
isFileCanvas(path) ||