Commit Graph

362 Commits

Author SHA1 Message Date
Alexandre Flament e6c3000909 [build] /static 2022-06-18 08:58:06 +02:00
Alexandre Flament 8a85d1b0c7 Theme: add a preference to center the results (Oscar) (2nd edition)
related to
* #1169
* #1281
* #1286
2022-06-18 08:54:24 +02:00
Markus Heiser 1a361e6635 [build] /static 2022-06-14 15:14:33 +02:00
Markus Heiser 882282d0e9 [fix] keyboard.js - highlightResult: don't steal focus on click event
For keyboard navigation the highlightResult() function in keyboard.js steals the
focus.  On a mouse click event (non keyboard action) the focus should resist
where it is, otherwise a marked region gets lost.  This is the reason why text
can't be selected when using simple theme with JS enabled.

Closes: https://github.com/searxng/searxng/issues/794
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-06-14 15:14:19 +02:00
Alexandre Flament 3ade7ffc26 [build] /static 2022-06-13 21:38:07 +02:00
Alexandre Flament fe1683c9c6 UX fix: when the user clicks on the search input, don't move the cursor at the end
Related to https://github.com/searxng/searxng/pull/1153#issuecomment-1154247988
2022-06-13 21:35:14 +02:00
Alexandre Flament 06217ef184 [build] /static 2022-06-05 23:06:19 +02:00
Alexandre Flament 9723cef99a Revert "Theme: add a preference to center the results (Oscar)"
This reverts commit 4237f5fd50.
2022-06-05 23:03:26 +02:00
Alexandre Flament 2c62360e6e [build] /static 2022-06-05 20:00:11 +02:00
Alexandre Flament 4237f5fd50 Theme: add a preference to center the results (Oscar)
related to #1169
2022-06-05 19:59:49 +02:00
Alexandre FLAMENT 7e8a60fb27 [build] /static 2022-06-02 20:35:49 +00:00
Alexandre FLAMENT fbad93e808 Theme: enable autofocus of #q only on the index page and when the width > 50em
Related to #1270
2022-06-02 20:33:31 +00:00
mrpaulblack bc89bb4790 [build] /static 2022-05-11 00:03:42 +02:00
mrpaulblack 392c9c4243 [simple theme] add products.html template 2022-05-11 00:03:21 +02:00
mrpaulblack 58d4086ce1 [build] /static 2022-05-10 23:06:44 +02:00
mrpaulblack 33c0a9e410 [fix] loading of external resources in JS client toolkit 2022-05-10 22:40:46 +02:00
mrpaulblack 6b124e5120 [build] /static 2022-05-10 21:58:22 +02:00
Monty 2115f6565e [mod] simple theme: colors, autocomplete, border
* change colors, autocomplete, delete border in some places
2022-05-10 21:56:43 +02:00
Alexandre Flament 1e45dbbae9 [build] /static 2022-05-07 19:43:20 +02:00
Alexandre Flament 9b3efa6d8a theme: remove __common__ 2022-05-07 19:40:48 +02:00
Markus Heiser 8175290867 [build] /static 2022-05-07 17:58:53 +02:00
Markus Heiser 444b1e70db [mod] add setting: search.autocomplete_min
Minimun characters to type before autocompleter starts.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-05-07 17:58:30 +02:00
Markus Heiser ed2a4c8087 [mod] client_settings: pass settings from server to JS client
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-05-07 17:58:30 +02:00
Markus Heiser 3f18761adb
Revert "[build] /static" 2022-05-07 17:56:30 +02:00
Markus Heiser 0f18bfc8a5 [build] /static 2022-05-07 17:36:58 +02:00
Markus Heiser 0275f0f5ad [upd] ./manage pyenv.cmd searxng_extra/update/update_pygments.py
After each update of the pygments version, we (or github action) should [1]

1. update less files:

    ./manage pyenv.cmd searxng_extra/update/update_pygments.py

    update: static/themes/oscar/src/generated/pygments-logicodev.less
    update: static/themes/oscar/src/generated/pygments-pointhi.less
    update: static/themes/simple/src/generated/pygments.less

2. rebuild the static files of each themes:

    make static.build.commit

[1] https://github.com/searxng/searxng/pull/2#issuecomment-826958666

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-04-30 07:12:39 +02:00
dependabot[bot] 1974a85461
Bump grunt-contrib-uglify in /searx/static/themes/simple
Bumps [grunt-contrib-uglify](https://github.com/gruntjs/grunt-contrib-uglify) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/gruntjs/grunt-contrib-uglify/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-uglify/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-uglify/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: grunt-contrib-uglify
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-22 09:28:01 +00:00
Markus Heiser 50bac93363
Merge pull request #1094 from searxng/dependabot/npm_and_yarn/searx/static/themes/simple/master/grunt-1.5.2
Bump grunt from 1.4.1 to 1.5.2 in /searx/static/themes/simple
2022-04-22 11:25:12 +02:00
Markus Heiser 4ab189315b [build] /static 2022-04-19 09:37:58 +02:00
Markus Heiser 2bcd610eeb [fix] add missing result.length and result.author to simple theme
Closes: https://github.com/searxng/searxng/issues/1027
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-04-19 09:37:41 +02:00
dependabot[bot] e314cfe667
Bump grunt from 1.4.1 to 1.5.2 in /searx/static/themes/simple
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.4.1 to 1.5.2.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.4.1...v1.5.2)

---
updated-dependencies:
- dependency-name: grunt
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-15 07:11:47 +00:00
mrpaulblack 170f0081c9 [build] /static 2022-04-06 15:07:42 +02:00
mrpaulblack 169f8d9988 [simple theme] add netloc to image result articles 2022-04-06 15:07:05 +02:00
dependabot[bot] c199eadaf9 Bump grunt-contrib-uglify in /searx/static/themes/simple
Bumps [grunt-contrib-uglify](https://github.com/gruntjs/grunt-contrib-uglify) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/gruntjs/grunt-contrib-uglify/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-uglify/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-uglify/compare/v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: grunt-contrib-uglify
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 11:18:29 +02:00
Monty a5b013be4f [build] /static 2022-03-28 21:29:46 +02:00
Monty c09ce4d0f2 Fix answer box bug
Fix bug of too long words.
2022-03-28 21:29:13 +02:00
mrpaulblack fb5169c839 [build] /static 2022-03-25 13:11:38 +01:00
mrpaulblack d8d42c8541 [fix] revert changes from #997
* in #997 there was a bug introduced: #1002
-> for now we just revert the change to make the image detail modal usable again
2022-03-25 13:08:17 +01:00
mrpaulblack 4ba9f98209 [build] /static 2022-03-24 22:25:14 +01:00
Monty 47dcf876ff [simple theme] refactor search form
* update search input form params; inspiried by whoogle
* remove autofocus from result page input form (JS impl. as well as input param)
-> autofocus on landing page still works only on desktop and tablet with JS impl.
* update landing page margins on mobile
* rework border and radius for search form to 0.8rem and outline
* remove positioning from autocomplete JS lib and use CSS impl.
* match search box and autocomplete width
* rework search form to a google like design on mobile
* fix settings icon display withg RTL on mobile on result page when search input is empty
2022-03-24 22:22:45 +01:00
Markus Heiser 11b2724b29 [build] /static 2022-03-20 19:32:59 +01:00
Markus Heiser 022479d4c2 [fix] Text can't be selected when using simple theme with JS enabled
Closes: https://github.com/searxng/searxng/issues/794
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-20 19:32:40 +01:00
Alexandre Flament 6eae697c73 simple theme: upgrade some of dependencies
* less-plugin-clean-css: no updated version.
  @wikipedia/less-plugin-clean-css might be an alternative.

* stylelint & stylelint-config-standard
  the new versions require configuration and source code changes
2022-03-20 18:10:24 +01:00
Alexandre Flament 2366345429 [build] /static 2022-03-19 20:51:51 +01:00
Alexandre Flament 84340f56ec simple theme: JS version: the reset button clear the text
The <input type="reset"> introduced in the PR 894, restores the default value.
It works in the index page, but it doesn't work in the /search page:
the reset button restore the initial query.

This PR:
* fix the JS version: the reset button clear the text
* keep the clear button in the / page
* hide the clear button in the /search page
2022-03-19 20:49:37 +01:00
mrpaulblack f428dea87c [build] /static 2022-03-19 18:02:33 +01:00
mrpaulblack 3620d006a4 [fix] naming of id for prefs in css 2022-03-19 18:02:10 +01:00
mrpaulblack a1776ff57d [build] /static 2022-03-16 21:01:42 +01:00
mrpaulblack 6a8e168e25 [simple theme] use default font and font-size in info page 2022-03-16 21:01:22 +01:00
Markus Heiser 8d83e4aeff [build] /static 2022-03-12 11:36:31 +01:00
Markus Heiser 3633dc5611 [simple] add CSS for /info pages
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-12 11:36:31 +01:00
Alexandre FLAMENT 041446d12a [build] /static 2022-03-04 08:28:58 +00:00
Alexandre FLAMENT 8ffbaa086a [simple] switch to the tablet layout at 79.75em
The previous value was 80em (1280px).
Some desktop screens have this resolution,
and tablet layout takes too much space in this configuration

This PR switch to the table layout for screen width strictly below 1280px.

Close https://github.com/searxng/searxng/issues/874
2022-03-04 08:26:02 +00:00
Alexandre FLAMENT 28bccda78a [build] /static 2022-03-02 18:56:37 +00:00
Alexandre Flament 3d9e48b84e [simple] checkboxes can get the focusable
Do note that checkboxes in the engine tab are displayed reversed.
See: 3408d061aa/searx/templates/simple/preferences.html (L313)
A checkbox for an engine is checked when the engine is disabled.
2022-03-02 18:56:08 +00:00
Alexandre Flament 2e1d4fac5d [build] /static 2022-02-27 19:49:44 +01:00
Alexandre Flament 56bb1443c4 [fix] simple: display "Click on the magnifier..." only the mouse over the categories 2022-02-27 19:48:21 +01:00
Alexandre Flament e435806505 [fix] simple: detect touch screen using media query
related to https://github.com/searxng/searxng/issues/928
2022-02-27 19:26:52 +01:00
mrpaulblack e2a5dddf8e [build] /static 2022-02-26 22:32:28 +01:00
mrpaulblack 21e3c40516 [simple theme] replace Image_layout.js with flexbox CS impl.
* drop image_layout.js from simple theme
* move image_layout.js to oscar theme and delete common js dir (since its empty now)
* align top position of image detail modal with bottom position of search header
* use flexbox to display images; row height can be set via @results-image-row-height in defenitions.less
* display span title underneath each image with a max width of 12rem
* increase margin and padding around image article on desktop and tablet
* make article height smaller on phone layout (height of 6rem) to display more content on current view
* remove content from result, if the title and content matches
* use a group that cotains the flex image article, if images are mixed with other categories
* fix pylint issues in webapp.py
* use the default.html result template in unit tests (thanks @return42)
2022-02-26 22:31:47 +01:00
Monty 6d03fa002f [build] /static 2022-02-26 10:07:07 +01:00
Monty b850178d26 Search filters changes
Better search filters view on mobile.
2022-02-26 10:05:23 +01:00
Markus Heiser 96ac99b1f6 [build] /static 2022-02-21 22:16:24 +01:00
Markus Heiser bded1ee280 [fix] genius: add player an avoid exceptional programming
Add player:

- The players are just playing 30sec from the title.  Some of the player will be
  blocked because of a cross-origin request and some players will link to apple
  when you press the play button.

Avoid exceptions and (and BTW improve results)

-  ERROR   searx.engines.genius          : list index out of range

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-21 22:12:07 +01:00
Alexandre Flament 1832ec742a [build] /static 2022-02-20 22:58:51 +01:00
Alexandre Flament 56e34947a6 [mod] infinite_scroll as preference
* oscar theme: code from searx/plugins/infinite_scroll.py
* simple theme: new implementation

Co-authored-by: Markus Heiser <markus.heiser@darmarIT.de>
2022-02-20 22:58:51 +01:00
Markus Heiser efd81f9266 [build] /static 2022-02-19 15:13:09 +01:00
Markus Heiser 16d05ca285 [mod] simple theme: define a '.show-content-button'
With LESS function '.show-content-button' all the *Show-Media* links becomes
bottons.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-19 15:12:50 +01:00
Markus Heiser fa3cd7a696 [build] /static 2022-02-18 22:46:51 +01:00
Markus Heiser 05c105b837 [fix] bandcamp: fix itemtype (album|track) and exceptions
BTW: polish implementation and show tracklist for albums

Closes: https://github.com/searxng/searxng/issues/883
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 22:44:43 +01:00
Markus Heiser 761885682d [build] /static 2022-02-18 19:00:51 +01:00
Markus Heiser 8acf540f0e [mod] simple theme: set height of embedded content (iframe)
This commit sets appropriate height of the (embedded) player from:

- soundcloud
- mixcloud
- deezer

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:51 +01:00
Markus Heiser f5e8cfade2 [fix] simple theme: support browsers which do not have aspect-ratio
Suggested-by: @dalf https://github.com/searxng/searxng/pull/882#discussion_r805187303
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:02 +01:00
Markus Heiser 98cab4cf75 [mod] result_templates/default.html replace embedded HTML by data_src audio_src
Embedded HTML breaks SearXNG architecture.  To modularize, HTML is generated in
the templates (oscar & simple) and result parameter 'embedded' is replaced by
'data_src' (and 'audio_src'), an URL for embedded content (<iframe>).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Markus Heiser 46e131fdad [mod] result_templates/videos.html: replace embedded HTML by data_src
Embedded HTML breaks SearXNG architecture.  To modularize, HTML is generated in
the templates (oscar & simple) and result parameter 'embedded' is replaced by
'data_src', an URL for embedded content (<iframe>).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Alexandre Flament bf987bb608
Merge pull request #848 from not-my-profile/help-route
Introduce `/help` route
2022-02-05 08:52:19 +01:00
dependabot[bot] 6eee2d8771
Bump sharp from 0.29.3 to 0.30.0 in /searx/static/themes/simple
Bumps [sharp](https://github.com/lovell/sharp) from 0.29.3 to 0.30.0.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Changelog](https://github.com/lovell/sharp/blob/main/docs/changelog.md)
- [Commits](https://github.com/lovell/sharp/compare/v0.29.3...v0.30.0)

---
updated-dependencies:
- dependency-name: sharp
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-04 07:10:14 +00:00
Martin Fischer 0f7bcd17b2 [build] /static 2022-02-01 06:29:19 +01:00
Martin Fischer 5012d06e72 [simple] allow .tabs to be used for help pages 2022-02-01 06:28:26 +01:00
Martin Fischer e931590312 [build] /static 2022-02-01 06:22:44 +01:00
Martin Fischer b6200563ba [simple] improve margin of #linkto_preferences
Co-authored-by: Paul Braeuning <paul@paulgo.io>
2022-02-01 06:22:29 +01:00
Martin Fischer 79dbbd4d99 [build] /static 2022-01-30 17:29:21 +01:00
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
Monty 91ca5d1613 Changed preferences icon to settings icon in gruntfile 2022-01-22 17:14:19 +01: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
Alexandre Flament 468619abcb [build] /static 2022-01-16 18:52:46 +01:00
Alexandre Flament d000288ad0 [enh] simple theme: RTL support
* mirror all inline SVGs so that direction SVGs display correctly on RTL
* set the bold list element in info box to RTL so the colon gets displayed on the right side
* set correct .ltr function for the left border on the search button in #q
* move text to the right in autocomplete
* move search form in lign with result article on RTL
* add the correct padding for img thumbnails in categories like music on RTL
* apply RTL to result table for map results
* align text in tables part of /preferences on RTL
* move burger menu on index page to the left on RTL
* fix positioning of drop down arrow on select boxes on RTL
* align result URL on the right (written LTR)
* align vim hotkeys help on the left since it is not translated
* image detail:
  * labels (author, format, URL, etc...) are written on the right,
    values are on the left.
  * URL are written LTR and overflow on the right
2022-01-16 18:51:11 +01:00
Alexandre Flament 2084d7b1ed [mod] simple theme: change stylelint configuration
* disable declaration-empty-line-before
  https://stylelint.io/user-guide/rules/list/declaration-empty-line-before/
  this change allows to mix CSS declarations and LESS mixins without empty lines:

  #something {
    display: flex;
    .ltr-left(60rem); // no mandatory empty line before this one
  }

* disable no-invalid-position-at-import-rule
  https://stylelint.io/user-guide/rules/list/no-invalid-position-at-import-rule/

  this change allows to declare some mixins and then import another .less file:
  for example:

  .ltr-left(@offset) {
    left: @offset;
  }
  @import "style.less";
2022-01-16 18:50:19 +01:00
Markus Heiser 580815a9a5 [fix] stop less grunt runner on missing files
The less grunt runner silently ignore missing files and continue with the build[1]::

    Running "less:production" (less) task
    >> Destination css/searxng.min.css not written because no source files were found.
    >> 1 stylesheet created.
    >> 1 sourcemap created.

Add filter function that calls grunt.fail() if the scr file does not exists.

[1] https://github.com/searxng/searxng/pull/750#discussion_r784357031
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-14 13:16:24 +01:00
Markus Heiser 3457408285 [build] /static 2022-01-10 17:42:13 +01:00
Markus Heiser 85159ad307 [fix] autocomple.js: register li.onmousedown instead li.onclick
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-10 17:30:57 +01:00
Markus Heiser c956ed6c43 [build] /static 2022-01-07 08:36:32 +01:00
Markus Heiser d8db85638e make pygments.less
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-07 08:35:14 +01:00
Martin Fischer 4ac6b5d32d [build] /static 2022-01-05 11:03:44 +01:00
Martin Fischer a12cb6a807 [simple] improve styling of subcategory table headers in preferences 2022-01-05 11:03:44 +01:00
Alexandre Flament 458b7fb72d
Merge pull request #610 from return42/img-load-error
[fix] simple theme: hide the image if img load fails
2022-01-02 22:34:15 +01:00
Markus Heiser efbcaaab3b [build] /static 2021-12-31 09:14:38 +01:00