From 6422f21572123556db80cb4e80053323391df218 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Sun, 29 Aug 2021 15:39:18 +0100 Subject: [PATCH] :memo: Adds docs for configuring web search --- README.md | 12 ++++ docs/searching.md | 164 +++++++++++++++++++++++----------------------- 2 files changed, 94 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 01f2bdbf..39738a3c 100644 --- a/README.md +++ b/README.md @@ -327,6 +327,8 @@ You can change the view from the UI, using the switch icon in the top-right corn ## Searching and Shortcuts 🔎 +> For full documentation on searching, see: [**Searching & Shortcuts**](./docs/searching.md) + Quickly finding and launching applications is the primary aim of Dashy. To that end instant search and customizable keyboard shortcuts are built-in. To start filtering, just start typing. No need to select the search bar or use any special key. You can then use either the tab key or arrow keys to select and move between results, and hit enter to launch the currently selected application. You can also use `Alt + Enter` on a selected app to launch it in a popup modal, `Ctrl + Enter` to open in new tab, or right-click on it to see all opening methods. @@ -353,6 +355,16 @@ Example: hotkey: 8 ``` +To search the web directly through Dashy, just press enter after typing your query. Options for web search are set under `appConfig.webSearch`. There is built in support for [10+ search engines](./docs/searching.md#setting-search-engine), or [use your own custom provider](./docs/searching.md#using-custom-search-engine) or self-hosted instance. +To disable web search all together, set: `webSearch: { disableWebSearch: true }` + +```yaml +appConfig: + webSearch: + searchEngine: duckduckgo + openingMethod: newtab +``` + Hit `Esc` at anytime to close any open apps, clear the search field, or hide any modals. **[⬆️ Back to Top](#dashy)** diff --git a/docs/searching.md b/docs/searching.md index 588735e1..205008f1 100644 --- a/docs/searching.md +++ b/docs/searching.md @@ -1,82 +1,82 @@ -# Keyboard Shortcuts - -## Searching -One of the primary purposes of Dashy is to allow you to quickly find and launch a given app. To make this as quick as possible, there is no need to touch the mouse, or press a certain key to begin searching - just start typing. Results will be filtered in real-time. No need to worry about case, special characters or small typos, these are taken care of, and your results should appear. - -## Navigating -You can navigate through your items or search results using the keyboard. You can use Tab to cycle through results, and Shift + Tab to go backwards. Or use the arrow keys, , , and . - -## Launching Apps -You can launch a elected app by hitting Enter. This will open the app using your default opening method, specified in `target` (either `newtab`, `sametab`, `modal` or `workspace`). You can also use Alt + Enter to open the app in a pop-up modal, or Ctrl + Enter to open it in a new tab. For all available opening methods, just right-click on an item, to bring up the context menu. - -## Tags -By default, items are filtered by the `title` attribute, as well as the hostname (extracted from `url`), the `provider` and `description`. If you need to find results based on text which isn't included in these attributes, then you can add `tags` to a given item. - -```yaml - items: - - title: Plex - description: Media library - icon: favicon - url: https://plex.lab.local - tags: [ movies, videos, music ] - - title: FreshRSS - description: RSS Reader - icon: favicon - url: https://freshrss.lab.local - tags: [ news, updates, blogs ] - -``` - -In the above example, Plex will be visible when searching for 'movies', and FreshRSS with 'news' - - -## Custom Hotkeys -For apps that you use regularly, you can set a custom keybinding. Use the `hotkey` parameter on a certain item to specify a numeric key, between `0 - 9`. You can then launch that app, by just pressing that key, which is much quicker than searching for it, if it's an app you use frequently. - -```yaml -- title: Bookstack - icon: far fa-books - url: https://bookstack.lab.local/ - hotkey: 2 -- title: Git Tea - icon: fab fa-git - url: https://git.lab.local/ - target: workspace - hotkey: 3 -``` - -In the above example, pressing 2 will launch Bookstack. Or hitting 3 will open Git in the workspace view. - -## Web Search -It's possible to search the web directly from Dashy, which might be useful if you're using Dashy as your start page. This can be done by pressing after typing your query into the search bar. Web search options are configured under `appConfig.webSearch`. - -#### Setting Search Engine -By default, DuckDuckGo is used as the search engine, but you can change this by setting `webSearch.searchEngine` to the key of your favorite search provider. Currently supported providers: -- Main: `duckduckgo`, `google`, `whoogle`, `qwant`, `startpage`, `searx-bar`, `searx-info` -- Nice: `searx-tiekoetter`, `searx-bissisoft`, `ecosia`, `metager`, `swisscows`, `mojeek`, `peekier` -- Specific: `wikipedia`, `wolframalpha`, `stackoverflow`, `github`, `reddit`, `youtube`, `bbc` - -#### Using Custom Search Engine -If you're self-hosting your own search engine (like [Whoogle](https://github.com/benbusby/whoogle-search) or [Searx](https://searx.github.io/searx/)) or you'd like to use a provider not included in this list, then just set `searchEngine: custom` and put the URL of your engine, along with the GET parameter for query string, into `customSearchEngine` - -#### Setting Opening Method -By default, results are opened in a new tab, but `sametab`, `newtab` and `workspace` are all supported - -#### Disabling Web Search -Web search can be disabled, by setting `disableWebSearch: true` - - -```yaml -appConfig: - theme: dashy-docs - webSearch: - disableWebSearch: false - searchEngine: 'duckduckgo' - customSearchEngine: '' - openingMethod: 'newtab' -``` - - -## Clearing Search -You can clear your search term at any time, by pressing Esc. -This can also be used to close an open pop-up modal. +# Keyboard Shortcuts + +## Searching +One of the primary purposes of Dashy is to allow you to quickly find and launch a given app. To make this as quick as possible, there is no need to touch the mouse, or press a certain key to begin searching - just start typing. Results will be filtered in real-time. No need to worry about case, special characters or small typos, these are taken care of, and your results should appear. + +## Navigating +You can navigate through your items or search results using the keyboard. You can use Tab to cycle through results, and Shift + Tab to go backwards. Or use the arrow keys, , , and . + +## Launching Apps +You can launch a elected app by hitting Enter. This will open the app using your default opening method, specified in `target` (either `newtab`, `sametab`, `modal` or `workspace`). You can also use Alt + Enter to open the app in a pop-up modal, or Ctrl + Enter to open it in a new tab. For all available opening methods, just right-click on an item, to bring up the context menu. + +## Tags +By default, items are filtered by the `title` attribute, as well as the hostname (extracted from `url`), the `provider` and `description`. If you need to find results based on text which isn't included in these attributes, then you can add `tags` to a given item. + +```yaml + items: + - title: Plex + description: Media library + icon: favicon + url: https://plex.lab.local + tags: [ movies, videos, music ] + - title: FreshRSS + description: RSS Reader + icon: favicon + url: https://freshrss.lab.local + tags: [ news, updates, blogs ] + +``` + +In the above example, Plex will be visible when searching for 'movies', and FreshRSS with 'news' + + +## Custom Hotkeys +For apps that you use regularly, you can set a custom keybinding. Use the `hotkey` parameter on a certain item to specify a numeric key, between `0 - 9`. You can then launch that app, by just pressing that key, which is much quicker than searching for it, if it's an app you use frequently. + +```yaml +- title: Bookstack + icon: far fa-books + url: https://bookstack.lab.local/ + hotkey: 2 +- title: Git Tea + icon: fab fa-git + url: https://git.lab.local/ + target: workspace + hotkey: 3 +``` + +In the above example, pressing 2 will launch Bookstack. Or hitting 3 will open Git in the workspace view. + +## Web Search +It's possible to search the web directly from Dashy, which might be useful if you're using Dashy as your start page. This can be done by typing your query as normal, and then pressing . Web search options are configured under `appConfig.webSearch`. + +#### Setting Search Engine +Set your default search engine using the `webSearch.searchEngine` property. This defaults to DuckDuckGo. Search engine must be referenced by their key, the following providers are supported: +- `duckduckgo`, `google`, `whoogle`, `qwant`, `startpage`, `searx-bar`, `searx-info` +- `searx-tiekoetter`, `searx-bissisoft`, `ecosia`, `metager`, `swisscows`, `mojeek`, `peekier` +- `wikipedia`, `wolframalpha`, `stackoverflow`, `github`, `reddit`, `youtube`, `bbc` + +#### Using Custom Search Engine +You can also use a custom search engine, that isn't included in the above list (like a self-hosted instance of [Whoogle](https://github.com/benbusby/whoogle-search) or [Searx](https://searx.github.io/searx/)). Set `searchEngine: custom`, and then specify the URL (plus query params) to you're search engine under `customSearchEngine`. + +For example: +```yaml +appConfig: + webSearch: + searchEngine: custom + customSearchEngine: 'https://searx.local/search?q=' +``` + +#### Setting Opening Method +In a similar way to opening apps, you can specify where you would like search results to be opened. This is done under the `openingMethod` attribute, and can be set to either `newtab`, `sametab` or `workspace`. By default results are opened in a new tab. + +#### Disabling Web Search +Web search can be disabled, by setting `disableWebSearch`, for example: + +```yaml +appConfig: + webSearch: { disableWebSearch: true } +``` + +## Clearing Search +You can clear your search term at any time, resting the UI to it's initial state, by pressing Esc. This can also be used to close any open pop-up modals.