diff --git a/docs/configuration.md b/docs/configuration.md index cabc454..1e07bf2 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -725,7 +725,9 @@ Preview: | Ctrl + Enter | Perform search in a new tab | Search input is focused and not empty | | Escape | Leave focus | Search input is focused | -If property `new-tab` is set to `true`, keys Enter and Ctrl + Enter will be switched. +> [!TIP] +> +> You can use the property `new-tab` with a value of `true` if you want to show search results in a new tab by default. Ctrl + Enter will then show results in the same tab. #### Properties | Name | Type | Required | Default | @@ -742,6 +744,9 @@ Either a value from the table below or a URL to a custom search engine. Use `{QU | duckduckgo | `https://duckduckgo.com/?q={QUERY}` | | google | `https://www.google.com/search?q={QUERY}` | +##### `new-tab` +When set to `true`, swaps the shortcuts for showing results in the same or new tab, defaulting to showing results in a new tab. + ##### `bangs` What now? [Bangs](https://duckduckgo.com/bangs). They're shortcuts that allow you to use the same search box for many different sites. Assuming you have it configured, if for example you start your search input with `!yt` you'd be able to perform a search on YouTube: diff --git a/internal/assets/static/main.css b/internal/assets/static/main.css index fd76035..62b4480 100644 --- a/internal/assets/static/main.css +++ b/internal/assets/static/main.css @@ -370,10 +370,6 @@ kbd:active { box-shadow: 0 0 0 0 var(--color-widget-background-highlight); } -new-tab { - display: none; -} - .content-bounds { max-width: 1600px; margin-inline: auto; diff --git a/internal/assets/static/main.js b/internal/assets/static/main.js index d38db77..fb86b02 100644 --- a/internal/assets/static/main.js +++ b/internal/assets/static/main.js @@ -107,7 +107,7 @@ function updateRelativeTimeForElements(elements) } } -function setupSearchboxes() { +function setupSearchBoxes() { const searchWidgets = document.getElementsByClassName("search"); if (searchWidgets.length == 0) { @@ -117,10 +117,10 @@ function setupSearchboxes() { for (let i = 0; i < searchWidgets.length; i++) { const widget = searchWidgets[i]; const defaultSearchUrl = widget.dataset.defaultSearchUrl; + const newTab = widget.dataset.newTab === "true"; const inputElement = widget.getElementsByClassName("search-input")[0]; const bangElement = widget.getElementsByClassName("search-bang")[0]; const bangs = widget.querySelectorAll(".search-bangs > input"); - const newTab = widget.getElementsByTagName("new-tab")[0].innerHTML === "true"; const bangsMap = {}; const kbdElement = widget.getElementsByTagName("kbd")[0]; let currentBang = null; @@ -552,7 +552,7 @@ async function setupPage() { try { setupClocks() setupCarousels(); - setupSearchboxes(); + setupSearchBoxes(); setupCollapsibleLists(); setupCollapsibleGrids(); setupDynamicRelativeTime(); diff --git a/internal/assets/templates/search.html b/internal/assets/templates/search.html index 998e133..1b507cb 100644 --- a/internal/assets/templates/search.html +++ b/internal/assets/templates/search.html @@ -3,7 +3,7 @@ {{ define "widget-content-classes" }}widget-content-frameless{{ end }} {{ define "widget-content" }} -