From 33f03eb4c8fce503de50c735124d8a1fd9e01b3a Mon Sep 17 00:00:00 2001 From: irauschek <46614893+irauschek@users.noreply.github.com> Date: Tue, 26 Nov 2019 22:58:48 +0100 Subject: [PATCH 01/10] search the content of modular pages (#170) --- simplesearch.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/simplesearch.php b/simplesearch.php index ada55cd..14294d6 100644 --- a/simplesearch.php +++ b/simplesearch.php @@ -171,8 +171,21 @@ public function onPagesInitialized() } } - //Drop unpublished and unroutable pages - $this->collection->published()->routable(); + //Drop unpublished pages, but do not drop unroutable pages right now to be able to search modular pages which are unroutable per se + $this->collection->published(); + /** @var modular Pages $modularPageCollection */ + $modularPageCollection = $this->collection->copy(); + //Get published modular pages + $modularPageCollection->modular(); + foreach ($modularPageCollection as $cpage) { + if (!$cpage->parent()->published()) { + $modularPageCollection->remove($cpage); + } + } + //Drop unroutable pages + $this->collection->routable(); + //Add modular pages again + $this->collection->merge($modularPageCollection); //Check if user has permission to view page if ($this->grav['config']->get('plugins.login.enabled')) { From 70e4cf2e264daf0bd6910e0e554b4a22a01c01e0 Mon Sep 17 00:00:00 2001 From: Jeremy Gonyea Date: Tue, 7 Apr 2020 12:52:17 -0400 Subject: [PATCH 02/10] Added field label for screen reader accessibility (#171) --- templates/partials/simplesearch_searchbox.html.twig | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/partials/simplesearch_searchbox.html.twig b/templates/partials/simplesearch_searchbox.html.twig index c0fbd39..5fdbf85 100644 --- a/templates/partials/simplesearch_searchbox.html.twig +++ b/templates/partials/simplesearch_searchbox.html.twig @@ -4,6 +4,7 @@ 0 %} min="{{- min_chars -}}" {% endif %} required From 2c939b92ad916cc672d17e156c9775025c0636b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Petira?= <38700805+petira@users.noreply.github.com> Date: Thu, 14 May 2020 00:16:39 +0200 Subject: [PATCH 03/10] Default vs. custom simplesearch.md (#186) Made code modifications to create a custom page without having to include a simplesearch section in the header. If the custom page contains a template variable in the header, it takes precedence over the setting in the config file. When using the default page, the opposite behavior occurs, where the settings in the config file are preferred, which overrides the settings in the page header, assuming that the default page now contains the template variable directly from the plugin authors. This fixes some of the issues described in https://github.com/getgrav/grav-plugin-simplesearch/issues/173 and https://github.com/getgrav/grav-plugin-simplesearch/issues/43 (maybe others too). I will send other separate improvements in the next Pull request. --- simplesearch.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/simplesearch.php b/simplesearch.php index 14294d6..6f062bd 100644 --- a/simplesearch.php +++ b/simplesearch.php @@ -96,7 +96,7 @@ public function onPagesInitialized() } // If a page exists merge the configs - if ($page) { + if (isset($page)) { $this->config->set('plugins.simplesearch', $this->mergeConfig($page)); } @@ -110,6 +110,12 @@ public function onPagesInitialized() return; } + // set the template is not set in the page header (the page header setting takes precedence over the plugin config setting) + if (!isset($page->header()->template)) { + $template_override = $this->config->get('plugins.simplesearch.template', 'simplesearch_results'); + $page->template($template_override); + } + // Explode query into multiple strings. Drop empty values $this->query = array_filter(array_filter(explode(',', $query), 'trim'), 'strlen'); @@ -225,15 +231,17 @@ public function onPagesInitialized() ); } - // if page doesn't have settings set, create a page - if (!isset($page->header()->simplesearch)) { + // Display simplesearch page if no page was found for the current route + $pages = $this->grav['pages']; + $page = $pages->dispatch($this->config->get('plugins.simplesearch.route', '/search'), true); + if (!isset($page)) { // create the search page $page = new Page; $page->init(new \SplFileInfo(__DIR__ . '/pages/simplesearch.md')); - // override the template is set in the config + // override the template is set in the plugin config (the plugin config setting takes precedence over the page header setting) $template_override = $this->config->get('plugins.simplesearch.template'); - if ($template_override) { + if (isset($template_override)) { $page->template($template_override); } From 7252312b9eeac6c7660b535dc9eb4ebde178d8ca Mon Sep 17 00:00:00 2001 From: vrabe Date: Thu, 14 May 2020 06:17:00 +0800 Subject: [PATCH 04/10] Add Chinese (Traditional) Translation (#169) Chinese (Traditional) translation --- languages.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/languages.yaml b/languages.yaml index 959a101..bb241e9 100644 --- a/languages.yaml +++ b/languages.yaml @@ -42,6 +42,13 @@ zh: SEARCH_RESULTS: "搜索结果" SEARCH_RESULTS_SUMMARY_SINGULAR: "查询: %s 找到 1 个结果" SEARCH_RESULTS_SUMMARY_PLURAL: "查询: %s 找到 %s 个结果" +zh-TW: + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "搜尋 …" + SEARCH_RESULTS: "搜尋結果" + SEARCH_RESULTS_SUMMARY_SINGULAR: "查詢: %s 找到 1 個結果" + SEARCH_RESULTS_SUMMARY_PLURAL: "查詢: %s 找到 %s 個結果" + SEARCH_FIELD_MINIMUM_CHARACTERS: "請輸入至少 %s 個字元" nl: PLUGIN_SIMPLESEARCH: SEARCH_PLACEHOLDER: "Zoeken …" From 37ad3cedf213c5f24532537511bd037cf4547888 Mon Sep 17 00:00:00 2001 From: Aleksey Smirnov Date: Thu, 14 May 2020 01:19:44 +0300 Subject: [PATCH 05/10] Translation (ru, uk) (#172) * Update blueprints.yaml Added translation keys * Update languages.yaml Co-authored-by: Andy Miller <1084697+rhukster@users.noreply.github.com> --- blueprints.yaml | 49 ++++---- languages.yaml | 297 ++++++++++++++++++++++++++++++------------------ 2 files changed, 215 insertions(+), 131 deletions(-) diff --git a/blueprints.yaml b/blueprints.yaml index 2d9d54d..9f1f6fb 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -30,15 +30,16 @@ form: type: select size: medium classes: fancy - label: Search Content + label: PLUGIN_SIMPLESEARCH.SEARCH_CONTENT default: rendered options: - rendered: Rendered Content (Slower) - raw: Raw Markdown Content (Faster) + rendered: PLUGIN_SIMPLESEARCH.RENDERED_CONTENT + raw: PLUGIN_SIMPLESEARCH.RAW_CONTENT built_in_css: type: toggle - label: Use built in CSS + label: PLUGIN_SIMPLESEARCH.BUILTIN_CSS + help: PLUGIN_SIMPLESEARCH.BUILTIN_CSS_HELP highlight: 1 default: 1 options: @@ -49,7 +50,8 @@ form: built_in_js: type: toggle - label: Use built in JavaScript + label: PLUGIN_SIMPLESEARCH.BUILTIN_JS + help: PLUGIN_SIMPLESEARCH.BUILTIN_JS_HELP highlight: 1 default: 1 options: @@ -60,32 +62,33 @@ form: display_button: type: toggle - label: Display Search Button + label: PLUGIN_SIMPLESEARCH.DISPLAY_SEARCH_BUTTON + help: PLUGIN_SIMPLESEARCH.DISPLAY_SEARCH_BUTTON_HELP highlight: 0 default: 0 options: - 1: Enabled - 0: Disabled + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED validate: type: bool ignore_accented_characters: type: toggle - label: Ignore accented characters - help: If enabled, search terms will match accented characters regardless to their diacritics i.e. search results will show up for "cafe" and "café" no matter how you typed it. + label: PLUGIN_SIMPLESEARCH.IGNORE_ACCENDED_CHARACTERS + help: PLUGIN_SIMPLESEARCH.IGNORE_ACCENDED_CHARACTERS_HELP highlight: 0 default: 0 options: - 1: Enabled - 0: Disabled + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED validate: type: bool min_query_length: type: text size: x-small - label: Minimum query length - help: The mimimum number of characters needed before serach can be submitted + label: PLUGIN_SIMPLESEARCH.MIN_QUERY_LENGTH + help: PLUGIN_SIMPLESEARCH.MIN_QUERY_LENGTH_HELP validate: type: number min: 0 @@ -93,21 +96,21 @@ form: route: type: text size: medium - label: Route + label: PLUGIN_SIMPLESEARCH.SEARCH_PAGE_ROUTE + help: PLUGIN_SIMPLESEARCH.SEARCH_PAGE_ROUTE_HELP default: /random - help: Default route of the simplesearch plugin template: type: text size: medium - label: Template + label: PLUGIN_SIMPLESEARCH.SEARCH_PAGE_TEMPLATE + help: PLUGIN_SIMPLESEARCH.SEARCH_PAGE_TEMPLATE_HELP default: simplesearch_results - help: Name of the template for the search results filters.category: type: selectize - label: Category filter - help: Comma separated list of category names. Enter "@none" to search in all pages. + label: PLUGIN_SIMPLESEARCH.CATEGORY_FILTER + help: PLUGIN_SIMPLESEARCH.CATEGORY_FILTER_HELP validate: type: commalist @@ -115,11 +118,11 @@ form: type: select size: medium classes: fancy - label: Filter Combinator + label: PLUGIN_SIMPLESEARCH.FILTER_COMBINATOR default: and options: - and: And - Boolean && - or: Or - Boolean || + and: PLUGIN_SIMPLESEARCH.AND_COMBINATOR + or: PLUGIN_SIMPLESEARCH.OR_COMBINATOR order.by: type: select diff --git a/languages.yaml b/languages.yaml index bb241e9..516ff21 100644 --- a/languages.yaml +++ b/languages.yaml @@ -1,134 +1,215 @@ en: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Search …" - SEARCH_RESULTS: "Search Results" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Query: %s found one result" - SEARCH_RESULTS_SUMMARY_PLURAL: "Query: %s found %s results" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Please add at least %s characters" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: 'Search …' + SEARCH_RESULTS: 'Search Results' + SEARCH_RESULTS_SUMMARY_SINGULAR: 'Query: %s found one result' + SEARCH_RESULTS_SUMMARY_PLURAL: 'Query: %s found %s results' + SEARCH_FIELD_MINIMUM_CHARACTERS: 'Please add at least %s characters' + SEARCH_CONTENT: 'Search Content' + RENDERED_CONTENT: 'Rendered Content (Slower)' + RAW_CONTENT: 'Raw Markdown Content (Faster)' + BUILTIN_CSS: 'Use built in CSS' + BUILTIN_CSS_HELP: 'Include the CSS provided by the simplesearch plugin' + BUILTIN_JS: 'Use built in JavaScript' + BUILTIN_JS_HELP: 'Include the JavaScript provided by the simplesearch plugin' + DISPLAY_SEARCH_BUTTON: 'Display Search Button' + DISPLAY_SEARCH_BUTTON_HELP: 'Display a search button near the search field' + IGNORE_ACCENDED_CHARACTERS: 'Ignore accented characters' + IGNORE_ACCENDED_CHARACTERS_HELP: 'If enabled, search terms will match accented characters regardless to their diacritics i.e. search results will show up for "cafe" and "café" no matter how you typed it.' + MIN_QUERY_LENGTH: 'Minimum query length' + MIN_QUERY_LENGTH_HELP: 'The minimum number of characters needed before search can be submitted' + SEARCH_PAGE_ROUTE: 'Route' + SEARCH_PAGE_ROUTE_HELP: 'Default route of the simplesearch plugin' + SEARCH_PAGE_TEMPLATE: 'Template' + SEARCH_PAGE_TEMPLATE_HELP: 'Name of the template for the search results' + CATEGORY_FILTER: 'Category filter' + CATEGORY_FILTER_HELP: 'Comma separated list of category names. Enter "@none" to search in all pages.' + FILTER_COMBINATOR: 'Filter Combinator' + AND_COMBINATOR: 'And - Boolean &&' + OR_COMBINATOR: 'Or - Boolean ||' + ro: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Caută …" - SEARCH_RESULTS: "Rezultatele căutării" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Căutarea: %s a găsit un rezultat" - SEARCH_RESULTS_SUMMARY_PLURAL: "Căutarea: %s a găsit %s rezultate" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Caută …" + SEARCH_RESULTS: "Rezultatele căutării" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Căutarea: %s a găsit un rezultat" + SEARCH_RESULTS_SUMMARY_PLURAL: "Căutarea: %s a găsit %s rezultate" + de: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Suche …" - SEARCH_RESULTS: "Suchergebnisse" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Suche: %s fand ein Ergebnis" - SEARCH_RESULTS_SUMMARY_PLURAL: "Suche: %s fand %s Ergebnisse" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Bitte geben Sie mindestens %s Zeichen ein" - SEARCH_VALUE: 'Suchen' + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Suche …" + SEARCH_RESULTS: "Suchergebnisse" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Suche: %s fand ein Ergebnis" + SEARCH_RESULTS_SUMMARY_PLURAL: "Suche: %s fand %s Ergebnisse" + SEARCH_FIELD_MINIMUM_CHARACTERS: "Bitte geben Sie mindestens %s Zeichen ein" + SEARCH_VALUE: 'Suchen' fr: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Recherche …" - SEARCH_RESULTS: "Résultats de la recherche" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Recherche : Un résultat trouvé pour %s" - SEARCH_RESULTS_SUMMARY_PLURAL: "Recherche : %2$s résultats trouvés pour %1$s" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Veuillez ajouter au moins %s caractères" - + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Recherche …" + SEARCH_RESULTS: "Résultats de la recherche" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Recherche : Un résultat trouvé pour %s" + SEARCH_RESULTS_SUMMARY_PLURAL: "Recherche : %2$s résultats trouvés pour %1$s" + SEARCH_FIELD_MINIMUM_CHARACTERS: "Veuillez ajouter au moins %s caractères" + it: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Cerca …" - SEARCH_RESULTS: "Risultati della ricerca" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Ricerca: %s. Trovato un risultato" - SEARCH_RESULTS_SUMMARY_PLURAL: "Ricerca: %s. Trovati %s risultati" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Inserisci almeno %s caratteri" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Cerca …" + SEARCH_RESULTS: "Risultati della ricerca" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Ricerca: %s. Trovato un risultato" + SEARCH_RESULTS_SUMMARY_PLURAL: "Ricerca: %s. Trovati %s risultati" + SEARCH_FIELD_MINIMUM_CHARACTERS: "Inserisci almeno %s caratteri" zh: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "搜索 …" - SEARCH_RESULTS: "搜索结果" - SEARCH_RESULTS_SUMMARY_SINGULAR: "查询: %s 找到 1 个结果" - SEARCH_RESULTS_SUMMARY_PLURAL: "查询: %s 找到 %s 个结果" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "搜索 …" + SEARCH_RESULTS: "搜索结果" + SEARCH_RESULTS_SUMMARY_SINGULAR: "查询: %s 找到 1 个结果" + SEARCH_RESULTS_SUMMARY_PLURAL: "查询: %s 找到 %s 个结果" + zh-TW: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "搜尋 …" - SEARCH_RESULTS: "搜尋結果" - SEARCH_RESULTS_SUMMARY_SINGULAR: "查詢: %s 找到 1 個結果" - SEARCH_RESULTS_SUMMARY_PLURAL: "查詢: %s 找到 %s 個結果" - SEARCH_FIELD_MINIMUM_CHARACTERS: "請輸入至少 %s 個字元" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "搜尋 …" + SEARCH_RESULTS: "搜尋結果" + SEARCH_RESULTS_SUMMARY_SINGULAR: "查詢: %s 找到 1 個結果" + SEARCH_RESULTS_SUMMARY_PLURAL: "查詢: %s 找到 %s 個結果" + SEARCH_FIELD_MINIMUM_CHARACTERS: "請輸入至少 %s 個字元" nl: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Zoeken …" - SEARCH_RESULTS: "Zoek resultaten" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Query: %s is 1 keer gevonden" - SEARCH_RESULTS_SUMMARY_PLURAL: "Query: %s is %s keer gevonden" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Geef minstens %s tekens in" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Zoeken …" + SEARCH_RESULTS: "Zoek resultaten" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Query: %s is 1 keer gevonden" + SEARCH_RESULTS_SUMMARY_PLURAL: "Query: %s is %s keer gevonden" + SEARCH_FIELD_MINIMUM_CHARACTERS: "Geef minstens %s tekens in" + hr: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Traži …" - SEARCH_RESULTS: "Rezultati pretrage" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Upit: %s je pronašao jedan rezultat" - SEARCH_RESULTS_SUMMARY_PLURAL: "Upit: %s je pronašao %s rezultata" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Traži …" + SEARCH_RESULTS: "Rezultati pretrage" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Upit: %s je pronašao jedan rezultat" + SEARCH_RESULTS_SUMMARY_PLURAL: "Upit: %s je pronašao %s rezultata" + ru: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Найти …" - SEARCH_RESULTS: "Результат поиска" - SEARCH_RESULTS_SUMMARY_SINGULAR: "По запросу: %s результатов найдено 1" - SEARCH_RESULTS_SUMMARY_PLURAL: "По запросу: %s результатов найдено %s" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Добавьте не менее %s символов" - + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: 'Найти …' + SEARCH_RESULTS: 'Результат поиска' + SEARCH_RESULTS_SUMMARY_SINGULAR: 'По запросу: %s найден 1 результат' + SEARCH_RESULTS_SUMMARY_PLURAL: 'По запросу: %s результатов найдено %s' + SEARCH_FIELD_MINIMUM_CHARACTERS: 'Добавьте не менее %s символов' + SEARCH_CONTENT: 'Поиск контента' + RENDERED_CONTENT: 'Обработанный контент (медленнее)' + RAW_CONTENT: 'Необработанный Markdown контент (быстрее)' + BUILTIN_CSS: 'Использовать встроенный CSS' + BUILTIN_CSS_HELP: 'Использовать CSS, предоставленный плагином simplesearch' + BUILTIN_JS: 'Использовать встроенный JavaScript' + BUILTIN_JS_HELP: 'Использовать JavaScript, предоставленный плагином simplesearch' + DISPLAY_SEARCH_BUTTON: 'Показать кнопку поиска' + DISPLAY_SEARCH_BUTTON_HELP: 'Показать кнопку поиска рядом с полем поиска' + IGNORE_ACCENDED_CHARACTERS: 'Игнорировать акцентированные символы' + IGNORE_ACCENDED_CHARACTERS_HELP: 'Если этот параметр включен, поисковые термины будут совпадать с акцентированными символами, независимо от их диакритических знаков, т.е. результаты поиска будут отображаться как "кафе" и "кафе́", независимо от того, как вы их набрали' + MIN_QUERY_LENGTH: 'Минимальная длина запроса' + MIN_QUERY_LENGTH_HELP: 'Минимальное количество символов, необходимое для отправки запроса' + SEARCH_PAGE_ROUTE: 'Маршрут' + SEARCH_PAGE_ROUTE_HELP: 'Маршрут по умолчанию для плагина simplesearch' + SEARCH_PAGE_TEMPLATE: 'Шаблон' + SEARCH_PAGE_TEMPLATE_HELP: 'Имя шаблона для страницы результатов поиска' + CATEGORY_FILTER: 'Фильтр категорий' + CATEGORY_FILTER_HELP: 'Разделенный запятыми список названий категорий. Введите "@none" для поиска на всех страницах' + FILTER_COMBINATOR: 'Фильтр комбинатор' + AND_COMBINATOR: 'И - Булева &&' + OR_COMBINATOR: 'Или - Булева ||' + +uk: + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: 'Знайти …' + SEARCH_RESULTS: 'Результат пошуку' + SEARCH_RESULTS_SUMMARY_SINGULAR: 'На запит: %s знайдено 1 результат' + SEARCH_RESULTS_SUMMARY_PLURAL: 'На запит: %s результатів знайдено %s' + SEARCH_FIELD_MINIMUM_CHARACTERS: 'Введіть не менше %s символів' + SEARCH_CONTENT: 'Пошук контенту' + RENDERED_CONTENT: 'Оброблений контент (повільніше)' + RAW_CONTENT: 'Необроблений Markdown контент (швидше)' + BUILTIN_CSS: 'Використовувати вбудований CSS' + BUILTIN_CSS_HELP: 'Використовувати CSS, наданий плагіном simplesearch' + BUILTIN_JS: 'Використовувати вбудований JavaScript' + BUILTIN_JS_HELP: 'Використовувати JavaScript, наданий плагіном simplesearch' + DISPLAY_SEARCH_BUTTON: 'Показати кнопку пошуку' + DISPLAY_SEARCH_BUTTON_HELP: 'Показати кнопку пошуку поряд з полем пошуку' + IGNORE_ACCENDED_CHARACTERS: 'Ігнорувати акцентовані символи' + IGNORE_ACCENDED_CHARACTERS_HELP: 'Якщо цей параметр включений, пошукові терміни будуть збігатися з акцентованими символами, незалежно від їх діакритичних знаків, тобто результати пошуку будуть відображатися як "кафе" і "кафе́", незалежно від того, як ви їх набрали' + MIN_QUERY_LENGTH: 'Мінімальна довжина запиту' + MIN_QUERY_LENGTH_HELP: 'Мінімальна кількість символів, необхідна для відправлення запиту' + SEARCH_PAGE_ROUTE: 'Маршрут' + SEARCH_PAGE_ROUTE_HELP: 'Маршрут за замовчуванням для плагіна simplesearch' + SEARCH_PAGE_TEMPLATE: 'Шаблон' + SEARCH_PAGE_TEMPLATE_HELP: "Ім'я шаблону для сторінки результатів пошуку" + CATEGORY_FILTER: 'Фільтр категорій' + CATEGORY_FILTER_HELP: 'Розділений комами список назв категорій. Введіть "@none" для пошуку на всіх сторінках' + FILTER_COMBINATOR: 'Фільтр комбінатор' + AND_COMBINATOR: 'І - Булева &&' + OR_COMBINATOR: 'Або - Булева ||' + es: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Buscar …" - SEARCH_RESULTS: "Resultados de la búsqueda" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Consulta: %s se encontró 1 resultado" - SEARCH_RESULTS_SUMMARY_PLURAL: "Consulta: %s se encontraron %s resultados" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Buscar …" + SEARCH_RESULTS: "Resultados de la búsqueda" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Consulta: %s se encontró 1 resultado" + SEARCH_RESULTS_SUMMARY_PLURAL: "Consulta: %s se encontraron %s resultados" + ja: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "検索する …" - SEARCH_RESULTS: "検索結果" - SEARCH_RESULTS_SUMMARY_SINGULAR: "検索 : %s に一つの結果があります。" - SEARCH_RESULTS_SUMMARY_PLURAL: "検索 : %s に %s の結果があります。" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "検索する …" + SEARCH_RESULTS: "検索結果" + SEARCH_RESULTS_SUMMARY_SINGULAR: "検索 : %s に一つの結果があります。" + SEARCH_RESULTS_SUMMARY_PLURAL: "検索 : %s に %s の結果があります。" + fa: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "جستجو …" - SEARCH_RESULTS: "نتایج جستجو" - SEARCH_RESULTS_SUMMARY_SINGULAR: "جستار: %s یک نتیجه یافت شد" - SEARCH_RESULTS_SUMMARY_PLURAL: "جستار: %s %s نتیجه یافت شد" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "جستجو …" + SEARCH_RESULTS: "نتایج جستجو" + SEARCH_RESULTS_SUMMARY_SINGULAR: "جستار: %s یک نتیجه یافت شد" + SEARCH_RESULTS_SUMMARY_PLURAL: "جستار: %s %s نتیجه یافت شد" + cs: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Vyhledat …" - SEARCH_RESULTS: "Výsledky hledání" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Hledání výrazu '%s' našlo jeden výsledek" - SEARCH_RESULTS_SUMMARY_PLURAL: "Hledání výrazu '%s' našlo %s výsledků" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Vyhledat …" + SEARCH_RESULTS: "Výsledky hledání" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Hledání výrazu '%s' našlo jeden výsledek" + SEARCH_RESULTS_SUMMARY_PLURAL: "Hledání výrazu '%s' našlo %s výsledků" pt: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "O que você procura?" - SEARCH_RESULTS: "Resultados da pesquisa" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Pesquisa: %s. Foram encontrados 1 resultados" - SEARCH_RESULTS_SUMMARY_PLURAL: "Pesquisa: %s. Foram encontrados %s resultados" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "O que você procura?" + SEARCH_RESULTS: "Resultados da pesquisa" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Pesquisa: %s. Foram encontrados 1 resultados" + SEARCH_RESULTS_SUMMARY_PLURAL: "Pesquisa: %s. Foram encontrados %s resultados" sv: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Sök …" - SEARCH_RESULTS: "Sökresultat" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Sökning: %s hittade ett resultat" - SEARCH_RESULTS_SUMMARY_PLURAL: "Sökning: %s hittade %s resultat" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Sök …" + SEARCH_RESULTS: "Sökresultat" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Sökning: %s hittade ett resultat" + SEARCH_RESULTS_SUMMARY_PLURAL: "Sökning: %s hittade %s resultat" da: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Søg …" - SEARCH_RESULTS: "Søgeresultat" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Søgning: %s fandt et resultat" - SEARCH_RESULTS_SUMMARY_PLURAL: "Søgning: %s fandt %s resultater" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Søg …" + SEARCH_RESULTS: "Søgeresultat" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Søgning: %s fandt et resultat" + SEARCH_RESULTS_SUMMARY_PLURAL: "Søgning: %s fandt %s resultater" kk: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "іздеу …" - SEARCH_RESULTS: "Іздеу нәтижесі" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Сұраныс бойынша: %s табылды 1" - SEARCH_RESULTS_SUMMARY_PLURAL: "Сұраныс бойынша: %s табылды %s" - SEARCH_FIELD_MINIMUM_CHARACTERS: "Кемінде %s таңба қосу" + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "іздеу …" + SEARCH_RESULTS: "Іздеу нәтижесі" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Сұраныс бойынша: %s табылды 1" + SEARCH_RESULTS_SUMMARY_PLURAL: "Сұраныс бойынша: %s табылды %s" + SEARCH_FIELD_MINIMUM_CHARACTERS: "Кемінде %s таңба қосу" pl: - PLUGIN_SIMPLESEARCH: - SEARCH_PLACEHOLDER: "Szukaj…" - SEARCH_RESULTS: "Wyniki wyszukiwania" - SEARCH_RESULTS_SUMMARY_SINGULAR: "Znaleziono jeden wynik dla frazy %s." - SEARCH_RESULTS_SUMMARY_PLURAL: "Znaleziono %2$s wyników dla frazy %1$s." - SEARCH_FIELD_MINIMUM_CHARACTERS: "Fraza musi składać się z minimum %s znaków." - + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Szukaj…" + SEARCH_RESULTS: "Wyniki wyszukiwania" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Znaleziono jeden wynik dla frazy %s." + SEARCH_RESULTS_SUMMARY_PLURAL: "Znaleziono %2$s wyników dla frazy %1$s." + SEARCH_FIELD_MINIMUM_CHARACTERS: "Fraza musi składać się z minimum %s znaków." From f5cea7d08284a568627a573418c714d213d2032f Mon Sep 17 00:00:00 2001 From: underr Date: Thu, 14 May 2020 01:23:42 +0300 Subject: [PATCH 06/10] input attribute fix (#165) --- js/simplesearch.js | 2 +- templates/partials/simplesearch_searchbox.html.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/simplesearch.js b/js/simplesearch.js index 8664009..ce0f7a8 100644 --- a/js/simplesearch.js +++ b/js/simplesearch.js @@ -10,7 +10,7 @@ var fields = document.querySelectorAll('input[name="searchfield"][data-search-input]'); Array.prototype.forEach.call(fields, function(field) { var form = findAncestor(field, 'form[data-simplesearch-form]'), - min = field.getAttribute('min') || false, + min = field.getAttribute('data-min') || false, location = field.getAttribute('data-search-input'), separator = field.getAttribute('data-search-separator'); diff --git a/templates/partials/simplesearch_searchbox.html.twig b/templates/partials/simplesearch_searchbox.html.twig index 5fdbf85..6613d58 100644 --- a/templates/partials/simplesearch_searchbox.html.twig +++ b/templates/partials/simplesearch_searchbox.html.twig @@ -6,7 +6,7 @@ class="search-input" aria-label="search" type="text" - {% if min_chars > 0 %} min="{{- min_chars -}}" {% endif %} + {% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %} required placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}" value="{{ query|e }}" From ae6d99429a5161303d2f99a60649dba8f52186a6 Mon Sep 17 00:00:00 2001 From: Jayesh Gohel Date: Thu, 14 May 2020 03:55:58 +0530 Subject: [PATCH 07/10] Extract searchable_types to config, allowing limit search scope (#184) --- simplesearch.php | 2 +- simplesearch.yaml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/simplesearch.php b/simplesearch.php index 6f062bd..8ccb8c9 100644 --- a/simplesearch.php +++ b/simplesearch.php @@ -310,7 +310,7 @@ public function checkForPermissions($collection) */ private function notFound($query, $page, $taxonomies) { - $searchable_types = ['title', 'content', 'taxonomy']; + $searchable_types = $search_content = $this->config->get('plugins.simplesearch.searchable_types'); $results = true; $search_content = $this->config->get('plugins.simplesearch.search_content'); diff --git a/simplesearch.yaml b/simplesearch.yaml index 794d3fc..88dae98 100644 --- a/simplesearch.yaml +++ b/simplesearch.yaml @@ -13,3 +13,7 @@ ignore_accented_characters: false order: by: date dir: desc +searchable_types: + - title + - content + - taxonomy \ No newline at end of file From 69d011f419529e10df9b5a52d2c4a3b1bd714c11 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Wed, 13 May 2020 16:26:12 -0600 Subject: [PATCH 08/10] added gl lang --- languages.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/languages.yaml b/languages.yaml index 516ff21..4ad4382 100644 --- a/languages.yaml +++ b/languages.yaml @@ -213,3 +213,10 @@ pl: SEARCH_RESULTS_SUMMARY_SINGULAR: "Znaleziono jeden wynik dla frazy %s." SEARCH_RESULTS_SUMMARY_PLURAL: "Znaleziono %2$s wyników dla frazy %1$s." SEARCH_FIELD_MINIMUM_CHARACTERS: "Fraza musi składać się z minimum %s znaków." + +gl: + PLUGIN_SIMPLESEARCH: + SEARCH_PLACEHOLDER: "Procurar …" + SEARCH_RESULTS: "Resultados da procura" + SEARCH_RESULTS_SUMMARY_SINGULAR: "Consulta: %s atopouse 1 resultado" + SEARCH_RESULTS_SUMMARY_PLURAL: "Consulta: %s atopáronse %s resultados" \ No newline at end of file From cb6c6c0d4da3a67279daa550fab35d078ed50aae Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Wed, 13 May 2020 16:41:09 -0600 Subject: [PATCH 09/10] Changed searchable types logic to fit better with checkboxes --- blueprints.yaml | 9 +++++++++ languages.yaml | 1 + simplesearch.php | 8 ++++---- simplesearch.yaml | 6 +++--- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/blueprints.yaml b/blueprints.yaml index 9f1f6fb..f6d65f3 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -100,6 +100,15 @@ form: help: PLUGIN_SIMPLESEARCH.SEARCH_PAGE_ROUTE_HELP default: /random + searchable_types: + type: checkboxes + label: PLUGIN_SIMPLESEARCH.SEARCHABLE_TYPES + options: + title: Title + content: Content + taxonomy: Taxonomy + use: keys + template: type: text size: medium diff --git a/languages.yaml b/languages.yaml index 4ad4382..3dad841 100644 --- a/languages.yaml +++ b/languages.yaml @@ -27,6 +27,7 @@ en: FILTER_COMBINATOR: 'Filter Combinator' AND_COMBINATOR: 'And - Boolean &&' OR_COMBINATOR: 'Or - Boolean ||' + SEARCHABLE_TYPES: "Searchable Types" ro: PLUGIN_SIMPLESEARCH: diff --git a/simplesearch.php b/simplesearch.php index 8ccb8c9..880b2bf 100644 --- a/simplesearch.php +++ b/simplesearch.php @@ -314,10 +314,10 @@ private function notFound($query, $page, $taxonomies) $results = true; $search_content = $this->config->get('plugins.simplesearch.search_content'); - foreach ($searchable_types as $type) { - if ($type === 'title') { + foreach ($searchable_types as $type => $enabled) { + if ($type === 'title' && $enabled) { $result = $this->matchText(strip_tags($page->title()), $query) === false; - } elseif ($type === 'taxonomy') { + } elseif ($type === 'taxonomy' && $enabled) { if ($taxonomies === false) { continue; } @@ -336,7 +336,7 @@ private function notFound($query, $page, $taxonomies) } } $result = !$taxonomy_match; - } else { + } elseif ($type === 'content' && $enabled) { if ($search_content == 'raw') { $content = $page->rawMarkdown(); } else { diff --git a/simplesearch.yaml b/simplesearch.yaml index 88dae98..d8ef759 100644 --- a/simplesearch.yaml +++ b/simplesearch.yaml @@ -14,6 +14,6 @@ order: by: date dir: desc searchable_types: - - title - - content - - taxonomy \ No newline at end of file + title: true + content: true + taxonomy: true \ No newline at end of file From f895a2aaf5f14a436e5a63cbbfcab768cef2d3d6 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Wed, 13 May 2020 16:47:21 -0600 Subject: [PATCH 10/10] prepare for release --- CHANGELOG.md | 15 +++++++++++++++ blueprints.yaml | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70d5914..b508e97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +# v2.0.0 +## 05/13/2020 + +1. [](#new) + * Allow searching the content of modular pages [#170](https://github.com/getgrav/grav-plugin-simplesearch/pull/170) + * Allow configuration of Title/Content/Taxononmy searchable types [#184](https://github.com/getgrav/grav-plugin-simplesearch/pull/184) +1. [](#improved) + * Improved default vs custom search page functionality [#186](https://github.com/getgrav/grav-plugin-simplesearch/pull/186) + * Add field label for screen reader accessibility [#171](https://github.com/getgrav/grav-plugin-simplesearch/pull/171) + * Added Traditional Chinese [#169](https://github.com/getgrav/grav-plugin-simplesearch/pull/169) + * Updated Russian and English [#165](https://github.com/getgrav/grav-plugin-simplesearch/pull/165) + * Added Galacian [#155](https://github.com/getgrav/grav-plugin-simplesearch/pull/155) +1. [](#bugfix) + * Fixed input attribute [#165](https://github.com/getgrav/grav-plugin-simplesearch/pull/165) + # v1.14.2 ## 12/07/2018 diff --git a/blueprints.yaml b/blueprints.yaml index f6d65f3..74a787f 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -1,5 +1,5 @@ name: SimpleSearch -version: 1.14.2 +version: 2.0.0 description: "Don't be fooled, the **SimpleSearch** plugin provides a **fast** and highly **configurable** way to search your content." icon: search author: