diff --git a/src/search/search-engine.ts b/src/search/search-engine.ts
index 3001722..24d172c 100644
--- a/src/search/search-engine.ts
+++ b/src/search/search-engine.ts
@@ -385,7 +385,7 @@ export class SearchEngine {
const embeds = this.plugin.embedsRepository
.getEmbeds(doc.path)
// Limit to 5 embeds
- .slice(0, 5)
+ .slice(0, this.plugin.settings.maxEmbeds)
for (const embed of embeds) {
// Inject the embed in the content after index i
documents[++i] = await this.plugin.cacheManager.getDocument(embed)
diff --git a/src/settings.ts b/src/settings.ts
index 695d8f8..7677bde 100644
--- a/src/settings.ts
+++ b/src/settings.ts
@@ -54,6 +54,8 @@ export interface OmnisearchSettings extends WeightingSettings {
ribbonIcon: boolean
/** Display the small contextual excerpt in search results */
showExcerpt: boolean
+ /** Number of embeds references to display in search results */
+ maxEmbeds: number
/** Render line returns with
in excerpts */
renderLineReturnInExcerpts: boolean
/** Enable a "create note" button in the Vault Search modal */
@@ -465,6 +467,24 @@ export class SettingsTab extends PluginSettingTab {
})
)
+ // Show embeds
+ new Setting(containerEl)
+ .setName('Show embed references')
+ .setDesc(
+ htmlDescription(`Some results are embedded in other notes.
+ This setting controls the maximum number of embeds to show in the search results. Set to 0 to disable.
+ Also works with Text Extractor for embedded images and documents.`)
+ )
+ .addSlider(cb => {
+ cb.setLimits(0, 10, 1)
+ .setValue(settings.maxEmbeds)
+ .setDynamicTooltip()
+ .onChange(async v => {
+ settings.maxEmbeds = v
+ await saveSettings(this.plugin)
+ })
+ })
+
// Keep line returns in excerpts
new Setting(containerEl)
.setName('Render line return in excerpts')
@@ -791,6 +811,7 @@ export function getDefaultSettings(app: App): OmnisearchSettings {
ribbonIcon: true,
showExcerpt: true,
+ maxEmbeds: 5,
renderLineReturnInExcerpts: true,
showCreateButton: false,
highlight: true,