From 3ac85e7aa8612177af05b46b58db0b5c9559db32 Mon Sep 17 00:00:00 2001 From: Simon Cambier Date: Sat, 22 Jul 2023 23:04:30 +0200 Subject: [PATCH] #74 - boost unmarked tags --- src/cache-manager.ts | 4 +++- src/components/ResultItemContainer.svelte | 1 + src/globals.ts | 1 + src/search/omnisearch.ts | 2 +- src/settings.ts | 14 ++++++++++++-- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/cache-manager.ts b/src/cache-manager.ts index e2a7ca5..7b5502a 100644 --- a/src/cache-manager.ts +++ b/src/cache-manager.ts @@ -96,13 +96,15 @@ async function getAndMapIndexedDocument( } } + const tags = getTagsFromMetadata(metadata) return { basename: removeDiacritics(file.basename), content, path: file.path, mtime: file.stat.mtime, - tags: getTagsFromMetadata(metadata), + tags: tags, + unmarkedTags: tags.map(t => t.replace('#', '')), aliases: getAliasesFromMetadata(metadata).join(''), headings1: metadata ? extractHeadingsFromCache(metadata, 1).join(' ') : '', headings2: metadata ? extractHeadingsFromCache(metadata, 2).join(' ') : '', diff --git a/src/components/ResultItemContainer.svelte b/src/components/ResultItemContainer.svelte index b5c2449..230b396 100644 --- a/src/components/ResultItemContainer.svelte +++ b/src/components/ResultItemContainer.svelte @@ -12,6 +12,7 @@ class:is-selected={selected} on:mousemove on:click + on:keypress on:auxclick> {#if glyph} diff --git a/src/globals.ts b/src/globals.ts index db14f9b..fbc6ff6 100644 --- a/src/globals.ts +++ b/src/globals.ts @@ -42,6 +42,7 @@ export type IndexedDocument = { content: string aliases: string tags: string[] + unmarkedTags: string[] headings1: string headings2: string headings3: string diff --git a/src/search/omnisearch.ts b/src/search/omnisearch.ts index 3094682..113152e 100644 --- a/src/search/omnisearch.ts +++ b/src/search/omnisearch.ts @@ -196,6 +196,7 @@ export class Omnisearch { headings1: settings.weightH1, headings2: settings.weightH2, headings3: settings.weightH3, + unmarkedTags: settings.weightUnmarkedTags }, }) @@ -210,7 +211,6 @@ export class Omnisearch { ext.startsWith(e.startsWith('.') ? e : '.' + e) ) }) - console.log(query.query.ext, results.length) } // Filter query results that match the path diff --git a/src/settings.ts b/src/settings.ts index 32d2485..f523d4b 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -7,7 +7,11 @@ import { } from 'obsidian' import { writable } from 'svelte/store' import { database } from './database' -import { K_DISABLE_OMNISEARCH, getTextExtractor, isCacheEnabled } from './globals' +import { + K_DISABLE_OMNISEARCH, + getTextExtractor, + isCacheEnabled, +} from './globals' import type OmnisearchPlugin from './main' interface WeightingSettings { @@ -16,6 +20,7 @@ interface WeightingSettings { weightH1: number weightH2: number weightH3: number + weightUnmarkedTags: number } export interface OmnisearchSettings extends WeightingSettings { @@ -376,6 +381,10 @@ export class SettingsTab extends PluginSettingTab { .setName(`Headings level 3 (default: ${DEFAULT_SETTINGS.weightH3})`) .addSlider(cb => this.weightSlider(cb, 'weightH3')) + new Setting(containerEl) + .setName(`Tags without the # (default: ${DEFAULT_SETTINGS.weightUnmarkedTags})`) + .addSlider(cb => this.weightSlider(cb, 'weightUnmarkedTags')) + //#endregion Results Weighting //#region Debugging @@ -473,6 +482,7 @@ export const DEFAULT_SETTINGS: OmnisearchSettings = { weightH1: 1.5, weightH2: 1.3, weightH3: 1.1, + weightUnmarkedTags: 1.1, welcomeMessage: '', verboseLogging: false, @@ -491,4 +501,4 @@ export async function saveSettings(plugin: Plugin): Promise { export function isPluginDisabled(): boolean { return app.loadLocalStorage(K_DISABLE_OMNISEARCH) == '1' -} \ No newline at end of file +}