From 1a296518c577619383c83d702cceb5525ac9db2a Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Tue, 17 Jan 2023 12:06:24 -0300 Subject: [PATCH] Limit total words for each Search Result rendered in search modal Provides a more consistent rendering of results in modal. Makes it easier to see more results in modal. To see complete entry, user can always just jump to entry from modal --- src/interface/obsidian/src/modal.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/interface/obsidian/src/modal.ts b/src/interface/obsidian/src/modal.ts index 177a8ccd..c1005042 100644 --- a/src/interface/obsidian/src/modal.ts +++ b/src/interface/obsidian/src/modal.ts @@ -1,4 +1,4 @@ -import { App, SuggestModal, Notice, request, MarkdownRenderer, Instruction, Platform } from 'obsidian'; +import { App, SuggestModal, request, MarkdownRenderer, Instruction, Platform } from 'obsidian'; import { KhojSetting } from 'src/settings'; export interface SearchResult { @@ -68,7 +68,11 @@ export class KhojModal extends SuggestModal { } async renderSuggestion(result: SearchResult, el: HTMLElement) { - MarkdownRenderer.renderMarkdown(result.entry, el, null, null); + let words_to_render = 30; + let entry_words = result.entry.split(' ') + let entry_snipped_indicator = entry_words.length > words_to_render ? ' **...**' : ''; + let snipped_entry = entry_words.slice(0, words_to_render).join(' '); + MarkdownRenderer.renderMarkdown(snipped_entry + entry_snipped_indicator, el, null, null); } async onChooseSuggestion(result: SearchResult, _: MouseEvent | KeyboardEvent) {