mirror of
https://github.com/searxng/searxng.git
synced 2026-07-17 21:41:24 +00:00
Compare commits
2 Commits
cae07b9bf8
...
4a8d333d5b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a8d333d5b | ||
|
|
a7537a6935 |
@@ -21,6 +21,7 @@
|
||||
simple_style: auto
|
||||
search_on_category_select: true
|
||||
hotkeys: default
|
||||
url_formatting: pretty
|
||||
|
||||
.. _static_use_hash:
|
||||
|
||||
@@ -68,3 +69,6 @@
|
||||
|
||||
``hotkeys``:
|
||||
Hotkeys to use in the search interface: ``default``, ``vim`` (Vim-like).
|
||||
|
||||
``url_formatting``:
|
||||
Formatting type to use for result URLs: ``pretty``, ``full`` or ``host``.
|
||||
|
||||
@@ -472,6 +472,10 @@ class Preferences:
|
||||
settings['ui']['hotkeys'],
|
||||
choices=['default', 'vim']
|
||||
),
|
||||
'url_formatting': EnumStringSetting(
|
||||
settings['ui']['url_formatting'],
|
||||
choices=['pretty', 'full', 'host']
|
||||
),
|
||||
# fmt: on
|
||||
}
|
||||
|
||||
|
||||
@@ -145,6 +145,8 @@ ui:
|
||||
search_on_category_select: true
|
||||
# Hotkeys: default or vim
|
||||
hotkeys: default
|
||||
# URL formatting: pretty, full or host
|
||||
url_formatting: pretty
|
||||
|
||||
# Lock arbitrary settings on the preferences page. To find the ID of the user
|
||||
# setting you want to lock, check the ID of the form on the page "preferences".
|
||||
|
||||
@@ -205,6 +205,7 @@ SCHEMA = {
|
||||
'cache_url': SettingsValue(str, 'https://web.archive.org/web/'),
|
||||
'search_on_category_select': SettingsValue(bool, True),
|
||||
'hotkeys': SettingsValue(('default', 'vim'), 'default'),
|
||||
'url_formatting': SettingsValue(('pretty', 'full', 'host'), 'pretty'),
|
||||
},
|
||||
'preferences': {
|
||||
'lock': SettingsValue(list, []),
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -254,6 +254,10 @@ article[data-vim-selected].category-social {
|
||||
white-space: nowrap;
|
||||
flex-shrink: 1;
|
||||
padding-bottom: 1px;
|
||||
|
||||
.url_i1 {
|
||||
unicode-bidi: plaintext;
|
||||
}
|
||||
}
|
||||
|
||||
.url_o1::after {
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
{%- include 'simple/preferences/search_on_category_select.html' -%}
|
||||
{%- endif -%}
|
||||
{%- include 'simple/preferences/hotkeys.html' -%}
|
||||
{%- include 'simple/preferences/urlformatting.html' -%}
|
||||
{{- plugin_preferences('ui') -}}
|
||||
{{- tab_footer() -}}
|
||||
|
||||
|
||||
25
searx/templates/simple/preferences/urlformatting.html
Normal file
25
searx/templates/simple/preferences/urlformatting.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<fieldset>{{- '' -}}
|
||||
<legend id="pref_url_formatting">{{- _('URL formatting') -}}</legend>{{- '' -}}
|
||||
<div class="value">{{- '' -}}
|
||||
<select name="url_formatting" aria-labelledby="pref_url_formatting">{{- '' -}}
|
||||
<option value="pretty"
|
||||
{%- if preferences.get_value('url_formatting') == 'pretty' %} selected="selected"
|
||||
{%- endif -%}>
|
||||
{{- _('Pretty') -}}
|
||||
</option>{{- '' -}}
|
||||
<option value="full"
|
||||
{%- if preferences.get_value('url_formatting') == 'full' %} selected="selected"
|
||||
{%- endif -%}>
|
||||
{{- _('Full') -}}
|
||||
</option>{{- '' -}}
|
||||
<option value="host"
|
||||
{%- if preferences.get_value('url_formatting') == 'host' %} selected="selected"
|
||||
{%- endif -%}>
|
||||
{{- _('Host') -}}
|
||||
</option>{{- '' -}}
|
||||
</select>{{- '' -}}
|
||||
</div>{{- '' -}}
|
||||
<div class="description">
|
||||
{{- _('Change result URL formatting') -}}
|
||||
</div>{{- '' -}}
|
||||
</fieldset>{{- '' -}}
|
||||
@@ -340,6 +340,14 @@ def get_enabled_categories(category_names: Iterable[str]):
|
||||
|
||||
|
||||
def get_pretty_url(parsed_url: urllib.parse.ParseResult):
|
||||
url_formatting_pref = request.preferences.get_value('url_formatting')
|
||||
|
||||
if url_formatting_pref == 'full':
|
||||
return [parsed_url.geturl()]
|
||||
|
||||
if url_formatting_pref == 'host':
|
||||
return [parsed_url.netloc]
|
||||
|
||||
path = parsed_url.path
|
||||
path = path[:-1] if len(path) > 0 and path[-1] == '/' else path
|
||||
path = unquote(path.replace("/", " › "))
|
||||
@@ -356,6 +364,7 @@ def get_client_settings():
|
||||
'translations': get_translations(),
|
||||
'search_on_category_select': req_pref.get_value('search_on_category_select'),
|
||||
'hotkeys': req_pref.get_value('hotkeys'),
|
||||
'url_formatting': req_pref.get_value('url_formatting'),
|
||||
'theme_static_path': custom_url_for('static', filename='themes/simple'),
|
||||
}
|
||||
|
||||
@@ -385,6 +394,7 @@ def render(template_name: str, **kwargs):
|
||||
kwargs['infinite_scroll'] = request.preferences.get_value('infinite_scroll')
|
||||
kwargs['search_on_category_select'] = request.preferences.get_value('search_on_category_select')
|
||||
kwargs['hotkeys'] = request.preferences.get_value('hotkeys')
|
||||
kwargs['url_formatting'] = request.preferences.get_value('url_formatting')
|
||||
kwargs['results_on_new_tab'] = request.preferences.get_value('results_on_new_tab')
|
||||
kwargs['advanced_search'] = request.preferences.get_value('advanced_search')
|
||||
kwargs['query_in_title'] = request.preferences.get_value('query_in_title')
|
||||
|
||||
Reference in New Issue
Block a user