mirror of
https://github.com/searxng/searxng.git
synced 2024-11-17 18:00:12 +01:00
[simple theme] rework select; add safesearch to search and replace / with › in article url
* rework selection UI in pref (fix based on: 78643e9f43
)
* moved search filters underneath categories
* cut params from url and replace / with ›
* make h3 and url in article bigger
* add safe search select to search filter (this will not override settings and only be valid while on result page in a session)
* make search form button not overlap each other when js is disabled
* 1rem padding around preview image and thumbnail in default article template
This commit is contained in:
parent
02cccdf876
commit
f3aff26086
@ -98,6 +98,7 @@
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
searxng.on(d.getElementById('safesearch'), 'change', submitIfQuery);
|
||||||
searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);
|
searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);
|
||||||
searxng.on(d.getElementById('language'), 'change', submitIfQuery);
|
searxng.on(d.getElementById('language'), 'change', submitIfQuery);
|
||||||
}
|
}
|
||||||
|
@ -89,11 +89,10 @@
|
|||||||
--color-toolkit-dialog-background: #fff;
|
--color-toolkit-dialog-background: #fff;
|
||||||
--color-toolkit-tabs-label-border: #fff;
|
--color-toolkit-tabs-label-border: #fff;
|
||||||
--color-toolkit-tabs-section-border: #ddd;
|
--color-toolkit-tabs-section-border: #ddd;
|
||||||
|
--color-toolkit-select-background: #f7f7f7;
|
||||||
--color-toolkit-select-border: #ddd;
|
--color-toolkit-select-border: #ddd;
|
||||||
--color-toolkit-select-border-hover: #bbb;
|
--color-toolkit-select-background-hover: #bbb;
|
||||||
--color-toolkit-input-text-font: #222;
|
--color-toolkit-input-text-font: #222;
|
||||||
--color-toolkit-input-text-border: #ddd;
|
|
||||||
--color-toolkit-input-text-border-hover: #bbb;
|
|
||||||
--color-toolkit-checkbox-onoff-background: #ddd;
|
--color-toolkit-checkbox-onoff-background: #ddd;
|
||||||
--color-toolkit-checkbox-onoff-label-background: #3050ff;
|
--color-toolkit-checkbox-onoff-label-background: #3050ff;
|
||||||
--color-toolkit-checkbox-onoff-checked-background: #aaa;
|
--color-toolkit-checkbox-onoff-checked-background: #aaa;
|
||||||
@ -162,8 +161,8 @@
|
|||||||
--color-result-link-font: #8af;
|
--color-result-link-font: #8af;
|
||||||
--color-result-link-font-highlight: #8af;
|
--color-result-link-font-highlight: #8af;
|
||||||
--color-result-link-visited-font: #96b;
|
--color-result-link-visited-font: #96b;
|
||||||
--color-result-publishdate-font: #777;
|
--color-result-publishdate-font: #888;
|
||||||
--color-result-engines-font: #777;
|
--color-result-engines-font: #888;
|
||||||
--color-result-search-url-border: #555;
|
--color-result-search-url-border: #555;
|
||||||
--color-result-search-url-font: #fff;
|
--color-result-search-url-font: #fff;
|
||||||
/// Detail modal : same as the light version
|
/// Detail modal : same as the light version
|
||||||
@ -190,11 +189,10 @@
|
|||||||
--color-toolkit-dialog-background: #222;
|
--color-toolkit-dialog-background: #222;
|
||||||
--color-toolkit-tabs-label-border: #222;
|
--color-toolkit-tabs-label-border: #222;
|
||||||
--color-toolkit-tabs-section-border: #555;
|
--color-toolkit-tabs-section-border: #555;
|
||||||
|
--color-toolkit-select-background: #3c3b31;
|
||||||
--color-toolkit-select-border: #555;
|
--color-toolkit-select-border: #555;
|
||||||
--color-toolkit-select-border-hover: #777;
|
--color-toolkit-select-background-hover: #333;
|
||||||
--color-toolkit-input-text-font: #fff;
|
--color-toolkit-input-text-font: #fff;
|
||||||
--color-toolkit-input-text-border: #555;
|
|
||||||
--color-toolkit-input-text-border-hover: #777;
|
|
||||||
--color-toolkit-checkbox-onoff-background: #3c3b31;
|
--color-toolkit-checkbox-onoff-background: #3c3b31;
|
||||||
--color-toolkit-checkbox-onoff-label-background: #58f;
|
--color-toolkit-checkbox-onoff-label-background: #58f;
|
||||||
--color-toolkit-checkbox-onoff-checked-background: #ddd;
|
--color-toolkit-checkbox-onoff-checked-background: #ddd;
|
||||||
|
@ -22,7 +22,8 @@
|
|||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
#search {
|
#search,
|
||||||
|
#search_header {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background: inherit;
|
background: inherit;
|
||||||
border: inherit;
|
border: inherit;
|
||||||
|
@ -41,13 +41,15 @@
|
|||||||
input[type="text"] {
|
input[type="text"] {
|
||||||
width: 13.25rem;
|
width: 13.25rem;
|
||||||
color: var(--color-toolkit-input-text-font);
|
color: var(--color-toolkit-input-text-font);
|
||||||
border: 1px solid var(--color-toolkit-input-text-border);
|
border: none;
|
||||||
background: none repeat scroll 0 0 var(--color-base-background);
|
background: none repeat scroll 0 0 var(--color-toolkit-select-background);
|
||||||
padding: 0.4rem;
|
padding: 0.2rem 0.4rem;
|
||||||
|
height: 2rem;
|
||||||
.rounded-corners-tiny;
|
.rounded-corners-tiny;
|
||||||
|
|
||||||
&:hover {
|
&:hover,
|
||||||
border: 1px solid var(--color-toolkit-input-text-border-hover);
|
&:focus {
|
||||||
|
background-color: var(--color-toolkit-select-background-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,6 +105,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.category {
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
|
||||||
|
label {
|
||||||
|
border: 2px solid transparent;
|
||||||
|
padding: 0.2rem 0.4rem;
|
||||||
|
.rounded-corners-tiny;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.category input[type="checkbox"]:checked + label {
|
||||||
|
border: 2px solid var(--color-categories-item-border-selected);
|
||||||
|
}
|
||||||
|
|
||||||
.name,
|
.name,
|
||||||
.shortcut {
|
.shortcut {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
@ -3,6 +3,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#search {
|
#search {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search_header {
|
||||||
padding: 1.5em 2em 0 @results-offset - 3rem;
|
padding: 1.5em 2em 0 @results-offset - 3rem;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background: var(--color-header-background);
|
background: var(--color-header-background);
|
||||||
@ -68,13 +73,10 @@
|
|||||||
grid-area: categories;
|
grid-area: categories;
|
||||||
}
|
}
|
||||||
|
|
||||||
#search_wrapper {
|
.search_box {
|
||||||
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
grid-area: search;
|
grid-area: search;
|
||||||
}
|
|
||||||
|
|
||||||
.search_box {
|
|
||||||
margin: 0 12px 0 0;
|
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@ -148,21 +150,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-js #clear_search,
|
||||||
.no-js #send_search {
|
.no-js #send_search {
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
|
border-left: 1px solid var(--color-search-border);
|
||||||
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search_filters {
|
.search_filters {
|
||||||
display: inline-block;
|
margin: 0.6rem 0 0 @results-offset + 0.6rem;
|
||||||
margin: 0.8rem 0 0 0;
|
|
||||||
|
select {
|
||||||
|
background-color: inherit;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
color: var(--color-base-font);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: @tablet) {
|
@media screen and (max-width: @tablet) {
|
||||||
#search {
|
#search_header {
|
||||||
padding: 1.5em @results-tablet-offset 0 @results-tablet-offset;
|
padding: 1.5em @results-tablet-offset 0 @results-tablet-offset;
|
||||||
column-gap: @results-tablet-offset;
|
column-gap: @results-tablet-offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.search_filters {
|
||||||
|
margin: 0.6rem 0 0 @results-tablet-offset + 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
#categories {
|
#categories {
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
clear: both;
|
clear: both;
|
||||||
@ -200,10 +217,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: @phone) {
|
@media screen and (max-width: @phone) {
|
||||||
#search {
|
#search_header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0.1em 0 0 0;
|
padding: 0.1rem 0 0 0;
|
||||||
column-gap: 0;
|
column-gap: 0;
|
||||||
row-gap: 0;
|
row-gap: 0;
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
@ -215,16 +232,9 @@
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#search_wrapper {
|
|
||||||
width: 100%;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_box {
|
.search_box {
|
||||||
// hack, should be 100% ?
|
// hack, should be 100% ?
|
||||||
width: 99%;
|
width: 99%;
|
||||||
margin: 0.1em;
|
|
||||||
padding: 0 0.1em 0 0;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
@ -240,8 +250,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.search_filters {
|
.search_filters {
|
||||||
display: block;
|
margin: 0;
|
||||||
margin: 0.8em 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.language,
|
.language,
|
||||||
@ -266,7 +275,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: @ultra-small-phone) {
|
@media screen and (max-width: @ultra-small-phone) {
|
||||||
#search {
|
#search_header {
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
"search search"
|
"search search"
|
||||||
"categories categories";
|
"categories categories";
|
||||||
|
@ -168,7 +168,7 @@ article[data-vim-selected].category-social {
|
|||||||
border-left: 0.2rem solid transparent;
|
border-left: 0.2rem solid transparent;
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 1.1em;
|
font-size: 1.2rem;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
margin: 0.4rem 0 0.4rem 0;
|
margin: 0.4rem 0 0.4rem 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -221,13 +221,39 @@ article[data-vim-selected].category-social {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.url {
|
.url_wrapper {
|
||||||
font-size: 0.96em;
|
display: flex;
|
||||||
margin: 0 0 3px 0;
|
font-size: 1rem;
|
||||||
padding: 0;
|
|
||||||
max-width: 54em;
|
|
||||||
word-wrap: break-word;
|
|
||||||
color: var(--color-result-url-font);
|
color: var(--color-result-url-font);
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
.url_o1 {
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-shrink: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.url_o1::after {
|
||||||
|
content: " ";
|
||||||
|
width: 1ch;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.url_o2 {
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-basis: content;
|
||||||
|
flex-grow: 0;
|
||||||
|
flex-shrink: 1;
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.url_i2 {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.published_date {
|
.published_date {
|
||||||
@ -238,17 +264,15 @@ article[data-vim-selected].category-social {
|
|||||||
img {
|
img {
|
||||||
&.thumbnail {
|
&.thumbnail {
|
||||||
float: left;
|
float: left;
|
||||||
padding: 0 5px 10px 0;
|
padding: 0.6rem 1rem 0 0;
|
||||||
width: 20em;
|
width: 20rem;
|
||||||
min-width: 20em;
|
|
||||||
min-height: 8em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.image {
|
&.image {
|
||||||
float: left;
|
float: left;
|
||||||
padding: 0 5px 10px 0;
|
padding: 0.6rem 1rem 0 0;
|
||||||
width: 100px;
|
width: 7rem;
|
||||||
max-height: 100px;
|
max-height: 7rem;
|
||||||
object-fit: scale-down;
|
object-fit: scale-down;
|
||||||
object-position: right top;
|
object-position: right top;
|
||||||
}
|
}
|
||||||
@ -367,7 +391,7 @@ article[data-vim-selected].category-social {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#results {
|
#results {
|
||||||
margin: 2rem 2rem 0 @results-offset;
|
margin: 1rem 2rem 0 @results-offset;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: @results-width 25rem;
|
grid-template-columns: @results-width 25rem;
|
||||||
grid-template-rows: min-content min-content 1fr min-content;
|
grid-template-rows: min-content min-content 1fr min-content;
|
||||||
@ -686,7 +710,7 @@ article[data-vim-selected].category-social {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#main_results div#results {
|
#main_results div#results {
|
||||||
margin: 2rem auto 0 auto;
|
margin: 1rem auto 0 auto;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: @results-width;
|
grid-template-columns: @results-width;
|
||||||
@ -702,7 +726,7 @@ article[data-vim-selected].category-social {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#main_results div#results.only_template_images {
|
#main_results div#results.only_template_images {
|
||||||
margin: 2rem @results-tablet-offset 0 @results-tablet-offset;
|
margin: 1rem @results-tablet-offset 0 @results-tablet-offset;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 100%;
|
grid-template-columns: 100%;
|
||||||
grid-template-rows: min-content min-content 1fr min-content min-content;
|
grid-template-rows: min-content min-content 1fr min-content min-content;
|
||||||
|
@ -296,11 +296,11 @@ html body .tabs > input:checked {
|
|||||||
|
|
||||||
/* -- select -- */
|
/* -- select -- */
|
||||||
select {
|
select {
|
||||||
height: 28px;
|
height: 2.4rem;
|
||||||
margin: 0 1em 0 0;
|
margin: 0 1rem 0 0;
|
||||||
padding: 2px 8px 2px 0 !important;
|
padding: 0.2rem !important;
|
||||||
color: var(--color-search-font);
|
color: var(--color-search-font);
|
||||||
font-size: 12px;
|
font-size: 0.9rem;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
@ -314,17 +314,20 @@ select {
|
|||||||
appearance: none;
|
appearance: none;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
-moz-appearance: none;
|
-moz-appearance: none;
|
||||||
border: none;
|
border-width: 0 2rem 0 0;
|
||||||
border-bottom: 1px solid var(--color-toolkit-select-border);
|
border-color: transparent;
|
||||||
background: data-uri('image/svg+xml;charset=UTF-8', @select-light-svg-path) no-repeat;
|
background: data-uri('image/svg+xml;charset=UTF-8', @select-light-svg-path) no-repeat;
|
||||||
background-position-x: 105%;
|
background-position-x: calc(100% + 2rem);
|
||||||
background-size: 2em;
|
background-size: 2rem;
|
||||||
background-origin: content-box;
|
background-origin: content-box;
|
||||||
|
background-color: var(--color-toolkit-select-background);
|
||||||
outline: medium none;
|
outline: medium none;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
.rounded-corners-tiny;
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
border-bottom: 1px solid var(--color-toolkit-select-border-hover);
|
background-color: var(--color-toolkit-select-background-hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
option {
|
option {
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
} -%}
|
} -%}
|
||||||
<div id="categories" class="search_categories">{{- '' -}}
|
<div id="categories" class="search_categories">{{- '' -}}
|
||||||
<div id="categories_container">
|
<div id="categories_container">
|
||||||
|
{%- if display_tooltip %}<div class="help">{{ _('Click on the magnifier to perform search') }}</div>{% endif -%}
|
||||||
{%- for category in categories -%}
|
{%- for category in categories -%}
|
||||||
<div class="category"><input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}"{% if category in selected_categories %} checked="checked"{% endif %}/>
|
<div class="category"><input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}"{% if category in selected_categories %} checked="checked"{% endif %}/>
|
||||||
<label for="checkbox_{{ category|replace(' ', '_') }}" class="tooltips">
|
<label for="checkbox_{{ category|replace(' ', '_') }}" class="tooltips">
|
||||||
@ -21,6 +22,5 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{%- if display_tooltip %}<div class="help">{{ _('Click on the magnifier to perform search') }}</div>{% endif -%}
|
|
||||||
</div>{{- '' -}}
|
</div>{{- '' -}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<select class="language" id="language" name="language" tabindex="2">{{- '' -}}
|
<select class="language" id="language" name="language" tabindex="1">{{- '' -}}
|
||||||
<option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Default language') }}</option>
|
<option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Default language') }}</option>
|
||||||
{%- for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) -%}
|
{%- for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) -%}
|
||||||
<option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>
|
<option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>
|
5
searx/templates/simple/filters/safesearch.html
Normal file
5
searx/templates/simple/filters/safesearch.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<select name="safesearch" id="safesearch" class="safesearch" tabindex="3">
|
||||||
|
<option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _("SafeSearch") + ": " + _('Strict') }}</option>
|
||||||
|
<option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _("SafeSearch") + ": " + _('Moderate') }}</option>
|
||||||
|
<option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _("SafeSearch") + ": " + _('None') }}</option>
|
||||||
|
</select>
|
@ -1,4 +1,4 @@
|
|||||||
<select name="time_range" id="time_range" class="time_range" tabindex="3">{{- '' -}}
|
<select name="time_range" id="time_range" class="time_range" tabindex="2">{{- '' -}}
|
||||||
<option id="time-range-anytime" value="" {{ "selected" if time_range=="" or not time_range else ""}}>
|
<option id="time-range-anytime" value="" {{ "selected" if time_range=="" or not time_range else ""}}>
|
||||||
{{- _('Anytime') -}}
|
{{- _('Anytime') -}}
|
||||||
</option>{{- '' -}}
|
</option>{{- '' -}}
|
@ -18,7 +18,11 @@
|
|||||||
<!-- Draw result header -->
|
<!-- Draw result header -->
|
||||||
{% macro result_header(result, favicons, image_proxify) -%}
|
{% macro result_header(result, favicons, image_proxify) -%}
|
||||||
<article class="result {% if result['template'] %}result-{{ result.template|replace('.html', '') }}{% else %}result-default{% endif %} {% if result['category'] %}category-{{ result['category'] }}{% endif %}{% for e in result.engines %} {{ e }}{% endfor %}">
|
<article class="result {% if result['template'] %}result-{{ result.template|replace('.html', '') }}{% else %}result-default{% endif %} {% if result['category'] %}category-{{ result['category'] }}{% endif %}{% for e in result.engines %} {{ e }}{% endfor %}">
|
||||||
<p class="url">{{ result_link(result.url, result.pretty_url, 'url') }}</p>
|
{{- result_open_link(result.url, "url_wrapper") -}}
|
||||||
|
{%- for part in get_pretty_url(result.parsed_url) -%}
|
||||||
|
<span class="url_o{{loop.index}}"><span class="url_i{{loop.index}}">{{- part -}}</span></span>
|
||||||
|
{%- endfor %}
|
||||||
|
{{- result_close_link() -}}
|
||||||
{%- if result.img_src %}{{ result_open_link(result.url) }}<img class="image" src="{{ image_proxify(result.img_src) }}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" class="image" />{{ result_close_link() }}{% endif -%}
|
{%- if result.img_src %}{{ result_open_link(result.url) }}<img class="image" src="{{ image_proxify(result.img_src) }}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" class="image" />{{ result_close_link() }}{% endif -%}
|
||||||
{%- if result.thumbnail %}{{ result_open_link(result.url) }}<img class="thumbnail" src="{{ image_proxify(result.thumbnail) }}" title="{{ result.title|striptags }}" alt="{{ result.title|striptags }}"/>{{ result_close_link() }}{% endif -%}
|
{%- if result.thumbnail %}{{ result_open_link(result.url) }}<img class="thumbnail" src="{{ image_proxify(result.thumbnail) }}" title="{{ result.title|striptags }}" alt="{{ result.title|striptags }}"/>{{ result_close_link() }}{% endif -%}
|
||||||
<h3>{{ result_link(result.url, result.title|safe) }}</h3>
|
<h3>{{ result_link(result.url, result.title|safe) }}</h3>
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
<form id="search" method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
|
<form id="search" method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
|
||||||
<a id="search_logo" href="{{ url_for('index') }}">
|
<div id="search_header">
|
||||||
<span hidden>SearXNG</span>
|
<a id="search_logo" href="{{ url_for('index') }}">
|
||||||
{% include '__common__/searxng-wordmark.min.svg' without context %}
|
<span hidden>SearXNG</span>
|
||||||
</a>
|
{% include '__common__/searxng-wordmark.min.svg' without context %}
|
||||||
<div id="search_wrapper">
|
</a>
|
||||||
<div class="search_box">
|
<div class="search_box">
|
||||||
<input id="q" autofocus name="q" type="text" placeholder="{{ _('Search for...') }}" tabindex="1" autocomplete="off" spellcheck="false" dir="auto" {% if q %}value="{{ q }}"{% endif %} >
|
<input id="q" autofocus name="q" type="text" placeholder="{{ _('Search for...') }}" tabindex="1" autocomplete="off" spellcheck="false" dir="auto" {% if q %}value="{{ q }}"{% endif %} >
|
||||||
<button id="clear_search" type="button" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('close') }}</span><span class="show_if_nojs">{{ _('Clear search') }}</span></button>
|
<button id="clear_search" type="button" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('close') }}</span><span class="show_if_nojs">{{ _('clear') }}</span></button>
|
||||||
<button id="send_search" type="submit" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('search-outline') }}</span><span class="show_if_nojs">{{ _('Start search') }}</span></button>
|
<button id="send_search" type="submit" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('search-outline') }}</span><span class="show_if_nojs">{{ _('search') }}</span></button>
|
||||||
</div>
|
|
||||||
<div class="search_filters">
|
|
||||||
{% include 'simple/languages.html' %}
|
|
||||||
{% include 'simple/time-range.html' %}
|
|
||||||
</div>
|
</div>
|
||||||
|
{% set display_tooltip = true %}
|
||||||
|
{% include 'simple/categories.html' %}
|
||||||
|
</div>
|
||||||
|
<div class="search_filters">
|
||||||
|
{% include 'simple/filters/languages.html' %}
|
||||||
|
{% include 'simple/filters/time_range.html' %}
|
||||||
|
{% include 'simple/filters/safesearch.html' %}
|
||||||
</div>
|
</div>
|
||||||
{% set display_tooltip = true %}
|
|
||||||
{% include 'simple/categories.html' %}
|
|
||||||
<input type="hidden" name="safesearch" value="{{ safesearch }}" >
|
|
||||||
<input type="hidden" name="theme" value="{{ theme }}" >
|
<input type="hidden" name="theme" value="{{ theme }}" >
|
||||||
{% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
|
{% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
|
||||||
</form>
|
</form>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<form id="search" method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
|
<form id="search" method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
|
||||||
<div id="search_wrapper">
|
<div id="search_header">
|
||||||
<div class="search_box">
|
<div class="search_box">
|
||||||
<input id="q" autofocus name="q" type="text" placeholder="{{ _('Search for...') }}" tabindex="1" autocomplete="off" spellcheck="false" dir="auto" {% if q %}value="{{ q }}"{% endif %} >
|
<input id="q" autofocus name="q" type="text" placeholder="{{ _('Search for...') }}" tabindex="1" autocomplete="off" spellcheck="false" dir="auto" {% if q %}value="{{ q }}"{% endif %} >
|
||||||
<button id="clear_search" type="button" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('close') }}</span><span class="show_if_nojs">{{ _('Clear search') }}</span></button>
|
<button id="clear_search" type="button" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('close') }}</span><span class="show_if_nojs">{{ _('clear') }}</span></button>
|
||||||
<button id="send_search" type="submit" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('search-outline') }}</span><span class="show_if_nojs">{{ _('Start search') }}</span></button>
|
<button id="send_search" type="submit" tabindex="-1"><span class="hide_if_nojs">{{ icon_big('search-outline') }}</span><span class="show_if_nojs">{{ _('search') }}</span></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -419,6 +419,16 @@ def _get_enable_categories(all_categories):
|
|||||||
return [x for x in all_categories if x in enabled_categories]
|
return [x for x in all_categories if x in enabled_categories]
|
||||||
|
|
||||||
|
|
||||||
|
def get_pretty_url(parsed_url):
|
||||||
|
path = parsed_url.path
|
||||||
|
path = path[:-1] if len(path) > 0 and path[-1] == '/' else path
|
||||||
|
path = path.replace("/", " › ")
|
||||||
|
return [
|
||||||
|
parsed_url.scheme + "://" + parsed_url.netloc,
|
||||||
|
path
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def render(template_name, override_theme=None, **kwargs):
|
def render(template_name, override_theme=None, **kwargs):
|
||||||
# values from the HTTP requests
|
# values from the HTTP requests
|
||||||
kwargs['endpoint'] = 'results' if 'q' in kwargs else request.endpoint
|
kwargs['endpoint'] = 'results' if 'q' in kwargs else request.endpoint
|
||||||
@ -457,6 +467,7 @@ def render(template_name, override_theme=None, **kwargs):
|
|||||||
kwargs['searx_version'] = VERSION_STRING
|
kwargs['searx_version'] = VERSION_STRING
|
||||||
kwargs['searx_git_url'] = GIT_URL
|
kwargs['searx_git_url'] = GIT_URL
|
||||||
kwargs['get_setting'] = get_setting
|
kwargs['get_setting'] = get_setting
|
||||||
|
kwargs['get_pretty_url'] = get_pretty_url
|
||||||
|
|
||||||
# helpers to create links to other pages
|
# helpers to create links to other pages
|
||||||
kwargs['url_for'] = url_for_theme # override url_for function in templates
|
kwargs['url_for'] = url_for_theme # override url_for function in templates
|
||||||
|
Loading…
Reference in New Issue
Block a user