Commit Graph

3611 Commits

Author SHA1 Message Date
Martin Fischer 6f0ec7e58f [simple] introduce page_with_header.html template
Previously the preferences & stats templates contained the markup:

<a href="{{ url_for('index') }}"><h1><span>SearXNG</span></h1></a>

There are many things wrong with this:

1. the markup was duplicated

2. the CSS needed to be changed whenever a new page wanted to use this
   header (since the CSS used page-specific selectors)

3. h1 should be reserved for the actual page title
   (e.g. Preferences or Engine stats)

4. the image was set via CSS which also set:

       span { visibility: hidden; }

   which however removes the alternative text from the accessibility
   tree (meaning screen readers will ignore it).

This commit fixes all these problems.
2022-01-30 17:29:21 +01:00
Alexandre Flament 068155df88 [build] /static 2022-01-29 14:44:05 +01:00
Alexandre Flament dc4caa5a39 [fix] simple theme: /preferences: cookies table is LTR
close #827
2022-01-29 14:42:12 +01:00
Martin Fischer 6a366c9807
Merge pull request #838 from dalf/remove_deprecated_code
[mod] remove deprecate code
2022-01-29 10:13:56 +01:00
Alexandre Flament f3f61df6a0 [mod] remove deprecate code
remove code to support Python 3.5 and Python 3.6
2022-01-29 08:54:12 +01:00
Alexandre Flament 116802852d [fix] ina engine
based on a45408e8e2
2022-01-28 22:33:41 +01:00
searxng-bot 43a262497b [translations] update from Weblate
80b99072 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
32354577 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
38737f21 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
f1658c80 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
3172618b - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
5063d261 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
69df6ff6 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
51bd2e18 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
f6dea2a9 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
d6230142 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
4d07658c - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
e3798ef7 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
bc99fe05 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
2811901d - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
2022-01-28 07:16:43 +00:00
Alexandre Flament 4f82ab36a9
Merge pull request #817 from not-my-profile/pyright-01
Pyright 01
2022-01-27 23:18:41 +01:00
Léon Tiekötter 0cbf73a1f4
Allow 'using_tor_proxy' to be set for each engine individually
Check 'using_tor_proxy' for each engine individually instead of checking globally

[fix] searx.network: update _rdns test to the last httpx version

Co-authored-by: Alexandre Flament <alex@al-f.net>
2022-01-27 22:37:02 +01:00
Martin Fischer 506169f312 [pyright] remove no longer needed assertion
The pyright bug[1] for which the assertion was added has been fixed.

[1]: https://github.com/microsoft/pyright/issues/2930
2022-01-27 22:17:16 +01:00
Martin Fischer b767752d0c [pyright:basic] searx.webapp 2022-01-27 22:17:16 +01:00
Martin Fischer 640c404844 [pyright:strict] searx.search.checker.background 2022-01-27 22:07:12 +01:00
Martin Fischer 7f89adc5f3 [pyright:strict] searx.shared.shared_abstract 2022-01-27 22:07:12 +01:00
Paul Braeuning 2c6bd2adf6
Merge pull request #825 from MontyQI/ui-changes
Simple theme uppercase buttons
2022-01-26 18:09:11 +01:00
Monty f59afc8dd2 Uppercase buttons 2022-01-26 16:54:15 +01:00
Markus Heiser ccffab3a43
Merge pull request #813 from MarcAbonce/change-wolfram-category
Move WolframAlpha away from Science category
2022-01-26 14:10:19 +01:00
Markus Heiser e5f266065c
Merge pull request #824 from dalf/fix-simple-pref-checker
[fix] simple theme: don't crash when the checker is enabled
2022-01-25 23:01:31 +01:00
Alexandre Flament dfb9ca527d [fix] simple theme: don't crash when the checker is enabled
The macro "checkbox" in macros.html uses the macro "icon_small"
from icons.html

The commit imports icon_small in macros.html to fix the issue.
It works because the macros in macros.html are imported with the Jinja2 context.

See https://jinja.palletsprojects.com/en/3.0.x/templates/#import-visibility

close #819
2022-01-25 22:03:21 +01:00
Markus Heiser 10c9b9775d [mod] improve setup of invidious engine
- My experience is, that a timeout of 5 sec is not need, I got fast response
  less than a second.

- https://invidious.tube/ redirects to http://ww25.invidious.tube/
  - in SearXNG defaults the http protocol is unsafe and raise an error
  - https://ww25.invidious.tube has SSL_ERROR_UNSAFE_NEGOTIATION

Related-to: https://github.com/searxng/searxng/issues/821
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-25 19:02:11 +01:00
Alexandre Flament 81453a0eba
Merge pull request #811 from return42/enh-788
[mod] configuration to overwrite engine description
2022-01-25 06:55:12 +01:00
Alexandre Flament 576eab04d2
Merge pull request #802 from MontyQI/Icon-update
Changed preferences icon to settings icon in gruntfile
2022-01-24 22:05:55 +01:00
Marc Abonce Seguin 1311745f24 move WolframAlpha away from Science category 2022-01-23 23:24:02 -06:00
Markus Heiser e0b284e427 [mod] configuration to overwrite engine description
Engine description can be configured, this is needed e.g. by custom search
engines.  Here is an example of a command engine with a description in the about
section::

    - name: locate
      engine: command
      command: ['locate', '{{QUERY}}']
      disabled: true
      categories: files
      about:
        description: local files
        website: 'https://www.man7.org/linux/man-pages/man1/locate.1.html'
      delimiter:
          chars: ' '
          keys: ['line']

Closes: https://github.com/searxng/searxng/issues/788
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-23 20:55:14 +01:00
Alexandre Flament 61853aa0fb
Merge pull request #799 from return42/brave-complete
Add autocompleter from Brave
2022-01-23 19:23:06 +01:00
Markus Heiser e9588b70a6 [fix] brave autocompleter: charset_normalizer issues
Use httpx.Response.json() to avoid charset_normalizer issues:

DEBUG   charset_normalizer            : override steps (5) and chunk_size (512) as content does not fit (153 byte(s) given) parameters.
INFO    charset_normalizer            : ascii passed initial chaos probing. Mean measured chaos is 0.000000 %
DEBUG   charset_normalizer            : ascii should target any language(s) of ['Latin Based']
INFO    charset_normalizer            : ascii is most likely the one. Stopping the process.

[1] https://www.python-httpx.org/api/#response

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-23 17:22:13 +01:00
Markus Heiser 9c5bac4c43 [pylint] searx/autocomplete.py
Fix remarks from pylint, BTW set SPDX-License-Identifier.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-23 09:12:03 +01:00
Martin Fischer 105c5a6a98 [help] stop rendering documentation with Jinja2
To facilitate translation of the user documentation we move
the templating logic outside of the user documentation.
2022-01-23 08:01:55 +01:00
Martin Fischer 284ac8bfd8 [help] convert about.html to Markdown
To facilitate translation the new user documentation shall be written in
Markdown (which is more human-friendly than HTML and reStructuredText).
2022-01-23 08:01:55 +01:00
Martin Fischer 05149db4c1 [help] render user documentation once on startup
Currently we have two kinds of user documentation:

* the about page[1] which is written in HTML and part of the web
  application and can therefore link instance-specific pages
  (like e.g. the preferences) via Jinja variables

* the Sphinx documentation[2] which is written in reStructuredText
  and cannot link instance-specific pages since it doesn't know
  which instance the user is using

The plan is to integrate the user documentation currently in Sphinx
into the application, so that it can also link instance specific pages.
We also want to enable the user documentation to be translated.

This commit implements the first step in this endeavor (see #722).

[1]: searx/templates/__common__/about.html
[2]: docs/user/ (currently served at https://docs.searxng.org/user/)
2022-01-23 08:01:55 +01:00
Alexandre Flament 382f4f8fb0
Merge pull request #801 from dalf/fix-checker
[fix] checker: fix image fetch
2022-01-22 19:29:29 +01:00
Monty 80530befdc [build] /static 2022-01-22 17:23:43 +01:00
Monty 91ca5d1613 Changed preferences icon to settings icon in gruntfile 2022-01-22 17:14:19 +01:00
Alexandre Flament 5439dd5fb1 [fix] checker: fix image fetch
Since https://github.com/searxng/searxng/pull/354
the searx.network.stream(...) returns a tuple

This commits update the checker code according to
this function signature change.
2022-01-22 16:11:42 +01:00
Alexandre Flament f01ddd1932
Merge pull request #775 from return42/redis-4.1.1
Revert "[hotfix] interim fix to get docker-build of CI without issues"
2022-01-22 15:56:15 +01:00
Allen b8c98c4c0d [enh] Add autocompleter from Brave
Raw response example: https://search.brave.com/api/suggest?q=how%20to:%20with%20j

Headers are needed in order to get a 200 response, thus Searx user-agent is used.

Other URL param could be  '&rich=false' or  '&rich=true'.

Cherry-pick: 71786bf9cb
2022-01-21 14:39:10 +01:00
searxng-bot 9b3122a84e [translations] update from Weblate
f3f70b7d - 2022-01-20 - Genghis Khan <genghiskhan@gmx.ca>
c66d23fb - 2022-01-15 - Linerly <linerly@protonmail.com>
c2b9f7f7 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
159ec416 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
8184a23b - 2022-01-17 - lucky13820 <hello@ryanyao.design>
c4b476d4 - 2022-01-18 - Go2SheeP <allen.ccccnm@gmail.com>
eaf18ed5 - 2022-01-17 - Markus Heiser <markus.heiser@darmarit.de>
e7fec156 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
99368a91 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
a8b23af9 - 2022-01-19 - Markus Heiser <markus.heiser@darmarit.de>
7af1ba21 - 2022-01-17 - Genghis Khan <genghiskhan@gmx.ca>
0af5a3ee - 2022-01-15 - Alexandre Flament <alex@al-f.net>
a448183b - 2022-01-14 - Markus Heiser <markus.heiser@darmarit.de>
ea4f95cf - 2022-01-19 - Markus Heiser <markus.heiser@darmarit.de>
2f3e7ac9 - 2022-01-17 - Iosevka <iosevka@protonmail.com>
c28ae5a8 - 2022-01-17 - Markus Heiser <markus.heiser@darmarit.de>
b664bd3b - 2022-01-17 - Pham Nguyen <akizminet@gmail.com>
2022-01-21 07:16:40 +00:00
Martin Fischer 96a1f79c6d
Merge pull request #773 from not-my-profile/typing
More typing
2022-01-18 16:28:32 +01:00
Markus Heiser 1a0760c10a [fix] googel engine - "some results are invalids: invalid content"
Fix google issues listet in the `/stats?engine=google` and message::

    some results are invalids: invalid content

The log is::

    DEBUG   searx                         : result: invalid content: {'url': 'https://de.wikipedia.org/wiki/Foo', 'title': 'Foo - Wikipedia', 'content': None, 'engine': 'google'}
    WARNING searx.engines.google          : ErrorContext('searx/search/processors/abstract.py', 111, 'result_container.extend(self.engine_name, search_results)', None, 'some results are invalids: invalid content', ()) True

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-18 13:23:35 +01:00
Markus Heiser f0102a95c9 [fix] google engine: remove adds and fix mobile_ui selector
1. Fix issue reported in comment [1]
2. Fix XPath selector for the response of google's mobile UI, reported in
   comment [2]

[1] https://github.com/searxng/searxng/pull/777#issuecomment-1015121322
[2] https://github.com/searxng/searxng/pull/777#issuecomment-1015236238

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-18 11:05:45 +01:00
Alexandre Flament b972df255a
Merge pull request #776 from mrpaulblack/simple-ltr-vars
[simple theme] dont hardcode border radius
2022-01-18 07:56:03 +01:00
Émilien Devos 6670063e0d
Update XPath for Google engine 2022-01-17 21:49:57 +00:00
mrpaulblack 6c1a64d4b3 [build] /static 2022-01-17 22:35:22 +01:00
mrpaulblack 7a0f5e6b19 [simple theme] dynamic border radius in CSS 2022-01-17 22:35:02 +01:00
Markus Heiser e85744c254 Revert "[hotfix] interim fix to get docker-build of CI without issues"
This reverts interim fix from commit 50c4b58db and adds requirement
`redis==4.1.1`.

The interim fix was needed by Alpine images (Docker) [1] and has been fixed in
commit [2] merged with the patch series from [3].  In redis-py version 4.1.1
this pach has been released on PyPi [4].

[1] https://github.com/redis/redis-py/issues/1869
[2] https://github.com/redis/redis-py/commit/1fc1233f
[3] https://github.com/redis/redis-py/pull/1854
[4] https://github.com/redis/redis-py/issues/1880

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-17 18:03:29 +01:00
Martin Fischer 96655cbd4e [typing] add type hints to webapp.py 2022-01-17 11:42:48 +01:00
Martin Fischer 193b0efd12 [typing] add results.UnresponsiveEngine 2022-01-17 11:42:48 +01:00
Martin Fischer 0c6a09cae3 [refactor] remove never used parameter 2022-01-17 11:42:48 +01:00
Martin Fischer def62c3a47 [typing] add type hints for dictionaries 2022-01-17 11:42:48 +01:00
Martin Fischer 6d43cf7952 [typing] add optional attrs to Plugin 2022-01-17 11:42:48 +01:00
Martin Fischer fdf562bc32 [typing] add results.Timing 2022-01-17 11:42:48 +01:00