diff options
| author | Alexandre Flament <alex@al-f.net> | 2022-05-07 15:11:05 +0200 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2022-05-07 19:40:48 +0200 |
| commit | 9b3efa6d8ab46a3db62f42624d7e9f4b55fdd0ef (patch) | |
| tree | 554ff67c6b84531b2a6f99505cc954395d730024 /searx/static | |
| parent | 6db568bf69b7145451ff90e14da0e49fb5b6269b (diff) | |
theme: remove __common__
Diffstat (limited to 'searx/static')
| -rw-r--r-- | searx/static/plugins/css/vim_hotkeys.css | 26 | ||||
| -rw-r--r-- | searx/static/plugins/js/search_on_category_select.js | 42 | ||||
| -rw-r--r-- | searx/static/plugins/js/vim_hotkeys.js | 345 | ||||
| -rw-r--r-- | searx/static/themes/__common__/less/new_issue.less | 19 | ||||
| -rw-r--r-- | searx/static/themes/__common__/less/result_templates.less | 5 | ||||
| -rw-r--r-- | searx/static/themes/__common__/less/stats.less | 83 | ||||
| -rw-r--r-- | searx/static/themes/simple/.gitattributes (renamed from searx/static/themes/.gitattributes) | 0 | ||||
| -rw-r--r-- | searx/static/themes/simple/gruntfile.js | 3 | ||||
| -rw-r--r-- | searx/static/themes/simple/src/less/new_issue.less | 21 | ||||
| -rw-r--r-- | searx/static/themes/simple/src/less/result_templates.less | 7 | ||||
| -rw-r--r-- | searx/static/themes/simple/src/less/stats.less | 77 | ||||
| -rw-r--r-- | searx/static/themes/simple/src/less/style-rtl.less | 2 | ||||
| -rw-r--r-- | searx/static/themes/simple/src/less/style.less | 6 |
13 files changed, 110 insertions, 526 deletions
diff --git a/searx/static/plugins/css/vim_hotkeys.css b/searx/static/plugins/css/vim_hotkeys.css deleted file mode 100644 index 2ccfdc1af..000000000 --- a/searx/static/plugins/css/vim_hotkeys.css +++ /dev/null @@ -1,26 +0,0 @@ -.vim-hotkeys-help { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 9999999; - overflow-y: auto; - max-height: 80%; - box-shadow: 0 0 1em; -} - -.dflex { - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ -} - -.iflex { - -webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */ - -moz-box-flex: 1; /* OLD - Firefox 19- */ - -webkit-flex: 1; /* Chrome */ - -ms-flex: 1; /* IE 10 */ - flex: 1; /* NEW, Spec - Opera 12.1, Firefox 20+ */ -} diff --git a/searx/static/plugins/js/search_on_category_select.js b/searx/static/plugins/js/search_on_category_select.js deleted file mode 100644 index d590ed127..000000000 --- a/searx/static/plugins/js/search_on_category_select.js +++ /dev/null @@ -1,42 +0,0 @@ -$(document).ready(function() { - if($('#q').length) { - $('#categories label').click(function(e) { - $('#categories input[type="checkbox"]').each(function(i, checkbox) { - $(checkbox).prop('checked', false); - }); - $(document.getElementById($(this).attr("for"))).prop('checked', true); - if($('#q').val()) { - if (getHttpRequest() == "GET") { - $('#search_form').attr('action', $('#search_form').serialize()); - } - $('#search_form').submit(); - } - return false; - }); - $('#time-range').change(function(e) { - if($('#q').val()) { - if (getHttpRequest() == "GET") { - $('#search_form').attr('action', $('#search_form').serialize()); - } - $('#search_form').submit(); - } - }); - $('#language').change(function(e) { - if($('#q').val()) { - if (getHttpRequest() == "GET") { - $('#search_form').attr('action', $('#search_form').serialize()); - } - $('#search_form').submit(); - } - }); - } -}); - -function getHttpRequest() { - httpRequest = "POST"; - urlParams = new URLSearchParams(window.location.search); - if (urlParams.has('method')) { - httpRequest = urlParams.get('method'); - } - return httpRequest; -} diff --git a/searx/static/plugins/js/vim_hotkeys.js b/searx/static/plugins/js/vim_hotkeys.js deleted file mode 100644 index b0f265cb5..000000000 --- a/searx/static/plugins/js/vim_hotkeys.js +++ /dev/null @@ -1,345 +0,0 @@ -$(document).ready(function() { - highlightResult('top')(); - - $('.result').on('click', function() { - highlightResult($(this))(); - }); - - var vimKeys = { - 27: { - key: 'Escape', - fun: removeFocus, - des: 'remove focus from the focused input', - cat: 'Control' - }, - 73: { - key: 'i', - fun: searchInputFocus, - des: 'focus on the search input', - cat: 'Control' - }, - 66: { - key: 'b', - fun: scrollPage(-window.innerHeight), - des: 'scroll one page up', - cat: 'Navigation' - }, - 70: { - key: 'f', - fun: scrollPage(window.innerHeight), - des: 'scroll one page down', - cat: 'Navigation' - }, - 85: { - key: 'u', - fun: scrollPage(-window.innerHeight / 2), - des: 'scroll half a page up', - cat: 'Navigation' - }, - 68: { - key: 'd', - fun: scrollPage(window.innerHeight / 2), - des: 'scroll half a page down', - cat: 'Navigation' - }, - 71: { - key: 'g', - fun: scrollPageTo(-document.body.scrollHeight, 'top'), - des: 'scroll to the top of the page', - cat: 'Navigation' - }, - 86: { - key: 'v', - fun: scrollPageTo(document.body.scrollHeight, 'bottom'), - des: 'scroll to the bottom of the page', - cat: 'Navigation' - }, - 75: { - key: 'k', - fun: highlightResult('up'), - des: 'select previous search result', - cat: 'Results' - }, - 74: { - key: 'j', - fun: highlightResult('down'), - des: 'select next search result', - cat: 'Results' - }, - 80: { - key: 'p', - fun: pageButtonClick(0), - des: 'go to previous page', - cat: 'Results' - }, - 78: { - key: 'n', - fun: pageButtonClick(1), - des: 'go to next page', - cat: 'Results' - }, - 79: { - key: 'o', - fun: openResult(false), - des: 'open search result', - cat: 'Results' - }, - 84: { - key: 't', - fun: openResult(true), - des: 'open the result in a new tab', - cat: 'Results' - }, - 82: { - key: 'r', - fun: reloadPage, - des: 'reload page from the server', - cat: 'Control' - }, - 72: { - key: 'h', - fun: toggleHelp, - des: 'toggle help window', - cat: 'Other' - } - }; - - $(document).keydown(function(e) { - // check for modifiers so we don't break browser's hotkeys - if (vimKeys.hasOwnProperty(e.keyCode) - && !e.ctrlKey - && !e.altKey - && !e.shiftKey - && !e.metaKey) - { - if (e.keyCode === 27) { - if (e.target.tagName.toLowerCase() === 'input') { - vimKeys[e.keyCode].fun(); - } - } else { - if (e.target === document.body) { - e.preventDefault(); - vimKeys[e.keyCode].fun(); - } - } - } - }); - - function nextResult(current, direction) { - var next = current[direction](); - while (!next.is('.result') && next.length !== 0) { - next = next[direction](); - } - return next - } - - function highlightResult(which) { - return function() { - var current = $('.result[data-vim-selected]'); - if (current.length === 0) { - current = $('.result:first'); - if (current.length === 0) { - return; - } - } - - var next; - - if (typeof which !== 'string') { - next = which; - } else { - switch (which) { - case 'visible': - var top = $(window).scrollTop(); - var bot = top + $(window).height(); - var results = $('.result'); - - for (var i = 0; i < results.length; i++) { - next = $(results[i]); - var etop = next.offset().top; - var ebot = etop + next.height(); - - if ((ebot <= bot) && (etop > top)) { - break; - } - } - break; - case 'down': - next = nextResult(current, 'next'); - if (next.length === 0) { - next = $('.result:first'); - } - break; - case 'up': - next = nextResult(current, 'prev'); - if (next.length === 0) { - next = $('.result:last'); - } - break; - case 'bottom': - next = $('.result:last'); - break; - case 'top': - default: - next = $('.result:first'); - } - } - - if (next) { - current.removeAttr('data-vim-selected').removeClass('well well-sm'); - next.attr('data-vim-selected', 'true').addClass('well well-sm'); - scrollPageToSelected(); - } - } - } - - function reloadPage() { - document.location.reload(false); - } - - function removeFocus() { - if (document.activeElement) { - document.activeElement.blur(); - } - } - - function pageButtonClick(num) { - return function() { - var buttons = $('div#pagination button[type="submit"]'); - if (buttons.length !== 2) { - console.log('page navigation with this theme is not supported'); - return; - } - if (num >= 0 && num < buttons.length) { - buttons[num].click(); - } else { - console.log('pageButtonClick(): invalid argument'); - } - } - } - - function scrollPageToSelected() { - var sel = $('.result[data-vim-selected]'); - if (sel.length !== 1) { - return; - } - - var wnd = $(window); - - var wtop = wnd.scrollTop(); - var etop = sel.offset().top; - - var offset = 30; - - if (wtop > etop) { - wnd.scrollTop(etop - offset); - } else { - var ebot = etop + sel.height(); - var wbot = wtop + wnd.height(); - - if (wbot < ebot) { - wnd.scrollTop(ebot - wnd.height() + offset); - } - } - } - - function scrollPage(amount) { - return function() { - window.scrollBy(0, amount); - highlightResult('visible')(); - } - } - - function scrollPageTo(position, nav) { - return function() { - window.scrollTo(0, position); - highlightResult(nav)(); - } - } - - function searchInputFocus() { - $('input#q').focus(); - } - - function openResult(newTab) { - return function() { - var link = $('.result[data-vim-selected] .result_header a'); - if (link.length) { - var url = link.attr('href'); - if (newTab) { - window.open(url); - } else { - window.location.href = url; - } - } - }; - } - - function toggleHelp() { - var helpPanel = $('#vim-hotkeys-help'); - if (helpPanel.length) { - helpPanel.toggleClass('hidden'); - return; - } - - var categories = {}; - - for (var k in vimKeys) { - var key = vimKeys[k]; - categories[key.cat] = categories[key.cat] || []; - categories[key.cat].push(key); - } - - var sorted = Object.keys(categories).sort(function(a, b) { - return categories[b].length - categories[a].length; - }); - - if (sorted.length === 0) { - return; - } - - var html = '<div id="vim-hotkeys-help" class="well vim-hotkeys-help">'; - html += '<div class="container-fluid">'; - - html += '<div class="row">'; - html += '<div class="col-sm-12">'; - html += '<h3>How to navigate searx with Vim-like hotkeys</h3>'; - html += '</div>'; // col-sm-12 - html += '</div>'; // row - - for (var i = 0; i < sorted.length; i++) { - var cat = categories[sorted[i]]; - - var lastCategory = i === (sorted.length - 1); - var first = i % 2 === 0; - - if (first) { - html += '<div class="row dflex">'; - } - html += '<div class="col-sm-' + (first && lastCategory ? 12 : 6) + ' dflex">'; - - html += '<div class="panel panel-default iflex">'; - html += '<div class="panel-heading">' + cat[0].cat + '</div>'; - html += '<div class="panel-body">'; - html += '<ul class="list-unstyled">'; - - for (var cj in cat) { - html += '<li><kbd>' + cat[cj].key + '</kbd> ' + cat[cj].des + '</li>'; - } - - html += '</ul>'; - html += '</div>'; // panel-body - html += '</div>'; // panel - html += '</div>'; // col-sm-* - - if (!first || lastCategory) { - html += '</div>'; // row - } - } - - html += '</div>'; // container-fluid - html += '</div>'; // vim-hotkeys-help - - $('body').append(html); - } -}); diff --git a/searx/static/themes/__common__/less/new_issue.less b/searx/static/themes/__common__/less/new_issue.less deleted file mode 100644 index 175bd3cec..000000000 --- a/searx/static/themes/__common__/less/new_issue.less +++ /dev/null @@ -1,19 +0,0 @@ -.github-issue-button { - display: block; - padding: 8px 16px; - font-family: sans-serif; - font-size: 16px; - color: white; - background-color: #238636 !important; /* important is needed cause to an !important in logicodev-dark */ - border: #2ea043; - border-radius: 10px !important; - box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px; -} - -.github-issue-button:hover { - background-color: #2ea043; -} - -.issue-hide { - display: none; -} diff --git a/searx/static/themes/__common__/less/result_templates.less b/searx/static/themes/__common__/less/result_templates.less deleted file mode 100644 index d67aecae4..000000000 --- a/searx/static/themes/__common__/less/result_templates.less +++ /dev/null @@ -1,5 +0,0 @@ -.osm-map-box { - height:300px; - width:100%; - margin: 10px 0; -} diff --git a/searx/static/themes/__common__/less/stats.less b/searx/static/themes/__common__/less/stats.less deleted file mode 100644 index 687d15906..000000000 --- a/searx/static/themes/__common__/less/stats.less +++ /dev/null @@ -1,83 +0,0 @@ -.engine-stats { - - .engine-name { - width: 20rem; - } - - .engine-score { - width: 7rem; - text-align: right; - } - - .result-count { - } - - .response-time { - } - - .engine-reliability { - text-align: right; - } - - table.engine-error { - max-width: 1280px; - margin: 1rem; - border: 1px solid gray; - } - - table.engine-error th.engine-error-type, - table.engine-error td.engine-error-type, - failed-test { - width: 10rem; - } - - table.engine-error span.log_parameters - { - border-right: 1px solid gray; - padding: 0 1rem 0 0; - margin: 0 0 0 0.5rem; - } -} - -.bar-chart-value { - width: 3em; - display: inline-block; - text-align: right; - padding-right: 0.5rem; -} - -.bar-chart-graph { - width: calc(100% - 5rem); - display: inline-block; -} - -.bar-chart-bar { - border: 3px solid #5bc0de; - margin: 1px 0; -} - -.bar-chart-serie1 { - border: 3px solid #5bc0de; - margin: 1px 0; - float: left; -} - -.bar-chart-serie2 { - border: 3px solid #deb15b; - margin: 1px 0; - float: left; -} - -.bar0{ - width: 0; - border: 0; -} - -.generate-bar(100); - -.generate-bar(@n, @i: 1) when (@i =< @n) { - .bar@{i} { - width: (@i * 100% / @n); - } - .generate-bar(@n, (@i + 1)); -} diff --git a/searx/static/themes/.gitattributes b/searx/static/themes/simple/.gitattributes index dc8d7a30e..dc8d7a30e 100644 --- a/searx/static/themes/.gitattributes +++ b/searx/static/themes/simple/.gitattributes diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js index 25883e384..50ea3b1d4 100644 --- a/searx/static/themes/simple/gruntfile.js +++ b/searx/static/themes/simple/gruntfile.js @@ -44,7 +44,6 @@ module.exports = function (grunt) { 'svg4web.svgo.js', 'src/js/main/*.js', 'src/js/head/*.js', - '../__common__/js/*.js' ], }, stylelint: { @@ -146,7 +145,7 @@ module.exports = function (grunt) { svgo: ['--config', 'svg4web.svgo.js'] }, files: { - '<%= _templates %>/__common__/searxng-wordmark.min.svg': '<%= _brand %>/searxng-wordmark.svg', + '<%= _templates %>/simple/searxng-wordmark.min.svg': '<%= _brand %>/searxng-wordmark.svg', 'img/searxng.svg': '<%= _brand %>/searxng.svg', 'img/img_load_error.svg': '<%= _brand %>/img_load_error.svg' } diff --git a/searx/static/themes/simple/src/less/new_issue.less b/searx/static/themes/simple/src/less/new_issue.less new file mode 100644 index 000000000..83d53b5e3 --- /dev/null +++ b/searx/static/themes/simple/src/less/new_issue.less @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +.github-issue-button { + display: block; + padding: 8px 16px; + font-family: sans-serif; + font-size: 16px; + color: white; + background-color: #238636; + border: #2ea043; + border-radius: 10px !important; + box-shadow: rgba(0, 0, 0, 0) 0 0 0 0; +} + +.github-issue-button:hover { + background-color: #2ea043; +} + +.issue-hide { + display: none; +} diff --git a/searx/static/themes/simple/src/less/result_templates.less b/searx/static/themes/simple/src/less/result_templates.less new file mode 100644 index 000000000..afabdf322 --- /dev/null +++ b/searx/static/themes/simple/src/less/result_templates.less @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +.osm-map-box { + height: 300px; + width: 100%; + margin: 10px 0; +} diff --git a/searx/static/themes/simple/src/less/stats.less b/searx/static/themes/simple/src/less/stats.less new file mode 100644 index 000000000..0e54e270c --- /dev/null +++ b/searx/static/themes/simple/src/less/stats.less @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +.engine-stats { + .engine-name { + width: 20rem; + } + + .engine-score { + width: 7rem; + text-align: right; + } + + .engine-reliability { + text-align: right; + } + + table.engine-error { + max-width: 1280px; + margin: 1rem; + border: 1px solid gray; + } + + table.engine-error th.engine-error-type, + table.engine-error td.engine-error-type, + failed-test { + width: 10rem; + } + + table.engine-error span.log_parameters { + border-right: 1px solid gray; + padding: 0 1rem 0 0; + margin: 0 0 0 0.5rem; + } +} + +.bar-chart-value { + width: 3em; + display: inline-block; + text-align: right; + padding-right: 0.5rem; +} + +.bar-chart-graph { + width: calc(100% - 5rem); + display: inline-block; +} + +.bar-chart-bar { + border: 3px solid #5bc0de; + margin: 1px 0; +} + +.bar-chart-serie1 { + border: 3px solid #5bc0de; + margin: 1px 0; + float: left; +} + +.bar-chart-serie2 { + border: 3px solid #deb15b; + margin: 1px 0; + float: left; +} + +.bar0 { + width: 0; + border: 0; +} + +.generate-bar(100); + +.generate-bar(@n, @i: 1) when (@i =< @n) { + .bar@{i} { + width: (@i * 100% / @n); + } + .generate-bar(@n, (@i + 1)); +} diff --git a/searx/static/themes/simple/src/less/style-rtl.less b/searx/static/themes/simple/src/less/style-rtl.less index bbaa48748..cf105702b 100644 --- a/searx/static/themes/simple/src/less/style-rtl.less +++ b/searx/static/themes/simple/src/less/style-rtl.less @@ -124,7 +124,7 @@ background-position-x: 100%; } -// patch of searx/static/themes/__common__/less/stats.less +// patch of stats.less .bar-chart-serie1, .bar-chart-serie2 { float: right; diff --git a/searx/static/themes/simple/src/less/style.less b/searx/static/themes/simple/src/less/style.less index 258c222a2..38fdeaa14 100644 --- a/searx/static/themes/simple/src/less/style.less +++ b/searx/static/themes/simple/src/less/style.less @@ -6,9 +6,6 @@ // stylelint-disable no-descending-specificity -@import "../../__common__/less/new_issue.less"; -@import "../../__common__/less/stats.less"; -@import "../../__common__/less/result_templates.less"; @import (inline) "../../node_modules/normalize.css/normalize.css"; @import "definitions.less"; @import "mixins.less"; @@ -19,6 +16,9 @@ @import "animations.less"; @import "embedded.less"; @import "info.less"; +@import "new_issue.less"; +@import "stats.less"; +@import "result_templates.less"; // for index.html template @import "index.less"; |