mirror of
https://github.com/searxng/searxng.git
synced 2025-02-17 02:40:03 +00:00
Merge pull request #2327 from return42/ui-pref-add-bang
[mod] in the preference page, show !bang of subgrouping categories
This commit is contained in:
commit
71bd091f6b
@ -6,49 +6,66 @@ Configured Engines
|
||||
|
||||
.. sidebar:: Further reading ..
|
||||
|
||||
- :ref:`settings categories_as_tabs`
|
||||
- :ref:`engines-dev`
|
||||
- :ref:`settings engine`
|
||||
|
||||
Explanation of the :ref:`general engine configuration` shown in the table
|
||||
:ref:`configured engines`.
|
||||
- :ref:`general engine configuration`
|
||||
|
||||
.. jinja:: searx
|
||||
|
||||
SearXNG supports {{engines | length}} search engines (of which {{enabled_engine_count}} are enabled by default).
|
||||
SearXNG supports {{engines | length}} search engines of which
|
||||
{{enabled_engine_count}} are enabled by default.
|
||||
|
||||
Engines can be assigned to multiple :ref:`categories <engine categories>`.
|
||||
The UI displays the tabs that are configured in :ref:`categories_as_tabs
|
||||
<settings categories_as_tabs>`. In addition to these UI categories (also
|
||||
called *tabs*), engines can be queried by their name or the categories they
|
||||
belong to, by using a :ref:`\!bing syntax <search-syntax>`.
|
||||
|
||||
.. contents:: Contents
|
||||
:depth: 2
|
||||
:local:
|
||||
:backlinks: entry
|
||||
|
||||
.. jinja:: searx
|
||||
|
||||
{% for category, engines in categories_as_tabs.items() %}
|
||||
|
||||
{{category}} search engines
|
||||
tab ``!{{category.replace(' ', '_')}}``
|
||||
---------------------------------------
|
||||
|
||||
{% for group, engines in engines | group_engines_in_tab %}
|
||||
{% for group, group_bang, engines in engines | group_engines_in_tab %}
|
||||
|
||||
{% if loop.length > 1 %}
|
||||
{{group}}
|
||||
{% if group_bang %}group ``{{group_bang}}``{% else %}{{group}}{% endif %}
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
{% endif %}
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 2
|
||||
:stub-columns: 1
|
||||
:widths: 10 1 10 1 1 1 1 1 1 1
|
||||
|
||||
* - :cspan:`5` Engines configured by default (in :ref:`settings.yml <engine settings>`)
|
||||
- :cspan:`3` :ref:`Supported features <engine file>`
|
||||
|
||||
* - Name
|
||||
- Shortcut
|
||||
- !bang
|
||||
- Module
|
||||
- Disabled
|
||||
- Timeout
|
||||
- Weight
|
||||
- Paging
|
||||
- Language, Region
|
||||
- Locale
|
||||
- Safe search
|
||||
- Time range
|
||||
|
||||
{% for mod in engines %}
|
||||
|
||||
* - `{{mod.name}} <{{mod.about and mod.about.website}}>`_
|
||||
{%- if mod.about and mod.about.language %}
|
||||
({{mod.about.language | upper}})
|
||||
{%- endif %}
|
||||
- ``!{{mod.shortcut}}``
|
||||
- {%- if 'searx.engines.' + mod.__name__ in documented_modules %}
|
||||
:py:mod:`~searx.engines.{{mod.__name__}}`
|
||||
@ -56,9 +73,6 @@ Explanation of the :ref:`general engine configuration` shown in the table
|
||||
:origin:`{{mod.__name__}} <searx/engines/{{mod.__name__}}.py>`
|
||||
{%- endif %}
|
||||
- {{(mod.disabled and "y") or ""}}
|
||||
{%- if mod.about and mod.about.language %}
|
||||
({{mod.about.language | upper}})
|
||||
{%- endif %}
|
||||
- {{mod.timeout}}
|
||||
- {{mod.weight or 1 }}
|
||||
{% if mod.engine_type == 'online' %}
|
||||
|
@ -30,7 +30,7 @@ nach dem Begriff **paris** gesucht.
|
||||
|
||||
## `:` Sprache auswählen
|
||||
|
||||
Um einen Sprachfilter auszuwählen, verwenden Sie das Präfix`:`. Um ein
|
||||
Um einen Sprachfilter auszuwählen, verwenden Sie das Präfix `:`. Um ein
|
||||
einfaches Beispiel zu geben:
|
||||
|
||||
- Wikipedia mit einer benutzerdefinierten Sprache durchsuchen
|
||||
|
Binary file not shown.
BIN
searx/static/themes/simple/css/searxng-rtl.min.css
vendored
BIN
searx/static/themes/simple/css/searxng-rtl.min.css
vendored
Binary file not shown.
Binary file not shown.
BIN
searx/static/themes/simple/css/searxng.min.css
vendored
BIN
searx/static/themes/simple/css/searxng.min.css
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -113,8 +113,8 @@
|
||||
--color-toolkit-engine-tooltip-background: #fff;
|
||||
--color-toolkit-loader-border: rgba(0, 0, 0, 0.2);
|
||||
--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);
|
||||
--color-doc-code: #300;
|
||||
--color-doc-code-background: #fdd;
|
||||
--color-doc-code: #003;
|
||||
--color-doc-code-background: #ddeaff;
|
||||
}
|
||||
|
||||
.dark-themes() {
|
||||
@ -225,8 +225,8 @@
|
||||
--color-toolkit-engine-tooltip-background: #222;
|
||||
--color-toolkit-loader-border: rgba(255, 255, 255, 0.2);
|
||||
--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);
|
||||
--color-doc-code: #fdd;
|
||||
--color-doc-code-background: #300;
|
||||
--color-doc-code: #ddd;
|
||||
--color-doc-code-background: #4d5a6f;
|
||||
}
|
||||
|
||||
/// Dark Theme (autoswitch based on device pref)
|
||||
|
@ -1,9 +1,10 @@
|
||||
.info-page {
|
||||
code {
|
||||
font-family: monospace;
|
||||
color: var(--color-doc-code);
|
||||
.rounded-corners-tiny;
|
||||
background-color: var(--color-doc-code-background);
|
||||
padding: 2px 5px;
|
||||
.rounded-corners(5px);
|
||||
color: var(--color-doc-code);
|
||||
padding: 0.2rem;
|
||||
border: 0 none;
|
||||
}
|
||||
}
|
||||
|
@ -72,6 +72,15 @@
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.bang {
|
||||
.ltr-text-align-left();
|
||||
.rounded-corners-tiny;
|
||||
background-color: var(--color-doc-code-background);
|
||||
color: var(--color-doc-code);
|
||||
padding: 0.2rem;
|
||||
border: 0 none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
@ -114,6 +123,10 @@
|
||||
.engine-description {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.bang {
|
||||
margin: 0.3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,8 @@
|
||||
{{ _('View error logs and submit a bug report') -}}
|
||||
</a>
|
||||
{%- endif -%}
|
||||
|
||||
<p><span class="right">{{ _("!bang for this engine") }}</span>{% for bang in [search_engine.name] + [search_engine.shortcut] %}<span class="bang"> {{ '!' + bang.replace(' ', '_') }}</span>{% endfor %}</p>
|
||||
<p><span class="right">{{ _("!bang for its categories") }}</span>{% for bang in search_engine.categories %}<span class="bang"> {{ '!' + bang.replace(' ', '_') }}</span>{% endfor %}</p>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endmacro %}
|
||||
@ -309,7 +310,7 @@
|
||||
<tr>{{- "" -}}
|
||||
<th class="engine_checkbox">{{ _("Allow") }}</th>{{- "" -}}
|
||||
<th class="name">{{ _("Engine name") }}</th>{{- "" -}}
|
||||
<th class="shortcut">{{ _("!bang") }}</th>{{- "" -}}
|
||||
<th class="shortcut">{{ _("Bang") }}</th>{{- "" -}}
|
||||
<th>{{ _("Supports selected language") }}</th>{{- "" -}}
|
||||
<th>{{ _("SafeSearch") }}</th>{{- "" -}}
|
||||
<th>{{ _("Time range") }}</th>{{- "" -}}
|
||||
@ -317,9 +318,12 @@
|
||||
<th>{{ _("Max time") }}</th>{{- "" -}}
|
||||
{%- if enable_metrics %}<th>{{ _("Reliability") }}</th>{% endif -%}
|
||||
</tr>
|
||||
{% for group, engines in engines_by_category[categ] | group_engines_in_tab %}
|
||||
{% for group, group_bang, engines in engines_by_category[categ] | group_engines_in_tab %}
|
||||
{% if loop.length > 1 %}
|
||||
<tr><th colspan="9" class="engine-group">{{_(group)}}</th></tr>
|
||||
<tr>
|
||||
<th class="engine-group" colspan="2">{{_(group)}}</th>
|
||||
<th class="engine-group" colspan="7">{% if group_bang %}<span class="bang">{{group_bang}}</span>{% endif %}</th>
|
||||
</tr>{{- "" -}}
|
||||
{% endif %}
|
||||
{% for search_engine in engines %}
|
||||
{% if not search_engine.private %}
|
||||
@ -329,13 +333,13 @@
|
||||
<th class="name" data-engine-name="{{ search_engine.name }}">{% if search_engine.enable_http %}{{ icon_big('warning', 'No HTTPS') }}{% endif -%}
|
||||
<label for="{{ engine_id }}">
|
||||
{{- search_engine.name -}}
|
||||
{%- if search_engine.about and search_engine.about.language -%}
|
||||
{%- if search_engine.about and search_engine.about.language %}
|
||||
({{search_engine.about.language | upper}})
|
||||
{%- endif -%}
|
||||
</label>
|
||||
{{- engine_about(search_engine) -}}
|
||||
</th>{{- "" -}}
|
||||
<td class="shortcut">{{ shortcuts[search_engine.name] }}</td>{{- "" -}}
|
||||
<td class="shortcut"><span class="bang">{{ '!' + shortcuts[search_engine.name] }}</span></td>{{- "" -}}
|
||||
<td>{{ checkbox(None, supports[search_engine.name]['supports_selected_language'], true) }}</td>{{- "" -}}
|
||||
<td>{{ checkbox(None, supports[search_engine.name]['safesearch'], true) }}</td>{{- "" -}}
|
||||
<td>{{ checkbox(None, supports[search_engine.name]['time_range_support'], true) }}</td>{{- "" -}}
|
||||
|
@ -242,4 +242,9 @@ def group_engines_in_tab(engines: Iterable[Engine]) -> List[Tuple[str, Iterable[
|
||||
subgroups = itertools.groupby(sorted(engines, key=get_subgroup), get_subgroup)
|
||||
sorted_groups = sorted(((name, list(engines)) for name, engines in subgroups), key=group_sort_key)
|
||||
|
||||
return [(groupname, sorted(engines, key=engine_sort_key)) for groupname, engines in sorted_groups]
|
||||
ret_val = []
|
||||
for groupname, engines in sorted_groups:
|
||||
group_bang = '!' + groupname.replace(' ', '_') if groupname != NO_SUBGROUPING else ''
|
||||
ret_val.append((groupname, group_bang, sorted(engines, key=engine_sort_key)))
|
||||
|
||||
return ret_val
|
||||
|
Loading…
Reference in New Issue
Block a user