From aa85045a7d24ccc672c33a5f83ee92caa0386596 Mon Sep 17 00:00:00 2001 From: Pydo Date: Mon, 5 Sep 2016 14:50:26 -0400 Subject: Added seedpeer unitests --- tests/unit/engines/test_seedpeer.py | 159 ++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 tests/unit/engines/test_seedpeer.py diff --git a/tests/unit/engines/test_seedpeer.py b/tests/unit/engines/test_seedpeer.py new file mode 100644 index 000000000..379282d19 --- /dev/null +++ b/tests/unit/engines/test_seedpeer.py @@ -0,0 +1,159 @@ +import mock +from collections import defaultdict +from searx.engines import seedpeer +from searx.testing import SearxTestCase +from datetime import datetime + + +class TestSeedPeerEngine(SearxTestCase): + html = """ + + + + + + + +
+

Verified Narcos season 2 torrents

+ + comments | + verified + + Torrent nameAgeSizeSeedsPeersHealth
Narcos season 2 Full Version20 hours681.3 MB28 654 Health
Narcos season 2 Trusted Source12 hours787.1 MB64 220 Health
Full Narcos season 2 Download Usenet24 hours775.5 MB60 236 Health
Narcos season 2 2014 - DIRECT STREAMING Movies17 hours654.1 MB2 391 Health
Narcos season 2 2014 Movies20 hours754.5 MB21 919 Health


Search Binaries

 2 Narcos season 2 Torrents were found

+ + comments | + verified + + Torrent nameAgeSizeSeedsPeersHealth
Add to FacebookNarcos Season 2 Complete 720p WebRip EN-SUB x264-[MULVAcoded] S02 19 hours4.39 GB715 183 Health
Add to FacebookNarcos - Season 2 - 720p WEBRiP - x265 HEVC - ShAaNiG 1 day2.48 GB861 332 Health

Related searches for: Narcos season 2


Other suggested searches:

Search for "narcos-season-2" on Torrentz2.eu
Search for "narcos-season-2" on Torrent-Finder
  
+
+ + + """ + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = seedpeer.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('seedpeer.eu', params['url']) + + def test_response_raises_attr_error_on_empty_response(self): + self.assertRaises(AttributeError, seedpeer.response, None) + self.assertRaises(AttributeError, seedpeer.response, []) + self.assertRaises(AttributeError, seedpeer.response, '') + self.assertRaises(AttributeError, seedpeer.response, '[]') + + def test_response_returns_empty_list(self): + response = mock.Mock(text='') + self.assertEqual(seedpeer.response(response), []) + + def test_response_returns_all_results(self): + response = mock.Mock(text=self.html) + results = seedpeer.response(response) + self.assertTrue(isinstance(results, list)) + self.assertEqual(len(results), 2) + + def test_response_returns_correct_results(self): + response = mock.Mock(text=self.html) + results = seedpeer.response(response) + self.assertEqual( + results[0]['title'], 'Narcos - Season 2 - 720p WEBRiP - x265 HEVC - ShAaNiG ' + ) + self.assertEqual( + results[0]['url'], + 'http://www.seedpeer.eu/details/11685972/Narcos---Season-2---720p-WEBRiP---x265-HEVC---ShAaNiG.html' + ) + self.assertEqual(results[0]['content'], '2.48 GB, 1 day') + self.assertEqual(results[0]['seed'], '861') + self.assertEqual(results[0]['leech'], '332') \ No newline at end of file -- cgit v1.2.3 From 2c2123b2e8f87178dadbf82b2cefbcef483c41a7 Mon Sep 17 00:00:00 2001 From: Pydo Date: Mon, 5 Sep 2016 14:51:02 -0400 Subject: Added seepeer to config and added seepeer search parser --- searx/engines/seedpeer.py | 78 +++++++++++++++++++++++++++++++++++++++++++++++ searx/settings.yml | 4 +++ 2 files changed, 82 insertions(+) create mode 100644 searx/engines/seedpeer.py diff --git a/searx/engines/seedpeer.py b/searx/engines/seedpeer.py new file mode 100644 index 000000000..854ebba03 --- /dev/null +++ b/searx/engines/seedpeer.py @@ -0,0 +1,78 @@ +# Seedpeer (Videos, Music, Files) +# +# @website http://seedpeer.eu +# @provide-api no (nothing found) +# +# @using-api no +# @results HTML (using search portal) +# @stable yes (HTML can change) +# @parse url, title, content, seed, leech, magnetlink + +from urlparse import urljoin +from cgi import escape +from urllib import quote +from lxml import html +from operator import itemgetter +from searx.engines.xpath import extract_text + + +url = 'http://www.seedpeer.eu/' +search_url = url + 'search/{search_term}/7/{page_no}.html' +# specific xpath variables +torrent_xpath = '//*[@id="body"]/center/center/table[2]/tr/td/a' +alternative_torrent_xpath = '//*[@id="body"]/center/center/table[1]/tr/td/a' +title_xpath = '//*[@id="body"]/center/center/table[2]/tr/td/a/text()' +alternative_title_xpath = '//*[@id="body"]/center/center/table/tr/td/a' +seeds_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[4]/font/text()' +alternative_seeds_xpath = '//*[@id="body"]/center/center/table/tr/td[4]/font/text()' +peers_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[5]/font/text()' +alternative_peers_xpath = '//*[@id="body"]/center/center/table/tr/td[5]/font/text()' +age_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[2]/text()' +alternative_age_xpath = '//*[@id="body"]/center/center/table/tr/td[2]/text()' +size_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[3]/text()' +alternative_size_xpath = '//*[@id="body"]/center/center/table/tr/td[3]/text()' + + +# do search-request +def request(query, params): + params['url'] = search_url.format(search_term=quote(query), + page_no=params['pageno'] - 1) + return params + + +# get response from search-request +def response(resp): + results = [] + dom = html.fromstring(resp.text) + torrent_links = dom.xpath(torrent_xpath) + if len(torrent_links) > 0: + seeds = dom.xpath(seeds_xpath) + peers = dom.xpath(peers_xpath) + titles = dom.xpath(title_xpath) + sizes = dom.xpath(size_xpath) + ages = dom.xpath(age_xpath) + else: # under ~5 results uses a different xpath + torrent_links = dom.xpath(alternative_torrent_xpath) + seeds = dom.xpath(alternative_seeds_xpath) + peers = dom.xpath(alternative_peers_xpath) + titles = dom.xpath(alternative_title_xpath) + sizes = dom.xpath(alternative_size_xpath) + ages = dom.xpath(alternative_age_xpath) + # return empty array if nothing is found + if not torrent_links: + return [] + + # parse results + for index, result in enumerate(torrent_links): + link = result.attrib.get('href') + href = urljoin(url, link) + results.append({'url': href, + 'title': titles[index].text_content(), + 'content': '{}, {}'.format(sizes[index], ages[index]), + 'seed': seeds[index], + 'leech': peers[index], + + 'template': 'torrent.html'}) + + # return results sorted by seeder + return sorted(results, key=itemgetter('seed'), reverse=True) diff --git a/searx/settings.yml b/searx/settings.yml index 2c034a863..570ad1f84 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -495,6 +495,10 @@ engines: timeout: 6.0 categories : science + - name : seedpeer + engine : seedpeer + shortcut: speu + #The blekko technology and team have joined IBM Watson! -> https://blekko.com/ # - name : blekko images # engine : blekko_images -- cgit v1.2.3 From ec4a03628edfed2ceb192a323a47b2bc6271bdcc Mon Sep 17 00:00:00 2001 From: Pydo Date: Mon, 5 Sep 2016 15:37:20 -0400 Subject: Put html fixture in file to be pep8 line length compliant --- tests/unit/engines/seedpeer_fixture.html | 110 +++++++++++++++++++++++++++++ tests/unit/engines/test_seedpeer.py | 116 ++----------------------------- 2 files changed, 114 insertions(+), 112 deletions(-) create mode 100644 tests/unit/engines/seedpeer_fixture.html diff --git a/tests/unit/engines/seedpeer_fixture.html b/tests/unit/engines/seedpeer_fixture.html new file mode 100644 index 000000000..28207bfad --- /dev/null +++ b/tests/unit/engines/seedpeer_fixture.html @@ -0,0 +1,110 @@ + + + + + + + + + + \ No newline at end of file diff --git a/tests/unit/engines/test_seedpeer.py b/tests/unit/engines/test_seedpeer.py index 379282d19..37b2de8e4 100644 --- a/tests/unit/engines/test_seedpeer.py +++ b/tests/unit/engines/test_seedpeer.py @@ -6,118 +6,10 @@ from datetime import datetime class TestSeedPeerEngine(SearxTestCase): - html = """ - - - - - - - - - - - """ + html = '' + with open('./tests/unit/engines/seedpeer_fixture.html') as fixture: + html += fixture.read() def test_request(self): query = 'test_query' @@ -156,4 +48,4 @@ class TestSeedPeerEngine(SearxTestCase): ) self.assertEqual(results[0]['content'], '2.48 GB, 1 day') self.assertEqual(results[0]['seed'], '861') - self.assertEqual(results[0]['leech'], '332') \ No newline at end of file + self.assertEqual(results[0]['leech'], '332') -- cgit v1.2.3 From d1d4ed4376e41fa380b5b3a72e1b08e1f36a35e8 Mon Sep 17 00:00:00 2001 From: marc Date: Tue, 20 Sep 2016 15:35:54 -0500 Subject: [fix] results with digbit don't truncate anymore --- searx/engines/digbt.py | 2 +- tests/unit/engines/test_digbt.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/searx/engines/digbt.py b/searx/engines/digbt.py index c35327e8c..b55d7747a 100644 --- a/searx/engines/digbt.py +++ b/searx/engines/digbt.py @@ -40,7 +40,7 @@ def response(resp): results = list() for result in search_res: url = urljoin(URL, result.xpath('.//a[@title]/@href')[0]) - title = result.xpath('.//a[@title]/text()')[0] + title = extract_text(result.xpath('.//a[@title]')) content = extract_text(result.xpath('.//div[@class="files"]')) files_data = extract_text(result.xpath('.//div[@class="tail"]')).split() filesize = get_torrent_size(files_data[FILESIZE], files_data[FILESIZE_MULTIPLIER]) diff --git a/tests/unit/engines/test_digbt.py b/tests/unit/engines/test_digbt.py index 867188ed9..31a1b03a4 100644 --- a/tests/unit/engines/test_digbt.py +++ b/tests/unit/engines/test_digbt.py @@ -28,7 +28,9 @@ class TestDigBTEngine(SearxTestCase):
-- cgit v1.2.3 From bee7b497a300622f5ba2b619817f5c89c29ae871 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Thu, 22 Sep 2016 23:51:07 +0200 Subject: [mod] rename "default" theme to "legacy" --- manage.sh | 4 +- searx/settings_robot.yml | 2 +- searx/static/themes/default/css/style-rtl.css | 1 - searx/static/themes/default/css/style.css | 1 - searx/static/themes/default/img/favicon.png | Bin 2060 -> 0 bytes searx/static/themes/default/img/github_ribbon.png | Bin 5213 -> 0 bytes .../static/themes/default/img/icons/icon_500px.ico | Bin 8348 -> 0 bytes .../static/themes/default/img/icons/icon_bing.ico | Bin 1150 -> 0 bytes .../themes/default/img/icons/icon_dailymotion.ico | Bin 4286 -> 0 bytes .../themes/default/img/icons/icon_deezer.ico | Bin 4286 -> 0 bytes .../themes/default/img/icons/icon_deviantart.ico | Bin 4286 -> 0 bytes .../static/themes/default/img/icons/icon_digg.ico | Bin 2868 -> 0 bytes .../themes/default/img/icons/icon_duckduckgo.ico | Bin 32988 -> 0 bytes .../themes/default/img/icons/icon_flickr.ico | Bin 6518 -> 0 bytes .../themes/default/img/icons/icon_github.ico | Bin 6518 -> 0 bytes .../default/img/icons/icon_google play apps.ico | Bin 5430 -> 0 bytes .../default/img/icons/icon_google play movies.ico | Bin 5430 -> 0 bytes .../default/img/icons/icon_google play music.ico | Bin 5430 -> 0 bytes .../themes/default/img/icons/icon_google.ico | Bin 5430 -> 0 bytes .../themes/default/img/icons/icon_kickass.ico | Bin 1150 -> 0 bytes .../default/img/icons/icon_openstreetmap.ico | Bin 1406 -> 0 bytes .../default/img/icons/icon_searchcode code.ico | Bin 4094 -> 0 bytes .../default/img/icons/icon_searchcode doc.ico | Bin 4094 -> 0 bytes .../themes/default/img/icons/icon_searchcode.ico | Bin 4094 -> 0 bytes .../themes/default/img/icons/icon_soundcloud.ico | Bin 1150 -> 0 bytes .../default/img/icons/icon_stackoverflow.ico | Bin 1150 -> 0 bytes .../themes/default/img/icons/icon_startpage.ico | Bin 1150 -> 0 bytes .../default/img/icons/icon_subtitleseeker.ico | Bin 1406 -> 0 bytes .../themes/default/img/icons/icon_twitter.ico | Bin 1150 -> 0 bytes .../static/themes/default/img/icons/icon_vimeo.ico | Bin 6518 -> 0 bytes .../themes/default/img/icons/icon_wikipedia.ico | Bin 2734 -> 0 bytes .../static/themes/default/img/icons/icon_yahoo.ico | Bin 5430 -> 0 bytes .../themes/default/img/icons/icon_youtube.ico | Bin 1150 -> 0 bytes .../static/themes/default/img/preference-icon.png | Bin 532 -> 0 bytes searx/static/themes/default/img/search-icon.png | Bin 2329 -> 0 bytes searx/static/themes/default/img/searx.png | Bin 3902 -> 0 bytes searx/static/themes/default/img/searx_logo.svg | 203 ------ searx/static/themes/default/js/searx.js | 49 -- .../static/themes/default/less/autocompleter.less | 61 -- searx/static/themes/default/less/code.less | 83 --- searx/static/themes/default/less/definitions.less | 119 ---- searx/static/themes/default/less/mixins.less | 27 - searx/static/themes/default/less/search.less | 68 -- searx/static/themes/default/less/style-rtl.less | 11 - searx/static/themes/default/less/style.less | 739 --------------------- searx/static/themes/legacy/css/style-rtl.css | 1 + searx/static/themes/legacy/css/style.css | 1 + searx/static/themes/legacy/img/favicon.png | Bin 0 -> 2060 bytes searx/static/themes/legacy/img/github_ribbon.png | Bin 0 -> 5213 bytes .../static/themes/legacy/img/icons/icon_500px.ico | Bin 0 -> 8348 bytes searx/static/themes/legacy/img/icons/icon_bing.ico | Bin 0 -> 1150 bytes .../themes/legacy/img/icons/icon_dailymotion.ico | Bin 0 -> 4286 bytes .../static/themes/legacy/img/icons/icon_deezer.ico | Bin 0 -> 4286 bytes .../themes/legacy/img/icons/icon_deviantart.ico | Bin 0 -> 4286 bytes searx/static/themes/legacy/img/icons/icon_digg.ico | Bin 0 -> 2868 bytes .../themes/legacy/img/icons/icon_duckduckgo.ico | Bin 0 -> 32988 bytes .../static/themes/legacy/img/icons/icon_flickr.ico | Bin 0 -> 6518 bytes .../static/themes/legacy/img/icons/icon_github.ico | Bin 0 -> 6518 bytes .../legacy/img/icons/icon_google play apps.ico | Bin 0 -> 5430 bytes .../legacy/img/icons/icon_google play movies.ico | Bin 0 -> 5430 bytes .../legacy/img/icons/icon_google play music.ico | Bin 0 -> 5430 bytes .../static/themes/legacy/img/icons/icon_google.ico | Bin 0 -> 5430 bytes .../themes/legacy/img/icons/icon_kickass.ico | Bin 0 -> 1150 bytes .../themes/legacy/img/icons/icon_openstreetmap.ico | Bin 0 -> 1406 bytes .../legacy/img/icons/icon_searchcode code.ico | Bin 0 -> 4094 bytes .../legacy/img/icons/icon_searchcode doc.ico | Bin 0 -> 4094 bytes .../themes/legacy/img/icons/icon_searchcode.ico | Bin 0 -> 4094 bytes .../themes/legacy/img/icons/icon_soundcloud.ico | Bin 0 -> 1150 bytes .../themes/legacy/img/icons/icon_stackoverflow.ico | Bin 0 -> 1150 bytes .../themes/legacy/img/icons/icon_startpage.ico | Bin 0 -> 1150 bytes .../legacy/img/icons/icon_subtitleseeker.ico | Bin 0 -> 1406 bytes .../themes/legacy/img/icons/icon_twitter.ico | Bin 0 -> 1150 bytes .../static/themes/legacy/img/icons/icon_vimeo.ico | Bin 0 -> 6518 bytes .../themes/legacy/img/icons/icon_wikipedia.ico | Bin 0 -> 2734 bytes .../static/themes/legacy/img/icons/icon_yahoo.ico | Bin 0 -> 5430 bytes .../themes/legacy/img/icons/icon_youtube.ico | Bin 0 -> 1150 bytes searx/static/themes/legacy/img/preference-icon.png | Bin 0 -> 532 bytes searx/static/themes/legacy/img/search-icon.png | Bin 0 -> 2329 bytes searx/static/themes/legacy/img/searx.png | Bin 0 -> 3902 bytes searx/static/themes/legacy/img/searx_logo.svg | 203 ++++++ searx/static/themes/legacy/js/searx.js | 49 ++ searx/static/themes/legacy/less/autocompleter.less | 61 ++ searx/static/themes/legacy/less/code.less | 83 +++ searx/static/themes/legacy/less/definitions.less | 119 ++++ searx/static/themes/legacy/less/mixins.less | 27 + searx/static/themes/legacy/less/search.less | 68 ++ searx/static/themes/legacy/less/style-rtl.less | 11 + searx/static/themes/legacy/less/style.less | 739 +++++++++++++++++++++ searx/templates/default/404.html | 9 - searx/templates/default/about.html | 66 -- searx/templates/default/base.html | 38 -- searx/templates/default/categories.html | 10 - searx/templates/default/github_ribbon.html | 3 - searx/templates/default/index.html | 18 - searx/templates/default/infobox.html | 51 -- searx/templates/default/opensearch.xml | 28 - .../templates/default/opensearch_response_rss.xml | 23 - searx/templates/default/preferences.html | 129 ---- searx/templates/default/result_templates/code.html | 11 - .../default/result_templates/default.html | 6 - .../templates/default/result_templates/images.html | 6 - searx/templates/default/result_templates/map.html | 13 - .../default/result_templates/torrent.html | 13 - .../templates/default/result_templates/videos.html | 6 - searx/templates/default/results.html | 100 --- searx/templates/default/search.html | 8 - searx/templates/default/stats.html | 22 - searx/templates/legacy/404.html | 9 + searx/templates/legacy/about.html | 66 ++ searx/templates/legacy/base.html | 38 ++ searx/templates/legacy/categories.html | 10 + searx/templates/legacy/github_ribbon.html | 3 + searx/templates/legacy/index.html | 18 + searx/templates/legacy/infobox.html | 51 ++ searx/templates/legacy/opensearch.xml | 28 + searx/templates/legacy/opensearch_response_rss.xml | 23 + searx/templates/legacy/preferences.html | 129 ++++ searx/templates/legacy/result_templates/code.html | 11 + .../templates/legacy/result_templates/default.html | 6 + .../templates/legacy/result_templates/images.html | 6 + searx/templates/legacy/result_templates/map.html | 13 + .../templates/legacy/result_templates/torrent.html | 13 + .../templates/legacy/result_templates/videos.html | 6 + searx/templates/legacy/results.html | 100 +++ searx/templates/legacy/search.html | 8 + searx/templates/legacy/stats.html | 22 + searx/templates/pix-art/preferences.html | 2 +- searx/templates/pix-art/stats.html | 2 +- tests/robot/test_basic.robot | 4 +- tests/unit/test_webapp.py | 4 +- 130 files changed, 1931 insertions(+), 1931 deletions(-) delete mode 100644 searx/static/themes/default/css/style-rtl.css delete mode 100644 searx/static/themes/default/css/style.css delete mode 100644 searx/static/themes/default/img/favicon.png delete mode 100644 searx/static/themes/default/img/github_ribbon.png delete mode 100644 searx/static/themes/default/img/icons/icon_500px.ico delete mode 100644 searx/static/themes/default/img/icons/icon_bing.ico delete mode 100644 searx/static/themes/default/img/icons/icon_dailymotion.ico delete mode 100644 searx/static/themes/default/img/icons/icon_deezer.ico delete mode 100644 searx/static/themes/default/img/icons/icon_deviantart.ico delete mode 100644 searx/static/themes/default/img/icons/icon_digg.ico delete mode 100644 searx/static/themes/default/img/icons/icon_duckduckgo.ico delete mode 100644 searx/static/themes/default/img/icons/icon_flickr.ico delete mode 100644 searx/static/themes/default/img/icons/icon_github.ico delete mode 100644 searx/static/themes/default/img/icons/icon_google play apps.ico delete mode 100644 searx/static/themes/default/img/icons/icon_google play movies.ico delete mode 100644 searx/static/themes/default/img/icons/icon_google play music.ico delete mode 100644 searx/static/themes/default/img/icons/icon_google.ico delete mode 100644 searx/static/themes/default/img/icons/icon_kickass.ico delete mode 100644 searx/static/themes/default/img/icons/icon_openstreetmap.ico delete mode 100644 searx/static/themes/default/img/icons/icon_searchcode code.ico delete mode 100644 searx/static/themes/default/img/icons/icon_searchcode doc.ico delete mode 100644 searx/static/themes/default/img/icons/icon_searchcode.ico delete mode 100644 searx/static/themes/default/img/icons/icon_soundcloud.ico delete mode 100644 searx/static/themes/default/img/icons/icon_stackoverflow.ico delete mode 100644 searx/static/themes/default/img/icons/icon_startpage.ico delete mode 100644 searx/static/themes/default/img/icons/icon_subtitleseeker.ico delete mode 100644 searx/static/themes/default/img/icons/icon_twitter.ico delete mode 100644 searx/static/themes/default/img/icons/icon_vimeo.ico delete mode 100644 searx/static/themes/default/img/icons/icon_wikipedia.ico delete mode 100644 searx/static/themes/default/img/icons/icon_yahoo.ico delete mode 100644 searx/static/themes/default/img/icons/icon_youtube.ico delete mode 100644 searx/static/themes/default/img/preference-icon.png delete mode 100644 searx/static/themes/default/img/search-icon.png delete mode 100644 searx/static/themes/default/img/searx.png delete mode 100644 searx/static/themes/default/img/searx_logo.svg delete mode 100644 searx/static/themes/default/js/searx.js delete mode 100644 searx/static/themes/default/less/autocompleter.less delete mode 100644 searx/static/themes/default/less/code.less delete mode 100644 searx/static/themes/default/less/definitions.less delete mode 100644 searx/static/themes/default/less/mixins.less delete mode 100644 searx/static/themes/default/less/search.less delete mode 100644 searx/static/themes/default/less/style-rtl.less delete mode 100644 searx/static/themes/default/less/style.less create mode 100644 searx/static/themes/legacy/css/style-rtl.css create mode 100644 searx/static/themes/legacy/css/style.css create mode 100644 searx/static/themes/legacy/img/favicon.png create mode 100644 searx/static/themes/legacy/img/github_ribbon.png create mode 100644 searx/static/themes/legacy/img/icons/icon_500px.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_bing.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_dailymotion.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_deezer.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_deviantart.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_digg.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_duckduckgo.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_flickr.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_github.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_google play apps.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_google play movies.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_google play music.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_google.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_kickass.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_openstreetmap.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_searchcode code.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_searchcode doc.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_searchcode.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_soundcloud.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_stackoverflow.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_startpage.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_subtitleseeker.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_twitter.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_vimeo.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_wikipedia.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_yahoo.ico create mode 100644 searx/static/themes/legacy/img/icons/icon_youtube.ico create mode 100644 searx/static/themes/legacy/img/preference-icon.png create mode 100644 searx/static/themes/legacy/img/search-icon.png create mode 100644 searx/static/themes/legacy/img/searx.png create mode 100644 searx/static/themes/legacy/img/searx_logo.svg create mode 100644 searx/static/themes/legacy/js/searx.js create mode 100644 searx/static/themes/legacy/less/autocompleter.less create mode 100644 searx/static/themes/legacy/less/code.less create mode 100644 searx/static/themes/legacy/less/definitions.less create mode 100644 searx/static/themes/legacy/less/mixins.less create mode 100644 searx/static/themes/legacy/less/search.less create mode 100644 searx/static/themes/legacy/less/style-rtl.less create mode 100644 searx/static/themes/legacy/less/style.less delete mode 100644 searx/templates/default/404.html delete mode 100644 searx/templates/default/about.html delete mode 100644 searx/templates/default/base.html delete mode 100644 searx/templates/default/categories.html delete mode 100644 searx/templates/default/github_ribbon.html delete mode 100644 searx/templates/default/index.html delete mode 100644 searx/templates/default/infobox.html delete mode 100644 searx/templates/default/opensearch.xml delete mode 100644 searx/templates/default/opensearch_response_rss.xml delete mode 100644 searx/templates/default/preferences.html delete mode 100644 searx/templates/default/result_templates/code.html delete mode 100644 searx/templates/default/result_templates/default.html delete mode 100644 searx/templates/default/result_templates/images.html delete mode 100644 searx/templates/default/result_templates/map.html delete mode 100644 searx/templates/default/result_templates/torrent.html delete mode 100644 searx/templates/default/result_templates/videos.html delete mode 100644 searx/templates/default/results.html delete mode 100644 searx/templates/default/search.html delete mode 100644 searx/templates/default/stats.html create mode 100644 searx/templates/legacy/404.html create mode 100644 searx/templates/legacy/about.html create mode 100644 searx/templates/legacy/base.html create mode 100644 searx/templates/legacy/categories.html create mode 100644 searx/templates/legacy/github_ribbon.html create mode 100644 searx/templates/legacy/index.html create mode 100644 searx/templates/legacy/infobox.html create mode 100644 searx/templates/legacy/opensearch.xml create mode 100644 searx/templates/legacy/opensearch_response_rss.xml create mode 100644 searx/templates/legacy/preferences.html create mode 100644 searx/templates/legacy/result_templates/code.html create mode 100644 searx/templates/legacy/result_templates/default.html create mode 100644 searx/templates/legacy/result_templates/images.html create mode 100644 searx/templates/legacy/result_templates/map.html create mode 100644 searx/templates/legacy/result_templates/torrent.html create mode 100644 searx/templates/legacy/result_templates/videos.html create mode 100644 searx/templates/legacy/results.html create mode 100644 searx/templates/legacy/search.html create mode 100644 searx/templates/legacy/stats.html diff --git a/manage.sh b/manage.sh index 75ba32024..11f2df04d 100755 --- a/manage.sh +++ b/manage.sh @@ -53,8 +53,8 @@ build_style() { styles() { echo '[!] Building styles' - build_style themes/default/less/style.less themes/default/css/style.css - build_style themes/default/less/style-rtl.less themes/default/css/style-rtl.css + build_style themes/legacy/less/style.less themes/legacy/css/style.css + build_style themes/legacy/less/style-rtl.less themes/legacy/css/style-rtl.css build_style themes/courgette/less/style.less themes/courgette/css/style.css build_style themes/courgette/less/style-rtl.less themes/courgette/css/style-rtl.css build_style less/bootstrap/bootstrap.less css/bootstrap.min.css diff --git a/searx/settings_robot.yml b/searx/settings_robot.yml index 7c7c4eec2..1ae084155 100644 --- a/searx/settings_robot.yml +++ b/searx/settings_robot.yml @@ -15,7 +15,7 @@ server: ui: themes_path : "" - default_theme : default + default_theme : legacy default_locale : "" outgoing: diff --git a/searx/static/themes/default/css/style-rtl.css b/searx/static/themes/default/css/style-rtl.css deleted file mode 100644 index 65ad6638e..000000000 --- a/searx/static/themes/default/css/style-rtl.css +++ /dev/null @@ -1 +0,0 @@ -#search_submit{left:1px;right:auto}.result .favicon{float:right;margin-left:.5em;margin-right:0} \ No newline at end of file diff --git a/searx/static/themes/default/css/style.css b/searx/static/themes/default/css/style.css deleted file mode 100644 index 71422bc94..000000000 --- a/searx/static/themes/default/css/style.css +++ /dev/null @@ -1 +0,0 @@ -.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid #f00}.highlight .k{color:#008000;font-weight:bold}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:#000080;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#04d}.highlight .kc{color:#008000;font-weight:bold}.highlight .kd{color:#008000;font-weight:bold}.highlight .kn{color:#008000;font-weight:bold}.highlight .kp{color:#008000}.highlight .kr{color:#008000;font-weight:bold}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:#008000}.highlight .nc{color:#00f;font-weight:bold}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:bold}.highlight .ne{color:#d2413a;font-weight:bold}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00f;font-weight:bold}.highlight .nt{color:#008000;font-weight:bold}.highlight .nv{color:#19177c}.highlight .ow{color:#a2f;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#ba2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#b62;font-weight:bold}.highlight .sh{color:#ba2121}.highlight .si{color:#b68;font-weight:bold}.highlight .sx{color:#008000}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:#008000}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight pre{overflow:auto}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent}.highlight .lineno::-moz-selection{background:transparent}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444;padding:0;margin:0}body,#container{padding:0;margin:0}#container{width:100%;position:absolute;top:0}.search{padding:0;margin:0}.search .checkbox_container label{font-size:.9em;border-bottom:2px solid #e8e7e6}.search .checkbox_container label:hover{border-bottom:2px solid #3498db}.search .checkbox_container input[type="checkbox"]:checked+label{border-bottom:2px solid #2980b9}#search_wrapper{position:relative;width:50em;padding:10px}.center #search_wrapper{margin-left:auto;margin-right:auto}.q{background:none repeat scroll 0 0 #fff;border:1px solid #3498db;color:#222;font-size:16px;height:28px;margin:0;outline:medium none;padding:2px;padding-left:8px;padding-right:0 !important;width:100%;z-index:2}#search_submit{position:absolute;top:13px;right:1px;padding:0;border:0;background:url('../img/search-icon.png') no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:30px;font-size:0}@media screen and (max-width:50em){#search_wrapper{width:90%;clear:both;overflow:hidden}}ul.autocompleter-choices{position:absolute;margin:0;padding:0;list-style:none;border:1px solid #3498db;border-left-color:#3498db;border-right-color:#3498db;border-bottom-color:#3498db;text-align:left;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;z-index:50;background-color:#fff;color:#444}ul.autocompleter-choices li{position:relative;margin:-2px 0 0 0;padding:.2em 1.5em .2em 1em;display:block;float:none !important;cursor:pointer;font-weight:normal;white-space:nowrap;font-size:1em;line-height:1.5em}ul.autocompleter-choices li.autocompleter-selected{background-color:#444;color:#fff}ul.autocompleter-choices li.autocompleter-selected span.autocompleter-queried{color:#9fcfff}ul.autocompleter-choices span.autocompleter-queried{display:inline;float:none;font-weight:bold;margin:0;padding:0}.row{max-width:800px;margin:20px auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}.row p{padding:0 10px;max-width:700px}.row h3,.row ul{margin:4px 8px}.hmarg{margin:0 20px;border:1px solid #3498db;padding:4px 10px}a:link.hmarg{color:#3498db}a:visited.hmarg{color:#3498db}a:active.hmarg{color:#3498db}a:hover.hmarg{color:#3498db}.top_margin{margin-top:60px}.center{text-align:center}h1{font-size:5em}div.title{background:url('../img/searx.png') no-repeat;width:100%;min-height:80px;background-position:center}div.title h1{visibility:hidden}input[type="submit"]{padding:2px 6px;margin:2px 4px;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}input[type="checkbox"]{visibility:hidden}fieldset{margin:8px;border:1px solid #3498db}#categories{margin:0 10px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff}.engine_checkbox{padding:4px}label.allow{background:#e74c3c;padding:4px 8px;color:#fff;display:none}label.deny{background:#2ecc71;padding:4px 8px;color:#444;display:inline}.engine_checkbox input[type="checkbox"]:checked+label:nth-child(2)+label{display:none}.engine_checkbox input[type="checkbox"]:checked+label.allow{display:inline}a{text-decoration:none;color:#1a11be}a:visited{color:#8e44ad}.result{margin:19px 0 18px 0;padding:0;clear:both}.result_title{margin-bottom:0}.result_title a{color:#2980b9;font-weight:normal;font-size:1.1em}.result_title a:hover{text-decoration:underline}.result_title a:visited{color:#8e44ad}.cache_link{font-size:10px !important}.result h3{font-size:1em;word-wrap:break-word;margin:5px 0 1px 0;padding:0}.result .content{font-size:.8em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content img{float:left;margin-right:5px;max-width:200px;max-height:100px}.result .content br.last{clear:both}.result .url{font-size:.8em;margin:0 0 3px 0;padding:0;max-width:54em;word-wrap:break-word;color:#c0392b}.result .published_date{font-size:.8em;color:#888;Margin:5px 20px}.result .thumbnail{width:400px}.engines{color:#888}.small_font{font-size:.8em}.small p{margin:2px 0}.right{float:right}.invisible{display:none}.left{float:left}.highlight{color:#094089}.content .highlight{color:#000}.image_result{display:inline-block;margin:10px 10px;position:relative;max-height:160px}.image_result img{border:0;max-height:160px}.image_result p{margin:0;padding:0}.image_result p span a{display:none;color:#fff}.image_result p:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;background-color:rgba(0,0,0,0.6);font-size:.7em}.torrent_result{border-left:10px solid lightgray;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#2980b9}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#8e44ad}.definition_result{border-left:10px solid gray;padding-left:3px}.percentage{position:relative;width:300px}.percentage div{background:#444}table{width:100%}td{padding:0 4px}tr:hover{background:#ddd}#results{margin:auto;padding:0;width:50em;margin-bottom:20px}#sidebar{position:fixed;bottom:10px;left:10px;margin:0 2px 5px 5px;padding:0 2px 2px 2px;width:14em}#sidebar input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}#sidebar input[type="submit"]{text-decoration:underline}#suggestions form{display:inline}#suggestions,#answers{margin-top:20px;max-width:45em}#suggestions input,#answers input,#infoboxes input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}#suggestions input[type="submit"],#answers input[type="submit"],#infoboxes input[type="submit"]{text-decoration:underline}#suggestions-title{color:#888}#answers{border:2px solid #2980b9;padding:20px}#answers form,#infoboxes form{min-width:210px}#infoboxes{position:absolute;top:100px;right:20px;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:21em;word-wrap:break-word;}#infoboxes .infobox{margin:10px 0 10px;border:1px solid #ddd;padding:5px;font-size:.8em}#infoboxes .infobox img{max-width:90%;max-heigt:12em;display:block;margin:5px;padding:5px}#infoboxes .infobox h2{margin:0}#infoboxes .infobox table{table-layout:fixed;}#infoboxes .infobox table td{vertical-align:top}#infoboxes .infobox input{font-size:1em}#infoboxes .infobox br{clear:both}#search_url{margin-top:8px}#search_url input{border:1px solid #888;padding:4px;color:#444;width:14em;display:block;margin:4px;font-size:.8em}#preferences{top:10px;padding:0;border:0;background:url('../img/preference-icon.png') no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none}#pagination{clear:both}#pagination br{clear:both}#apis{margin-top:8px;clear:both}#categories_container{position:relative}@media screen and (max-width:50em){#results{margin:auto;padding:0;width:90%}.github{display:none}.checkbox_container{display:block;width:90%}.checkbox_container label{border-bottom:0}.preferences_container{display:none;postion:fixed !important;top:100px;right:0}}@media screen and (max-width:75em){div.title h1{font-size:1em}html.touch #categories{width:95%;height:30px;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}html.touch #categories #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #categories #categories_container .checkbox_container{display:inline-block;width:auto}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#suggestions,#answers{margin-top:5px}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#sidebar{position:static;max-width:50em;margin:0 0 2px 0;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}#apis{display:none}#search_url{display:none}.result{border-top:1px solid #e8e7e6;margin:8px 0 8px 0}.result .thumbnail{max-width:98%}.image_result{max-width:98%}.image_result img{max-width:98%}}.favicon{float:left;margin-right:4px;margin-top:2px}.preferences_back{background:none repeat scroll 0 0 #3498db;border:0 none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:4px 6px}.preferences_back a{color:#fff}.hidden{opacity:0;overflow:hidden;font-size:.8em;position:absolute;bottom:-20px;width:100%;text-position:center;background:white;transition:opacity 1s ease}#categories_container:hover .hidden{transition:opacity 1s ease;opacity:.8} diff --git a/searx/static/themes/default/img/favicon.png b/searx/static/themes/default/img/favicon.png deleted file mode 100644 index 1a43d7fa6..000000000 Binary files a/searx/static/themes/default/img/favicon.png and /dev/null differ diff --git a/searx/static/themes/default/img/github_ribbon.png b/searx/static/themes/default/img/github_ribbon.png deleted file mode 100644 index 3799c2ea1..000000000 Binary files a/searx/static/themes/default/img/github_ribbon.png and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_500px.ico b/searx/static/themes/default/img/icons/icon_500px.ico deleted file mode 100644 index b01aa20b5..000000000 Binary files a/searx/static/themes/default/img/icons/icon_500px.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_bing.ico b/searx/static/themes/default/img/icons/icon_bing.ico deleted file mode 100644 index 5702749c1..000000000 Binary files a/searx/static/themes/default/img/icons/icon_bing.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_dailymotion.ico b/searx/static/themes/default/img/icons/icon_dailymotion.ico deleted file mode 100644 index b161a57fb..000000000 Binary files a/searx/static/themes/default/img/icons/icon_dailymotion.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_deezer.ico b/searx/static/themes/default/img/icons/icon_deezer.ico deleted file mode 100644 index d38c9b1f6..000000000 Binary files a/searx/static/themes/default/img/icons/icon_deezer.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_deviantart.ico b/searx/static/themes/default/img/icons/icon_deviantart.ico deleted file mode 100644 index 26c353325..000000000 Binary files a/searx/static/themes/default/img/icons/icon_deviantart.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_digg.ico b/searx/static/themes/default/img/icons/icon_digg.ico deleted file mode 100644 index 162e57038..000000000 Binary files a/searx/static/themes/default/img/icons/icon_digg.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_duckduckgo.ico b/searx/static/themes/default/img/icons/icon_duckduckgo.ico deleted file mode 100644 index d093082cb..000000000 Binary files a/searx/static/themes/default/img/icons/icon_duckduckgo.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_flickr.ico b/searx/static/themes/default/img/icons/icon_flickr.ico deleted file mode 100644 index e2304c587..000000000 Binary files a/searx/static/themes/default/img/icons/icon_flickr.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_github.ico b/searx/static/themes/default/img/icons/icon_github.ico deleted file mode 100644 index 133f0ca35..000000000 Binary files a/searx/static/themes/default/img/icons/icon_github.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_google play apps.ico b/searx/static/themes/default/img/icons/icon_google play apps.ico deleted file mode 100644 index 74c84470b..000000000 Binary files a/searx/static/themes/default/img/icons/icon_google play apps.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_google play movies.ico b/searx/static/themes/default/img/icons/icon_google play movies.ico deleted file mode 100644 index 74c84470b..000000000 Binary files a/searx/static/themes/default/img/icons/icon_google play movies.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_google play music.ico b/searx/static/themes/default/img/icons/icon_google play music.ico deleted file mode 100644 index 74c84470b..000000000 Binary files a/searx/static/themes/default/img/icons/icon_google play music.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_google.ico b/searx/static/themes/default/img/icons/icon_google.ico deleted file mode 100644 index f594697d2..000000000 Binary files a/searx/static/themes/default/img/icons/icon_google.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_kickass.ico b/searx/static/themes/default/img/icons/icon_kickass.ico deleted file mode 100644 index 4aa2c77a5..000000000 Binary files a/searx/static/themes/default/img/icons/icon_kickass.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_openstreetmap.ico b/searx/static/themes/default/img/icons/icon_openstreetmap.ico deleted file mode 100644 index b65863656..000000000 Binary files a/searx/static/themes/default/img/icons/icon_openstreetmap.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_searchcode code.ico b/searx/static/themes/default/img/icons/icon_searchcode code.ico deleted file mode 100644 index dc099ef70..000000000 Binary files a/searx/static/themes/default/img/icons/icon_searchcode code.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_searchcode doc.ico b/searx/static/themes/default/img/icons/icon_searchcode doc.ico deleted file mode 100644 index dc099ef70..000000000 Binary files a/searx/static/themes/default/img/icons/icon_searchcode doc.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_searchcode.ico b/searx/static/themes/default/img/icons/icon_searchcode.ico deleted file mode 100644 index dc099ef70..000000000 Binary files a/searx/static/themes/default/img/icons/icon_searchcode.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_soundcloud.ico b/searx/static/themes/default/img/icons/icon_soundcloud.ico deleted file mode 100644 index 4130bea1b..000000000 Binary files a/searx/static/themes/default/img/icons/icon_soundcloud.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_stackoverflow.ico b/searx/static/themes/default/img/icons/icon_stackoverflow.ico deleted file mode 100644 index b2242bc6c..000000000 Binary files a/searx/static/themes/default/img/icons/icon_stackoverflow.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_startpage.ico b/searx/static/themes/default/img/icons/icon_startpage.ico deleted file mode 100644 index 44b94a986..000000000 Binary files a/searx/static/themes/default/img/icons/icon_startpage.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_subtitleseeker.ico b/searx/static/themes/default/img/icons/icon_subtitleseeker.ico deleted file mode 100644 index 9a0565558..000000000 Binary files a/searx/static/themes/default/img/icons/icon_subtitleseeker.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_twitter.ico b/searx/static/themes/default/img/icons/icon_twitter.ico deleted file mode 100644 index b4a71699a..000000000 Binary files a/searx/static/themes/default/img/icons/icon_twitter.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_vimeo.ico b/searx/static/themes/default/img/icons/icon_vimeo.ico deleted file mode 100644 index 4fe4336da..000000000 Binary files a/searx/static/themes/default/img/icons/icon_vimeo.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_wikipedia.ico b/searx/static/themes/default/img/icons/icon_wikipedia.ico deleted file mode 100644 index e70021849..000000000 Binary files a/searx/static/themes/default/img/icons/icon_wikipedia.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_yahoo.ico b/searx/static/themes/default/img/icons/icon_yahoo.ico deleted file mode 100644 index 9bd1d9f7c..000000000 Binary files a/searx/static/themes/default/img/icons/icon_yahoo.ico and /dev/null differ diff --git a/searx/static/themes/default/img/icons/icon_youtube.ico b/searx/static/themes/default/img/icons/icon_youtube.ico deleted file mode 100644 index 977887dbb..000000000 Binary files a/searx/static/themes/default/img/icons/icon_youtube.ico and /dev/null differ diff --git a/searx/static/themes/default/img/preference-icon.png b/searx/static/themes/default/img/preference-icon.png deleted file mode 100644 index 8bdee641d..000000000 Binary files a/searx/static/themes/default/img/preference-icon.png and /dev/null differ diff --git a/searx/static/themes/default/img/search-icon.png b/searx/static/themes/default/img/search-icon.png deleted file mode 100644 index d70310b5d..000000000 Binary files a/searx/static/themes/default/img/search-icon.png and /dev/null differ diff --git a/searx/static/themes/default/img/searx.png b/searx/static/themes/default/img/searx.png deleted file mode 100644 index a98f12a1d..000000000 Binary files a/searx/static/themes/default/img/searx.png and /dev/null differ diff --git a/searx/static/themes/default/img/searx_logo.svg b/searx/static/themes/default/img/searx_logo.svg deleted file mode 100644 index 67a2d4588..000000000 --- a/searx/static/themes/default/img/searx_logo.svg +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/searx/static/themes/default/js/searx.js b/searx/static/themes/default/js/searx.js deleted file mode 100644 index d6d5b74bb..000000000 --- a/searx/static/themes/default/js/searx.js +++ /dev/null @@ -1,49 +0,0 @@ -if(searx.autocompleter) { - window.addEvent('domready', function() { - new Autocompleter.Request.JSON('q', './autocompleter', { - postVar:'q', - postData:{ - 'format': 'json' - }, - ajaxOptions:{ - timeout: 5 // Correct option? - }, - 'minLength': 4, - 'selectMode': false, - cache: true, - delay: 300 - }); - }); -} - -(function (w, d) { - 'use strict'; - function addListener(el, type, fn) { - if (el.addEventListener) { - el.addEventListener(type, fn, false); - } else { - el.attachEvent('on' + type, fn); - } - } - - function placeCursorAtEnd() { - if (this.setSelectionRange) { - var len = this.value.length * 2; - this.setSelectionRange(len, len); - } - } - - addListener(w, 'load', function () { - var qinput = d.getElementById('q'); - if (qinput !== null && qinput.value === "") { - addListener(qinput, 'focus', placeCursorAtEnd); - qinput.focus(); - } - }); - - if (!!('ontouchstart' in window)) { - document.getElementsByTagName("html")[0].className += " touch"; - } - -})(window, document); - diff --git a/searx/static/themes/default/less/autocompleter.less b/searx/static/themes/default/less/autocompleter.less deleted file mode 100644 index db9601aeb..000000000 --- a/searx/static/themes/default/less/autocompleter.less +++ /dev/null @@ -1,61 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - */ - -ul { - &.autocompleter-choices { - position: absolute; - margin: 0; - padding: 0; - list-style: none; - border: 1px solid @color-autocompleter-choices-border; - border-left-color: @color-autocompleter-choices-border-left-right; - border-right-color: @color-autocompleter-choices-border-left-right; - border-bottom-color: @color-autocompleter-choices-border-bottom; - text-align: left; - font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; - z-index: 50; - background-color: @color-autocompleter-choices-background; - color: @color-autocompleter-choices-font; - - li { - position: relative; - margin: -2px 0 0 0; - padding: 0.2em 1.5em 0.2em 1em; - display: block; - float: none !important; - cursor: pointer; - font-weight: normal; - white-space: nowrap; - font-size: 1em; - line-height: 1.5em; - - &.autocompleter-selected { - background-color: @color-autocompleter-selected-background; - color: @color-autocompleter-selected-font; - - span.autocompleter-queried { - color: @color-autocompleter-selected-queried-font; - } - } - } - - span.autocompleter-queried { - display: inline; - float: none; - font-weight: bold; - margin: 0; - padding: 0; - } - } -} - -/*.autocompleter-loading { - //background-image: url(images/spinner.gif); - background-repeat: no-repeat; - background-position: right 50%; -}*/ - -/*textarea.autocompleter-loading { - background-position: right bottom; -}*/ diff --git a/searx/static/themes/default/less/code.less b/searx/static/themes/default/less/code.less deleted file mode 100644 index a688dd98d..000000000 --- a/searx/static/themes/default/less/code.less +++ /dev/null @@ -1,83 +0,0 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ - -.highlight pre { - overflow: auto; -} - -.highlight .lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: default; - - &::selection { - background: transparent; /* WebKit/Blink Browsers */ - } - &::-moz-selection { - background: transparent; /* Gecko Browsers */ - } -} diff --git a/searx/static/themes/default/less/definitions.less b/searx/static/themes/default/less/definitions.less deleted file mode 100644 index 0ac0cc90c..000000000 --- a/searx/static/themes/default/less/definitions.less +++ /dev/null @@ -1,119 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - * - * To change the colors of the site, simple edit this variables - */ - -/// Basic Colors - -@color-base: #3498DB; -@color-base-dark: #2980B9; -@color-base-light: #ECF0F1; -@color-highlight: #094089; -@color-black: #000000; - -/// General - -@color-font: #444; -@color-font-light: #888; - -@color-red: #C0392B; - -@color-url-font: #1a11be; -@color-url-visited-font: #8E44AD; -@results-width: 50em; - - -/// Start-Screen - -// hmarg -@color-hmarg-border: @color-base; -@color-hmarg-font: @color-base; -@color-hmarg-font-hover: @color-base; - - -/// Search-Input - -@color-search-border: @color-base; -@color-search-background: #FFF; -@color-search-font: #222; - -/// Autocompleter - -@color-autocompleter-choices-background: #FFF; -@color-autocompleter-choices-border: @color-base; -@color-autocompleter-choices-border-left-right: @color-base; -@color-autocompleter-choices-border-bottom: @color-base; - -@color-autocompleter-choices-font: #444; - -/// Answers -@color-answers-border: @color-base-dark; - -// Selected -@color-autocompleter-selected-background: #444; -@color-autocompleter-selected-font: #FFF; -@color-autocompleter-selected-queried-font: #9FCFFF; - -/// Categories - -@color-categories-item-selected: @color-base; -@color-categories-item-selected-font: #FFF; - -@color-categories-item-border-selected: @color-base-dark; -@color-categories-item-border-unselected: #E8E7E6; -@color-categories-item-border-unselected-hover: @color-base; - - -/// Results - -@color-suggestions-button-background: @color-base; -@color-suggestions-button-font: #FFF; - -@color-download-button-background: @color-base; -@color-download-button-font: #FFF; - -@color-result-search-background: @color-base-light; - -@color-result-definition-border: gray; -@color-result-torrent-border: lightgray; -@color-result-top-border: #E8E7E6; - -// Link to result -@color-result-link-font: @color-base-dark; -@color-result-link-visited-font: @color-url-visited-font; - -// Url to result -@color-result-url-font: @color-red; - -// Publish Date -@color-result-publishdate-font: @color-font-light; - -// Images -@color-result-image-span-background-hover: rgba(0, 0, 0, 0.6); -@color-result-image-span-font: #FFF; - -// Search-URL -@color-result-search-url-border: #888; -@color-result-search-url-font: #444; - - -/// Settings - -@color-settings-fieldset: @color-base; -@color-settings-tr-hover: #DDD; - -// Labels -@color-settings-label-allowed-background: #E74C3C; -@color-settings-label-allowed-font: #FFF; - -@color-settings-label-deny-background: #2ECC71; -@color-settings-label-deny-font: @color-font; - -@color-settings-return-background: @color-base; -@color-settings-return-font: #FFF; - -/// Other - -@color-engines-font: @color-font-light; -@color-percentage-div-background: #444; diff --git a/searx/static/themes/default/less/mixins.less b/searx/static/themes/default/less/mixins.less deleted file mode 100644 index dbccce6e3..000000000 --- a/searx/static/themes/default/less/mixins.less +++ /dev/null @@ -1,27 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - */ - -// Mixins - -.text-size-adjust (@property: 100%) { - -webkit-text-size-adjust: @property; - -ms-text-size-adjust: @property; - -moz-text-size-adjust: @property; - text-size-adjust: @property; -} - -.rounded-corners (@radius: 4px) { - -webkit-border-radius: @radius; - -moz-border-radius: @radius; - border-radius: @radius; -} - -.user-select () { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} diff --git a/searx/static/themes/default/less/search.less b/searx/static/themes/default/less/search.less deleted file mode 100644 index d285ca734..000000000 --- a/searx/static/themes/default/less/search.less +++ /dev/null @@ -1,68 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - */ - -.search { - padding: 0; - margin: 0; - .checkbox_container label { - font-size: 0.9em; - border-bottom: 2px solid @color-categories-item-border-unselected; - } - - .checkbox_container label:hover { - border-bottom: 2px solid @color-categories-item-border-unselected-hover; - } - - .checkbox_container input[type="checkbox"]:checked + label { - border-bottom: 2px solid @color-categories-item-border-selected; - } -} - -#search_wrapper { - position: relative; - width: @results-width; - padding: 10px; -} - -.center #search_wrapper { - margin-left: auto; - margin-right: auto; -} - -.q { - background: none repeat scroll 0 0 @color-search-background; - border: 1px solid @color-search-border; - color: @color-search-font; - font-size: 16px; - height: 28px; - margin: 0; - outline: medium none; - padding: 2px; - padding-left: 8px; - padding-right: 0px !important; - width: 100%; - z-index: 2; -} - -#search_submit { - position: absolute; - top: 13px; - right: 1px; - padding: 0; - border: 0; - background: url('../img/search-icon.png') no-repeat; - background-size: 24px 24px; - opacity: 0.8; - width: 24px; - height: 30px; - font-size: 0; -} - -@media screen and (max-width: @results-width) { - #search_wrapper { - width: 90%; - clear:both; - overflow: hidden - } -} diff --git a/searx/static/themes/default/less/style-rtl.less b/searx/static/themes/default/less/style-rtl.less deleted file mode 100644 index eac53c1f8..000000000 --- a/searx/static/themes/default/less/style-rtl.less +++ /dev/null @@ -1,11 +0,0 @@ -#search_submit { - left: 1px; - right:auto; -} - -.result .favicon { - float: right; - margin-left: 0.5em; - margin-right: 0; -} - diff --git a/searx/static/themes/default/less/style.less b/searx/static/themes/default/less/style.less deleted file mode 100644 index 4374f7d68..000000000 --- a/searx/static/themes/default/less/style.less +++ /dev/null @@ -1,739 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - * - * To convert "style.less" to "style.css" run: $make styles - */ - -@import "definitions.less"; - -@import "mixins.less"; - -@import "code.less"; - -// Main LESS-Code - -html { - font-family: sans-serif; - font-size: 0.9em; - .text-size-adjust; - color: @color-font; - padding: 0; - margin: 0; -} - -body, #container { - padding: 0; - margin: 0; -} - -#container { - width: 100%; - position: absolute; - top: 0; -} - -// Search-Field - -@import "search.less"; - -// Autocompleter - -@import "autocompleter.less"; - -.row { - max-width: 800px; - margin: 20px auto; - text-align: justify; - - h1 { - font-size: 3em; - margin-top: 50px; - } - - p { - padding: 0 10px; - max-width: 700px; - } - - h3,ul { - margin: 4px 8px; - } -} - -.hmarg { - margin: 0 20px; - border: 1px solid @color-hmarg-border; - padding: 4px 10px; -} - -a { - &:link.hmarg { - color: @color-hmarg-font; - } - - &:visited.hmarg { - color: @color-hmarg-font; - } - - &:active.hmarg { - color: @color-hmarg-font-hover; - } - - &:hover.hmarg { - color: @color-hmarg-font-hover; - } -} - -.top_margin { - margin-top: 60px; -} - -.center { - text-align: center; -} - -h1 { - font-size: 5em; -} - -div.title { - background: url('../img/searx.png') no-repeat; - width: 100%; - min-height: 80px; - background-position: center; - - h1 { - visibility: hidden; - } -} - -input[type="submit"] { - padding: 2px 6px; - margin: 2px 4px; - display: inline-block; - background: @color-download-button-background; - color: @color-download-button-font; - .rounded-corners; - border: 0; - cursor: pointer; -} - -input[type="checkbox"] { - visibility: hidden; -} - -fieldset { - margin: 8px; - border: 1px solid @color-settings-fieldset; -} - -#categories { - margin: 0 10px; - .user-select; -} - -.checkbox_container { - display: inline-block; - position: relative; - margin: 0 3px; - padding: 0px; - - input { - display: none; - } -} - -.checkbox_container label, .engine_checkbox label { - cursor: pointer; - padding: 4px 10px; - margin: 0; - display: block; - text-transform: capitalize; - .user-select; -} - -.checkbox_container input[type="checkbox"]:checked + label { - background: @color-categories-item-selected; - color: @color-categories-item-selected-font; -} - -.engine_checkbox { - padding: 4px; -} - -label { - &.allow { - background: @color-settings-label-allowed-background; - padding: 4px 8px; - color: @color-settings-label-allowed-font; - display: none; - } - - &.deny { - background: @color-settings-label-deny-background; - padding: 4px 8px; - color: @color-settings-label-deny-font; - display: inline; - } -} - -.engine_checkbox input[type="checkbox"]:checked + label { - &:nth-child(2) + label { - display: none; - } - - &.allow { - display: inline; - } -} - -a { - text-decoration: none; - color: @color-url-font; - - &:visited { - color: @color-url-visited-font; - } -} - -.result { - margin: 19px 0 18px 0; - padding: 0; - clear: both; -} - -.result_title { - margin-bottom: 0; - - a { - color: @color-result-link-font; - font-weight: normal; - font-size: 1.1em; - - &:hover { - text-decoration: underline; - } - - &:visited { - color: @color-result-link-visited-font; - } - } -} - -.cache_link { - font-size: 10px !important; -} - -.result { - h3 { - font-size: 1em; - word-wrap:break-word; - margin: 5px 0 1px 0; - padding: 0 - } - - .content { - font-size: 0.8em; - margin: 0; - padding: 0; - max-width: 54em; - word-wrap:break-word; - line-height: 1.24; - - img { - float: left; - margin-right: 5px; - max-width: 200px; - max-height: 100px; - } - - br.last { - clear: both; - } - } - - .url { - font-size: 0.8em; - margin: 0 0 3px 0; - padding: 0; - max-width: 54em; - word-wrap:break-word; - color: @color-result-url-font; - } - - .published_date { - font-size: 0.8em; - color: @color-result-publishdate-font; - Margin: 5px 20px; - } - - .thumbnail { - width: 400px; - } -} - -.engines { - color: @color-engines-font; -} - -.small_font { - font-size: 0.8em; -} - -.small p { - margin: 2px 0; -} - -.right { - float: right; -} - -.invisible { - display: none; -} - -.left { - float: left; -} - -.highlight { - color: @color-highlight; -} - -.content .highlight { - color: @color-black; -} - -.image_result { - display: inline-block; - margin: 10px 10px; - position: relative; - max-height: 160px; - - img { - border: 0; - max-height: 160px; - } - - p { - margin: 0; - padding: 0; - - span a { - display: none; - color: @color-result-image-span-font; - } - - &:hover span a { - display: block; - position: absolute; - bottom: 0; - right: 0; - padding: 4px; - background-color: @color-result-image-span-background-hover; - font-size: 0.7em; - } - } -} - -.torrent_result { - border-left: 10px solid @color-result-torrent-border; - padding-left: 3px; - - p { - margin: 3px; - font-size: 0.8em; - } - - a { - color: @color-result-link-font; - - &:hover { - text-decoration: underline; - } - - &:visited { - color: @color-result-link-visited-font; - } - } -} - -.definition_result { - border-left: 10px solid @color-result-definition-border; - padding-left: 3px; -} - -.percentage { - position: relative; - width: 300px; - - div { - background: @color-percentage-div-background; - } -} - -table { - width: 100%; -} - -td { - padding: 0 4px; -} - -tr { - &:hover { - background: @color-settings-tr-hover; - } -} - -#results { - margin: auto; - padding: 0; - width: @results-width; - margin-bottom: 20px; -} - -#sidebar { - position: fixed; - bottom: 10px; - left: 10px; - margin: 0 2px 5px 5px; - padding: 0 2px 2px 2px; - width: 14em; - - input { - padding: 0; - margin: 3px; - font-size: 0.8em; - display: inline-block; - background: transparent; - color: @color-result-search-url-font; - cursor: pointer; - } - input[type="submit"] { - text-decoration: underline; - } -} - -#suggestions { - - form { - display: inline; - } - -} - -#suggestions, #answers { - - margin-top: 20px; - max-width: 45em; - -} - -#suggestions, #answers, #infoboxes { - - input { - padding: 0; - margin: 3px; - font-size: 0.8em; - display: inline-block; - background: transparent; - color: @color-result-search-url-font; - cursor: pointer; - } - - input[type="submit"] { - text-decoration: underline; - } - -} - -#suggestions-title { - -color: @color-font-light; - - -} - -#answers { - - border: 2px solid @color-answers-border; - padding: 20px; - -} - -#answers, #infoboxes { - form { - min-width: 210px; - } -} - - -#infoboxes { - position: absolute; - top: 100px; - right: 20px; - margin: 0px 2px 5px 5px; - padding: 0px 2px 2px; - max-width: 21em; - word-wrap: break-word; - - .infobox { - margin: 10px 0 10px; - border: 1px solid #ddd; - padding: 5px; - font-size: 0.8em; - /* box-shadow: 0px 0px 5px #CCC; */ - - img { - max-width: 90%; - max-heigt: 12em; - display: block; - margin: 5px; - padding: 5px; - } - - h2 { - margin: 0; - } - - table { - table-layout: fixed; - - td { - vertical-align: top; - } - - } - - input { - font-size: 1em; - } - - br { - clear: both; - } - - } -} - -#search_url { - margin-top: 8px; - - input { - border: 1px solid @color-result-search-url-border; - padding: 4px; - color: @color-result-search-url-font; - width: 14em; - display: block; - margin: 4px; - font-size: 0.8em; - } -} - -#preferences { - top: 10px; - padding: 0; - border: 0; - background: url('../img/preference-icon.png') no-repeat; - background-size: 28px 28px; - opacity: 0.8; - width: 28px; - height: 30px; - display: block; - - * { - display: none; - } -} - -#pagination { - clear: both; - - br { - clear: both; - } -} - -#apis { - margin-top: 8px; - clear: both; -} - -#categories_container { - position: relative; -} - -@media screen and (max-width: @results-width) { - - #results { - margin: auto; - padding: 0; - width: 90%; - } - - .github { - display: none; - } - - .checkbox_container { - display: block; - width: 90%; - //float: left; - - label { - border-bottom: 0; - } - } - - .preferences_container { - display: none; - postion: fixed !important; - top: 100px; - right: 0px; - } - -} - -@media screen and (max-width: 75em) { - - div.title { - - h1 { - font-size: 1em; - } - } - - html.touch #categories { - width: 95%; - height: 30px; - text-align: left; - overflow-x: scroll; - overflow-y: hidden; - -webkit-overflow-scrolling: touch; - - #categories_container { - width: 1000px; - width: -moz-max-content; - width: -webkit-max-content; - width: max-content; - - .checkbox_container { - display: inline-block; - width: auto; - } - } - } - - #categories { - font-size: 90%; - clear: both; - - .checkbox_container { - margin-top: 2px; - margin: auto; - } - } - - #suggestions, #answers { - margin-top: 5px; - } - - #infoboxes { - position: inherit; - max-width: inherit; - - .infobox { - clear:both; - - img { - float: left; - max-width: 10em; - } - } - } - - #categories { - font-size: 90%; - clear: both; - - .checkbox_container { - margin-top: 2px; - margin: auto; - } - } - - #sidebar { - position: static; - max-width: @results-width; - margin: 0 0 2px 0; - padding: 0; - float: none; - border: none; - width: auto; - input { - border: 0; - } - } - - #apis { - display: none; - } - - #search_url { - display: none; - } - - .result { - border-top: 1px solid @color-result-top-border; - margin: 8px 0 8px 0; - - .thumbnail { - max-width: 98%; - } - } - - .image_result { - max-width: 98%; - img { - max-width: 98%; - } - } -} - -.favicon { - float: left; - margin-right: 4px; - margin-top: 2px; -} - -.preferences_back { - background: none repeat scroll 0 0 @color-settings-return-background; - border: 0 none; - .rounded-corners; - cursor: pointer; - display: inline-block; - margin: 2px 4px; - padding: 4px 6px; - - a { - color: @color-settings-return-font; - } -} - -.hidden { - opacity: 0; - overflow: hidden; - font-size: 0.8em; - position: absolute; - bottom: -20px; - width: 100%; - text-position: center; - background: white; - transition: opacity 1s ease; -} - -#categories_container:hover .hidden { - transition: opacity 1s ease; - opacity: 0.8; -} diff --git a/searx/static/themes/legacy/css/style-rtl.css b/searx/static/themes/legacy/css/style-rtl.css new file mode 100644 index 000000000..65ad6638e --- /dev/null +++ b/searx/static/themes/legacy/css/style-rtl.css @@ -0,0 +1 @@ +#search_submit{left:1px;right:auto}.result .favicon{float:right;margin-left:.5em;margin-right:0} \ No newline at end of file diff --git a/searx/static/themes/legacy/css/style.css b/searx/static/themes/legacy/css/style.css new file mode 100644 index 000000000..71422bc94 --- /dev/null +++ b/searx/static/themes/legacy/css/style.css @@ -0,0 +1 @@ +.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid #f00}.highlight .k{color:#008000;font-weight:bold}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:#000080;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#04d}.highlight .kc{color:#008000;font-weight:bold}.highlight .kd{color:#008000;font-weight:bold}.highlight .kn{color:#008000;font-weight:bold}.highlight .kp{color:#008000}.highlight .kr{color:#008000;font-weight:bold}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:#008000}.highlight .nc{color:#00f;font-weight:bold}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:bold}.highlight .ne{color:#d2413a;font-weight:bold}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00f;font-weight:bold}.highlight .nt{color:#008000;font-weight:bold}.highlight .nv{color:#19177c}.highlight .ow{color:#a2f;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#ba2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#b62;font-weight:bold}.highlight .sh{color:#ba2121}.highlight .si{color:#b68;font-weight:bold}.highlight .sx{color:#008000}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:#008000}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight pre{overflow:auto}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent}.highlight .lineno::-moz-selection{background:transparent}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444;padding:0;margin:0}body,#container{padding:0;margin:0}#container{width:100%;position:absolute;top:0}.search{padding:0;margin:0}.search .checkbox_container label{font-size:.9em;border-bottom:2px solid #e8e7e6}.search .checkbox_container label:hover{border-bottom:2px solid #3498db}.search .checkbox_container input[type="checkbox"]:checked+label{border-bottom:2px solid #2980b9}#search_wrapper{position:relative;width:50em;padding:10px}.center #search_wrapper{margin-left:auto;margin-right:auto}.q{background:none repeat scroll 0 0 #fff;border:1px solid #3498db;color:#222;font-size:16px;height:28px;margin:0;outline:medium none;padding:2px;padding-left:8px;padding-right:0 !important;width:100%;z-index:2}#search_submit{position:absolute;top:13px;right:1px;padding:0;border:0;background:url('../img/search-icon.png') no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:30px;font-size:0}@media screen and (max-width:50em){#search_wrapper{width:90%;clear:both;overflow:hidden}}ul.autocompleter-choices{position:absolute;margin:0;padding:0;list-style:none;border:1px solid #3498db;border-left-color:#3498db;border-right-color:#3498db;border-bottom-color:#3498db;text-align:left;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;z-index:50;background-color:#fff;color:#444}ul.autocompleter-choices li{position:relative;margin:-2px 0 0 0;padding:.2em 1.5em .2em 1em;display:block;float:none !important;cursor:pointer;font-weight:normal;white-space:nowrap;font-size:1em;line-height:1.5em}ul.autocompleter-choices li.autocompleter-selected{background-color:#444;color:#fff}ul.autocompleter-choices li.autocompleter-selected span.autocompleter-queried{color:#9fcfff}ul.autocompleter-choices span.autocompleter-queried{display:inline;float:none;font-weight:bold;margin:0;padding:0}.row{max-width:800px;margin:20px auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}.row p{padding:0 10px;max-width:700px}.row h3,.row ul{margin:4px 8px}.hmarg{margin:0 20px;border:1px solid #3498db;padding:4px 10px}a:link.hmarg{color:#3498db}a:visited.hmarg{color:#3498db}a:active.hmarg{color:#3498db}a:hover.hmarg{color:#3498db}.top_margin{margin-top:60px}.center{text-align:center}h1{font-size:5em}div.title{background:url('../img/searx.png') no-repeat;width:100%;min-height:80px;background-position:center}div.title h1{visibility:hidden}input[type="submit"]{padding:2px 6px;margin:2px 4px;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}input[type="checkbox"]{visibility:hidden}fieldset{margin:8px;border:1px solid #3498db}#categories{margin:0 10px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff}.engine_checkbox{padding:4px}label.allow{background:#e74c3c;padding:4px 8px;color:#fff;display:none}label.deny{background:#2ecc71;padding:4px 8px;color:#444;display:inline}.engine_checkbox input[type="checkbox"]:checked+label:nth-child(2)+label{display:none}.engine_checkbox input[type="checkbox"]:checked+label.allow{display:inline}a{text-decoration:none;color:#1a11be}a:visited{color:#8e44ad}.result{margin:19px 0 18px 0;padding:0;clear:both}.result_title{margin-bottom:0}.result_title a{color:#2980b9;font-weight:normal;font-size:1.1em}.result_title a:hover{text-decoration:underline}.result_title a:visited{color:#8e44ad}.cache_link{font-size:10px !important}.result h3{font-size:1em;word-wrap:break-word;margin:5px 0 1px 0;padding:0}.result .content{font-size:.8em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content img{float:left;margin-right:5px;max-width:200px;max-height:100px}.result .content br.last{clear:both}.result .url{font-size:.8em;margin:0 0 3px 0;padding:0;max-width:54em;word-wrap:break-word;color:#c0392b}.result .published_date{font-size:.8em;color:#888;Margin:5px 20px}.result .thumbnail{width:400px}.engines{color:#888}.small_font{font-size:.8em}.small p{margin:2px 0}.right{float:right}.invisible{display:none}.left{float:left}.highlight{color:#094089}.content .highlight{color:#000}.image_result{display:inline-block;margin:10px 10px;position:relative;max-height:160px}.image_result img{border:0;max-height:160px}.image_result p{margin:0;padding:0}.image_result p span a{display:none;color:#fff}.image_result p:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;background-color:rgba(0,0,0,0.6);font-size:.7em}.torrent_result{border-left:10px solid lightgray;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#2980b9}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#8e44ad}.definition_result{border-left:10px solid gray;padding-left:3px}.percentage{position:relative;width:300px}.percentage div{background:#444}table{width:100%}td{padding:0 4px}tr:hover{background:#ddd}#results{margin:auto;padding:0;width:50em;margin-bottom:20px}#sidebar{position:fixed;bottom:10px;left:10px;margin:0 2px 5px 5px;padding:0 2px 2px 2px;width:14em}#sidebar input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}#sidebar input[type="submit"]{text-decoration:underline}#suggestions form{display:inline}#suggestions,#answers{margin-top:20px;max-width:45em}#suggestions input,#answers input,#infoboxes input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}#suggestions input[type="submit"],#answers input[type="submit"],#infoboxes input[type="submit"]{text-decoration:underline}#suggestions-title{color:#888}#answers{border:2px solid #2980b9;padding:20px}#answers form,#infoboxes form{min-width:210px}#infoboxes{position:absolute;top:100px;right:20px;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:21em;word-wrap:break-word;}#infoboxes .infobox{margin:10px 0 10px;border:1px solid #ddd;padding:5px;font-size:.8em}#infoboxes .infobox img{max-width:90%;max-heigt:12em;display:block;margin:5px;padding:5px}#infoboxes .infobox h2{margin:0}#infoboxes .infobox table{table-layout:fixed;}#infoboxes .infobox table td{vertical-align:top}#infoboxes .infobox input{font-size:1em}#infoboxes .infobox br{clear:both}#search_url{margin-top:8px}#search_url input{border:1px solid #888;padding:4px;color:#444;width:14em;display:block;margin:4px;font-size:.8em}#preferences{top:10px;padding:0;border:0;background:url('../img/preference-icon.png') no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none}#pagination{clear:both}#pagination br{clear:both}#apis{margin-top:8px;clear:both}#categories_container{position:relative}@media screen and (max-width:50em){#results{margin:auto;padding:0;width:90%}.github{display:none}.checkbox_container{display:block;width:90%}.checkbox_container label{border-bottom:0}.preferences_container{display:none;postion:fixed !important;top:100px;right:0}}@media screen and (max-width:75em){div.title h1{font-size:1em}html.touch #categories{width:95%;height:30px;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}html.touch #categories #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #categories #categories_container .checkbox_container{display:inline-block;width:auto}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#suggestions,#answers{margin-top:5px}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#sidebar{position:static;max-width:50em;margin:0 0 2px 0;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}#apis{display:none}#search_url{display:none}.result{border-top:1px solid #e8e7e6;margin:8px 0 8px 0}.result .thumbnail{max-width:98%}.image_result{max-width:98%}.image_result img{max-width:98%}}.favicon{float:left;margin-right:4px;margin-top:2px}.preferences_back{background:none repeat scroll 0 0 #3498db;border:0 none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:4px 6px}.preferences_back a{color:#fff}.hidden{opacity:0;overflow:hidden;font-size:.8em;position:absolute;bottom:-20px;width:100%;text-position:center;background:white;transition:opacity 1s ease}#categories_container:hover .hidden{transition:opacity 1s ease;opacity:.8} diff --git a/searx/static/themes/legacy/img/favicon.png b/searx/static/themes/legacy/img/favicon.png new file mode 100644 index 000000000..1a43d7fa6 Binary files /dev/null and b/searx/static/themes/legacy/img/favicon.png differ diff --git a/searx/static/themes/legacy/img/github_ribbon.png b/searx/static/themes/legacy/img/github_ribbon.png new file mode 100644 index 000000000..3799c2ea1 Binary files /dev/null and b/searx/static/themes/legacy/img/github_ribbon.png differ diff --git a/searx/static/themes/legacy/img/icons/icon_500px.ico b/searx/static/themes/legacy/img/icons/icon_500px.ico new file mode 100644 index 000000000..b01aa20b5 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_500px.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_bing.ico b/searx/static/themes/legacy/img/icons/icon_bing.ico new file mode 100644 index 000000000..5702749c1 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_bing.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_dailymotion.ico b/searx/static/themes/legacy/img/icons/icon_dailymotion.ico new file mode 100644 index 000000000..b161a57fb Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_dailymotion.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_deezer.ico b/searx/static/themes/legacy/img/icons/icon_deezer.ico new file mode 100644 index 000000000..d38c9b1f6 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_deezer.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_deviantart.ico b/searx/static/themes/legacy/img/icons/icon_deviantart.ico new file mode 100644 index 000000000..26c353325 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_deviantart.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_digg.ico b/searx/static/themes/legacy/img/icons/icon_digg.ico new file mode 100644 index 000000000..162e57038 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_digg.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_duckduckgo.ico b/searx/static/themes/legacy/img/icons/icon_duckduckgo.ico new file mode 100644 index 000000000..d093082cb Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_duckduckgo.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_flickr.ico b/searx/static/themes/legacy/img/icons/icon_flickr.ico new file mode 100644 index 000000000..e2304c587 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_flickr.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_github.ico b/searx/static/themes/legacy/img/icons/icon_github.ico new file mode 100644 index 000000000..133f0ca35 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_github.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_google play apps.ico b/searx/static/themes/legacy/img/icons/icon_google play apps.ico new file mode 100644 index 000000000..74c84470b Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_google play apps.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_google play movies.ico b/searx/static/themes/legacy/img/icons/icon_google play movies.ico new file mode 100644 index 000000000..74c84470b Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_google play movies.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_google play music.ico b/searx/static/themes/legacy/img/icons/icon_google play music.ico new file mode 100644 index 000000000..74c84470b Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_google play music.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_google.ico b/searx/static/themes/legacy/img/icons/icon_google.ico new file mode 100644 index 000000000..f594697d2 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_google.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_kickass.ico b/searx/static/themes/legacy/img/icons/icon_kickass.ico new file mode 100644 index 000000000..4aa2c77a5 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_kickass.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_openstreetmap.ico b/searx/static/themes/legacy/img/icons/icon_openstreetmap.ico new file mode 100644 index 000000000..b65863656 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_openstreetmap.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_searchcode code.ico b/searx/static/themes/legacy/img/icons/icon_searchcode code.ico new file mode 100644 index 000000000..dc099ef70 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_searchcode code.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_searchcode doc.ico b/searx/static/themes/legacy/img/icons/icon_searchcode doc.ico new file mode 100644 index 000000000..dc099ef70 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_searchcode doc.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_searchcode.ico b/searx/static/themes/legacy/img/icons/icon_searchcode.ico new file mode 100644 index 000000000..dc099ef70 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_searchcode.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_soundcloud.ico b/searx/static/themes/legacy/img/icons/icon_soundcloud.ico new file mode 100644 index 000000000..4130bea1b Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_soundcloud.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_stackoverflow.ico b/searx/static/themes/legacy/img/icons/icon_stackoverflow.ico new file mode 100644 index 000000000..b2242bc6c Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_stackoverflow.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_startpage.ico b/searx/static/themes/legacy/img/icons/icon_startpage.ico new file mode 100644 index 000000000..44b94a986 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_startpage.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_subtitleseeker.ico b/searx/static/themes/legacy/img/icons/icon_subtitleseeker.ico new file mode 100644 index 000000000..9a0565558 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_subtitleseeker.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_twitter.ico b/searx/static/themes/legacy/img/icons/icon_twitter.ico new file mode 100644 index 000000000..b4a71699a Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_twitter.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_vimeo.ico b/searx/static/themes/legacy/img/icons/icon_vimeo.ico new file mode 100644 index 000000000..4fe4336da Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_vimeo.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_wikipedia.ico b/searx/static/themes/legacy/img/icons/icon_wikipedia.ico new file mode 100644 index 000000000..e70021849 Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_wikipedia.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_yahoo.ico b/searx/static/themes/legacy/img/icons/icon_yahoo.ico new file mode 100644 index 000000000..9bd1d9f7c Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_yahoo.ico differ diff --git a/searx/static/themes/legacy/img/icons/icon_youtube.ico b/searx/static/themes/legacy/img/icons/icon_youtube.ico new file mode 100644 index 000000000..977887dbb Binary files /dev/null and b/searx/static/themes/legacy/img/icons/icon_youtube.ico differ diff --git a/searx/static/themes/legacy/img/preference-icon.png b/searx/static/themes/legacy/img/preference-icon.png new file mode 100644 index 000000000..8bdee641d Binary files /dev/null and b/searx/static/themes/legacy/img/preference-icon.png differ diff --git a/searx/static/themes/legacy/img/search-icon.png b/searx/static/themes/legacy/img/search-icon.png new file mode 100644 index 000000000..d70310b5d Binary files /dev/null and b/searx/static/themes/legacy/img/search-icon.png differ diff --git a/searx/static/themes/legacy/img/searx.png b/searx/static/themes/legacy/img/searx.png new file mode 100644 index 000000000..a98f12a1d Binary files /dev/null and b/searx/static/themes/legacy/img/searx.png differ diff --git a/searx/static/themes/legacy/img/searx_logo.svg b/searx/static/themes/legacy/img/searx_logo.svg new file mode 100644 index 000000000..67a2d4588 --- /dev/null +++ b/searx/static/themes/legacy/img/searx_logo.svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/searx/static/themes/legacy/js/searx.js b/searx/static/themes/legacy/js/searx.js new file mode 100644 index 000000000..d6d5b74bb --- /dev/null +++ b/searx/static/themes/legacy/js/searx.js @@ -0,0 +1,49 @@ +if(searx.autocompleter) { + window.addEvent('domready', function() { + new Autocompleter.Request.JSON('q', './autocompleter', { + postVar:'q', + postData:{ + 'format': 'json' + }, + ajaxOptions:{ + timeout: 5 // Correct option? + }, + 'minLength': 4, + 'selectMode': false, + cache: true, + delay: 300 + }); + }); +} + +(function (w, d) { + 'use strict'; + function addListener(el, type, fn) { + if (el.addEventListener) { + el.addEventListener(type, fn, false); + } else { + el.attachEvent('on' + type, fn); + } + } + + function placeCursorAtEnd() { + if (this.setSelectionRange) { + var len = this.value.length * 2; + this.setSelectionRange(len, len); + } + } + + addListener(w, 'load', function () { + var qinput = d.getElementById('q'); + if (qinput !== null && qinput.value === "") { + addListener(qinput, 'focus', placeCursorAtEnd); + qinput.focus(); + } + }); + + if (!!('ontouchstart' in window)) { + document.getElementsByTagName("html")[0].className += " touch"; + } + +})(window, document); + diff --git a/searx/static/themes/legacy/less/autocompleter.less b/searx/static/themes/legacy/less/autocompleter.less new file mode 100644 index 000000000..db9601aeb --- /dev/null +++ b/searx/static/themes/legacy/less/autocompleter.less @@ -0,0 +1,61 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + */ + +ul { + &.autocompleter-choices { + position: absolute; + margin: 0; + padding: 0; + list-style: none; + border: 1px solid @color-autocompleter-choices-border; + border-left-color: @color-autocompleter-choices-border-left-right; + border-right-color: @color-autocompleter-choices-border-left-right; + border-bottom-color: @color-autocompleter-choices-border-bottom; + text-align: left; + font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; + z-index: 50; + background-color: @color-autocompleter-choices-background; + color: @color-autocompleter-choices-font; + + li { + position: relative; + margin: -2px 0 0 0; + padding: 0.2em 1.5em 0.2em 1em; + display: block; + float: none !important; + cursor: pointer; + font-weight: normal; + white-space: nowrap; + font-size: 1em; + line-height: 1.5em; + + &.autocompleter-selected { + background-color: @color-autocompleter-selected-background; + color: @color-autocompleter-selected-font; + + span.autocompleter-queried { + color: @color-autocompleter-selected-queried-font; + } + } + } + + span.autocompleter-queried { + display: inline; + float: none; + font-weight: bold; + margin: 0; + padding: 0; + } + } +} + +/*.autocompleter-loading { + //background-image: url(images/spinner.gif); + background-repeat: no-repeat; + background-position: right 50%; +}*/ + +/*textarea.autocompleter-loading { + background-position: right bottom; +}*/ diff --git a/searx/static/themes/legacy/less/code.less b/searx/static/themes/legacy/less/code.less new file mode 100644 index 000000000..a688dd98d --- /dev/null +++ b/searx/static/themes/legacy/less/code.less @@ -0,0 +1,83 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + +.highlight pre { + overflow: auto; +} + +.highlight .lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; + + &::selection { + background: transparent; /* WebKit/Blink Browsers */ + } + &::-moz-selection { + background: transparent; /* Gecko Browsers */ + } +} diff --git a/searx/static/themes/legacy/less/definitions.less b/searx/static/themes/legacy/less/definitions.less new file mode 100644 index 000000000..0ac0cc90c --- /dev/null +++ b/searx/static/themes/legacy/less/definitions.less @@ -0,0 +1,119 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + * + * To change the colors of the site, simple edit this variables + */ + +/// Basic Colors + +@color-base: #3498DB; +@color-base-dark: #2980B9; +@color-base-light: #ECF0F1; +@color-highlight: #094089; +@color-black: #000000; + +/// General + +@color-font: #444; +@color-font-light: #888; + +@color-red: #C0392B; + +@color-url-font: #1a11be; +@color-url-visited-font: #8E44AD; +@results-width: 50em; + + +/// Start-Screen + +// hmarg +@color-hmarg-border: @color-base; +@color-hmarg-font: @color-base; +@color-hmarg-font-hover: @color-base; + + +/// Search-Input + +@color-search-border: @color-base; +@color-search-background: #FFF; +@color-search-font: #222; + +/// Autocompleter + +@color-autocompleter-choices-background: #FFF; +@color-autocompleter-choices-border: @color-base; +@color-autocompleter-choices-border-left-right: @color-base; +@color-autocompleter-choices-border-bottom: @color-base; + +@color-autocompleter-choices-font: #444; + +/// Answers +@color-answers-border: @color-base-dark; + +// Selected +@color-autocompleter-selected-background: #444; +@color-autocompleter-selected-font: #FFF; +@color-autocompleter-selected-queried-font: #9FCFFF; + +/// Categories + +@color-categories-item-selected: @color-base; +@color-categories-item-selected-font: #FFF; + +@color-categories-item-border-selected: @color-base-dark; +@color-categories-item-border-unselected: #E8E7E6; +@color-categories-item-border-unselected-hover: @color-base; + + +/// Results + +@color-suggestions-button-background: @color-base; +@color-suggestions-button-font: #FFF; + +@color-download-button-background: @color-base; +@color-download-button-font: #FFF; + +@color-result-search-background: @color-base-light; + +@color-result-definition-border: gray; +@color-result-torrent-border: lightgray; +@color-result-top-border: #E8E7E6; + +// Link to result +@color-result-link-font: @color-base-dark; +@color-result-link-visited-font: @color-url-visited-font; + +// Url to result +@color-result-url-font: @color-red; + +// Publish Date +@color-result-publishdate-font: @color-font-light; + +// Images +@color-result-image-span-background-hover: rgba(0, 0, 0, 0.6); +@color-result-image-span-font: #FFF; + +// Search-URL +@color-result-search-url-border: #888; +@color-result-search-url-font: #444; + + +/// Settings + +@color-settings-fieldset: @color-base; +@color-settings-tr-hover: #DDD; + +// Labels +@color-settings-label-allowed-background: #E74C3C; +@color-settings-label-allowed-font: #FFF; + +@color-settings-label-deny-background: #2ECC71; +@color-settings-label-deny-font: @color-font; + +@color-settings-return-background: @color-base; +@color-settings-return-font: #FFF; + +/// Other + +@color-engines-font: @color-font-light; +@color-percentage-div-background: #444; diff --git a/searx/static/themes/legacy/less/mixins.less b/searx/static/themes/legacy/less/mixins.less new file mode 100644 index 000000000..dbccce6e3 --- /dev/null +++ b/searx/static/themes/legacy/less/mixins.less @@ -0,0 +1,27 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + */ + +// Mixins + +.text-size-adjust (@property: 100%) { + -webkit-text-size-adjust: @property; + -ms-text-size-adjust: @property; + -moz-text-size-adjust: @property; + text-size-adjust: @property; +} + +.rounded-corners (@radius: 4px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +.user-select () { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} diff --git a/searx/static/themes/legacy/less/search.less b/searx/static/themes/legacy/less/search.less new file mode 100644 index 000000000..d285ca734 --- /dev/null +++ b/searx/static/themes/legacy/less/search.less @@ -0,0 +1,68 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + */ + +.search { + padding: 0; + margin: 0; + .checkbox_container label { + font-size: 0.9em; + border-bottom: 2px solid @color-categories-item-border-unselected; + } + + .checkbox_container label:hover { + border-bottom: 2px solid @color-categories-item-border-unselected-hover; + } + + .checkbox_container input[type="checkbox"]:checked + label { + border-bottom: 2px solid @color-categories-item-border-selected; + } +} + +#search_wrapper { + position: relative; + width: @results-width; + padding: 10px; +} + +.center #search_wrapper { + margin-left: auto; + margin-right: auto; +} + +.q { + background: none repeat scroll 0 0 @color-search-background; + border: 1px solid @color-search-border; + color: @color-search-font; + font-size: 16px; + height: 28px; + margin: 0; + outline: medium none; + padding: 2px; + padding-left: 8px; + padding-right: 0px !important; + width: 100%; + z-index: 2; +} + +#search_submit { + position: absolute; + top: 13px; + right: 1px; + padding: 0; + border: 0; + background: url('../img/search-icon.png') no-repeat; + background-size: 24px 24px; + opacity: 0.8; + width: 24px; + height: 30px; + font-size: 0; +} + +@media screen and (max-width: @results-width) { + #search_wrapper { + width: 90%; + clear:both; + overflow: hidden + } +} diff --git a/searx/static/themes/legacy/less/style-rtl.less b/searx/static/themes/legacy/less/style-rtl.less new file mode 100644 index 000000000..eac53c1f8 --- /dev/null +++ b/searx/static/themes/legacy/less/style-rtl.less @@ -0,0 +1,11 @@ +#search_submit { + left: 1px; + right:auto; +} + +.result .favicon { + float: right; + margin-left: 0.5em; + margin-right: 0; +} + diff --git a/searx/static/themes/legacy/less/style.less b/searx/static/themes/legacy/less/style.less new file mode 100644 index 000000000..4374f7d68 --- /dev/null +++ b/searx/static/themes/legacy/less/style.less @@ -0,0 +1,739 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + * + * To convert "style.less" to "style.css" run: $make styles + */ + +@import "definitions.less"; + +@import "mixins.less"; + +@import "code.less"; + +// Main LESS-Code + +html { + font-family: sans-serif; + font-size: 0.9em; + .text-size-adjust; + color: @color-font; + padding: 0; + margin: 0; +} + +body, #container { + padding: 0; + margin: 0; +} + +#container { + width: 100%; + position: absolute; + top: 0; +} + +// Search-Field + +@import "search.less"; + +// Autocompleter + +@import "autocompleter.less"; + +.row { + max-width: 800px; + margin: 20px auto; + text-align: justify; + + h1 { + font-size: 3em; + margin-top: 50px; + } + + p { + padding: 0 10px; + max-width: 700px; + } + + h3,ul { + margin: 4px 8px; + } +} + +.hmarg { + margin: 0 20px; + border: 1px solid @color-hmarg-border; + padding: 4px 10px; +} + +a { + &:link.hmarg { + color: @color-hmarg-font; + } + + &:visited.hmarg { + color: @color-hmarg-font; + } + + &:active.hmarg { + color: @color-hmarg-font-hover; + } + + &:hover.hmarg { + color: @color-hmarg-font-hover; + } +} + +.top_margin { + margin-top: 60px; +} + +.center { + text-align: center; +} + +h1 { + font-size: 5em; +} + +div.title { + background: url('../img/searx.png') no-repeat; + width: 100%; + min-height: 80px; + background-position: center; + + h1 { + visibility: hidden; + } +} + +input[type="submit"] { + padding: 2px 6px; + margin: 2px 4px; + display: inline-block; + background: @color-download-button-background; + color: @color-download-button-font; + .rounded-corners; + border: 0; + cursor: pointer; +} + +input[type="checkbox"] { + visibility: hidden; +} + +fieldset { + margin: 8px; + border: 1px solid @color-settings-fieldset; +} + +#categories { + margin: 0 10px; + .user-select; +} + +.checkbox_container { + display: inline-block; + position: relative; + margin: 0 3px; + padding: 0px; + + input { + display: none; + } +} + +.checkbox_container label, .engine_checkbox label { + cursor: pointer; + padding: 4px 10px; + margin: 0; + display: block; + text-transform: capitalize; + .user-select; +} + +.checkbox_container input[type="checkbox"]:checked + label { + background: @color-categories-item-selected; + color: @color-categories-item-selected-font; +} + +.engine_checkbox { + padding: 4px; +} + +label { + &.allow { + background: @color-settings-label-allowed-background; + padding: 4px 8px; + color: @color-settings-label-allowed-font; + display: none; + } + + &.deny { + background: @color-settings-label-deny-background; + padding: 4px 8px; + color: @color-settings-label-deny-font; + display: inline; + } +} + +.engine_checkbox input[type="checkbox"]:checked + label { + &:nth-child(2) + label { + display: none; + } + + &.allow { + display: inline; + } +} + +a { + text-decoration: none; + color: @color-url-font; + + &:visited { + color: @color-url-visited-font; + } +} + +.result { + margin: 19px 0 18px 0; + padding: 0; + clear: both; +} + +.result_title { + margin-bottom: 0; + + a { + color: @color-result-link-font; + font-weight: normal; + font-size: 1.1em; + + &:hover { + text-decoration: underline; + } + + &:visited { + color: @color-result-link-visited-font; + } + } +} + +.cache_link { + font-size: 10px !important; +} + +.result { + h3 { + font-size: 1em; + word-wrap:break-word; + margin: 5px 0 1px 0; + padding: 0 + } + + .content { + font-size: 0.8em; + margin: 0; + padding: 0; + max-width: 54em; + word-wrap:break-word; + line-height: 1.24; + + img { + float: left; + margin-right: 5px; + max-width: 200px; + max-height: 100px; + } + + br.last { + clear: both; + } + } + + .url { + font-size: 0.8em; + margin: 0 0 3px 0; + padding: 0; + max-width: 54em; + word-wrap:break-word; + color: @color-result-url-font; + } + + .published_date { + font-size: 0.8em; + color: @color-result-publishdate-font; + Margin: 5px 20px; + } + + .thumbnail { + width: 400px; + } +} + +.engines { + color: @color-engines-font; +} + +.small_font { + font-size: 0.8em; +} + +.small p { + margin: 2px 0; +} + +.right { + float: right; +} + +.invisible { + display: none; +} + +.left { + float: left; +} + +.highlight { + color: @color-highlight; +} + +.content .highlight { + color: @color-black; +} + +.image_result { + display: inline-block; + margin: 10px 10px; + position: relative; + max-height: 160px; + + img { + border: 0; + max-height: 160px; + } + + p { + margin: 0; + padding: 0; + + span a { + display: none; + color: @color-result-image-span-font; + } + + &:hover span a { + display: block; + position: absolute; + bottom: 0; + right: 0; + padding: 4px; + background-color: @color-result-image-span-background-hover; + font-size: 0.7em; + } + } +} + +.torrent_result { + border-left: 10px solid @color-result-torrent-border; + padding-left: 3px; + + p { + margin: 3px; + font-size: 0.8em; + } + + a { + color: @color-result-link-font; + + &:hover { + text-decoration: underline; + } + + &:visited { + color: @color-result-link-visited-font; + } + } +} + +.definition_result { + border-left: 10px solid @color-result-definition-border; + padding-left: 3px; +} + +.percentage { + position: relative; + width: 300px; + + div { + background: @color-percentage-div-background; + } +} + +table { + width: 100%; +} + +td { + padding: 0 4px; +} + +tr { + &:hover { + background: @color-settings-tr-hover; + } +} + +#results { + margin: auto; + padding: 0; + width: @results-width; + margin-bottom: 20px; +} + +#sidebar { + position: fixed; + bottom: 10px; + left: 10px; + margin: 0 2px 5px 5px; + padding: 0 2px 2px 2px; + width: 14em; + + input { + padding: 0; + margin: 3px; + font-size: 0.8em; + display: inline-block; + background: transparent; + color: @color-result-search-url-font; + cursor: pointer; + } + input[type="submit"] { + text-decoration: underline; + } +} + +#suggestions { + + form { + display: inline; + } + +} + +#suggestions, #answers { + + margin-top: 20px; + max-width: 45em; + +} + +#suggestions, #answers, #infoboxes { + + input { + padding: 0; + margin: 3px; + font-size: 0.8em; + display: inline-block; + background: transparent; + color: @color-result-search-url-font; + cursor: pointer; + } + + input[type="submit"] { + text-decoration: underline; + } + +} + +#suggestions-title { + +color: @color-font-light; + + +} + +#answers { + + border: 2px solid @color-answers-border; + padding: 20px; + +} + +#answers, #infoboxes { + form { + min-width: 210px; + } +} + + +#infoboxes { + position: absolute; + top: 100px; + right: 20px; + margin: 0px 2px 5px 5px; + padding: 0px 2px 2px; + max-width: 21em; + word-wrap: break-word; + + .infobox { + margin: 10px 0 10px; + border: 1px solid #ddd; + padding: 5px; + font-size: 0.8em; + /* box-shadow: 0px 0px 5px #CCC; */ + + img { + max-width: 90%; + max-heigt: 12em; + display: block; + margin: 5px; + padding: 5px; + } + + h2 { + margin: 0; + } + + table { + table-layout: fixed; + + td { + vertical-align: top; + } + + } + + input { + font-size: 1em; + } + + br { + clear: both; + } + + } +} + +#search_url { + margin-top: 8px; + + input { + border: 1px solid @color-result-search-url-border; + padding: 4px; + color: @color-result-search-url-font; + width: 14em; + display: block; + margin: 4px; + font-size: 0.8em; + } +} + +#preferences { + top: 10px; + padding: 0; + border: 0; + background: url('../img/preference-icon.png') no-repeat; + background-size: 28px 28px; + opacity: 0.8; + width: 28px; + height: 30px; + display: block; + + * { + display: none; + } +} + +#pagination { + clear: both; + + br { + clear: both; + } +} + +#apis { + margin-top: 8px; + clear: both; +} + +#categories_container { + position: relative; +} + +@media screen and (max-width: @results-width) { + + #results { + margin: auto; + padding: 0; + width: 90%; + } + + .github { + display: none; + } + + .checkbox_container { + display: block; + width: 90%; + //float: left; + + label { + border-bottom: 0; + } + } + + .preferences_container { + display: none; + postion: fixed !important; + top: 100px; + right: 0px; + } + +} + +@media screen and (max-width: 75em) { + + div.title { + + h1 { + font-size: 1em; + } + } + + html.touch #categories { + width: 95%; + height: 30px; + text-align: left; + overflow-x: scroll; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; + + #categories_container { + width: 1000px; + width: -moz-max-content; + width: -webkit-max-content; + width: max-content; + + .checkbox_container { + display: inline-block; + width: auto; + } + } + } + + #categories { + font-size: 90%; + clear: both; + + .checkbox_container { + margin-top: 2px; + margin: auto; + } + } + + #suggestions, #answers { + margin-top: 5px; + } + + #infoboxes { + position: inherit; + max-width: inherit; + + .infobox { + clear:both; + + img { + float: left; + max-width: 10em; + } + } + } + + #categories { + font-size: 90%; + clear: both; + + .checkbox_container { + margin-top: 2px; + margin: auto; + } + } + + #sidebar { + position: static; + max-width: @results-width; + margin: 0 0 2px 0; + padding: 0; + float: none; + border: none; + width: auto; + input { + border: 0; + } + } + + #apis { + display: none; + } + + #search_url { + display: none; + } + + .result { + border-top: 1px solid @color-result-top-border; + margin: 8px 0 8px 0; + + .thumbnail { + max-width: 98%; + } + } + + .image_result { + max-width: 98%; + img { + max-width: 98%; + } + } +} + +.favicon { + float: left; + margin-right: 4px; + margin-top: 2px; +} + +.preferences_back { + background: none repeat scroll 0 0 @color-settings-return-background; + border: 0 none; + .rounded-corners; + cursor: pointer; + display: inline-block; + margin: 2px 4px; + padding: 4px 6px; + + a { + color: @color-settings-return-font; + } +} + +.hidden { + opacity: 0; + overflow: hidden; + font-size: 0.8em; + position: absolute; + bottom: -20px; + width: 100%; + text-position: center; + background: white; + transition: opacity 1s ease; +} + +#categories_container:hover .hidden { + transition: opacity 1s ease; + opacity: 0.8; +} diff --git a/searx/templates/default/404.html b/searx/templates/default/404.html deleted file mode 100644 index 1d88f86c4..000000000 --- a/searx/templates/default/404.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "default/base.html" %} -{% block content %} -
-

{{ _('Page not found') }}

- {% autoescape false %} -

{{ _('Go to %(search_page)s.', search_page='{}'.decode('utf-8').format(url_for('index'), _('search page'))) }}

- {% endautoescape %} -
-{% endblock %} diff --git a/searx/templates/default/about.html b/searx/templates/default/about.html deleted file mode 100644 index f21a6f296..000000000 --- a/searx/templates/default/about.html +++ /dev/null @@ -1,66 +0,0 @@ -{% extends 'default/base.html' %} -{% block content %} -{% include 'default/github_ribbon.html' %} -
-

About searx

- -

Searx is a metasearch engine, aggregating the results of other search engines while not storing information about its users. -

-

Why use searx?

-
    -
  • searx may not offer you as personalised results as Google, but it doesn't generate a profile about you
  • -
  • searx doesn't care about what you search for, never shares anything with a third party, and it can't be used to compromise you
  • -
  • searx is free software, the code is 100% open and you can help to make it better. See more on github
  • -
-

If you do care about privacy, want to be a conscious user, or otherwise believe - in digital freedom, make searx your default search engine or run it on your own server

- -

Technical details - How does it work?

- -

Searx is a metasearch engine, -inspired by the seeks project.
-It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they show up in neither our logs, nor your url history. In case of Chrome* users there is an exception, if searx used from the search bar it performs GET requests.
-Searx can be added to your browser's search bar; moreover, it can be set as the default search engine. -

- -

How can I make it my own?

- -

Searx appreciates your concern regarding logs, so take the code and run it yourself!
Add your Searx to this list to help other people reclaim their privacy and make the Internet freer! -
The more decentralized Internet is the more freedom we have!

- - -

More about searx

- - - - -
- -

FAQ

- -

How to add to firefox?

-

Install searx as a search engine on any version of Firefox! (javascript required)

- -

Developer FAQ

- -

New engines?

- -

Don't forget to restart searx after config edit!

- -

Installation/WSGI support?

-

See the installation and setup wiki page

- -

How to debug engines?

-

Stats page contains some useful data about the engines used.

- -
-{% endblock %} diff --git a/searx/templates/default/base.html b/searx/templates/default/base.html deleted file mode 100644 index a2c38fef7..000000000 --- a/searx/templates/default/base.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - {% block title %}{% endblock %}searx - - {% if rtl %} - - {% endif %} - - {% block styles %} - {% endblock %} - {% block meta %}{% endblock %} - {% block head %} - - {% endblock %} - - -
- {% block content %} - {% endblock %} - {% if autocomplete %} - - - {% endif %} - - -
- - diff --git a/searx/templates/default/categories.html b/searx/templates/default/categories.html deleted file mode 100644 index 1c466781b..000000000 --- a/searx/templates/default/categories.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
- {% for category in categories %} -
- -
- {% endfor %} - {% if display_tooltip %}{% endif %} -
-
diff --git a/searx/templates/default/github_ribbon.html b/searx/templates/default/github_ribbon.html deleted file mode 100644 index bdd9cf180..000000000 --- a/searx/templates/default/github_ribbon.html +++ /dev/null @@ -1,3 +0,0 @@ - - Fork me on GitHub - diff --git a/searx/templates/default/index.html b/searx/templates/default/index.html deleted file mode 100644 index fc15a44b6..000000000 --- a/searx/templates/default/index.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "default/base.html" %} -{% block content %} -
-

searx

- {% include 'default/search.html' %} -

- {% if rtl %} - {{ _('preferences') }} - {% endif %} - {{ _('about') }} - {% if not rtl %} - {{ _('preferences') }} - {% endif %} -

-
-{% include 'default/github_ribbon.html' %} -{% endblock %} - diff --git a/searx/templates/default/infobox.html b/searx/templates/default/infobox.html deleted file mode 100644 index 4dd25fabd..000000000 --- a/searx/templates/default/infobox.html +++ /dev/null @@ -1,51 +0,0 @@ -
-

{{ infobox.infobox }}

- {% if infobox.img_src %}{{ infobox.infobox|striptags }}{% endif %} -

{{ infobox.entity }}

-

{{ infobox.content | safe }}

- {% if infobox.attributes %} -
- - {% for attribute in infobox.attributes %} - - - {% if attribute.image %} - - {% else %} - - {% endif %} - - {% endfor %} -
{{ attribute.label }}{{ attribute.image.alt }}{{ attribute.value }}
-
- {% endif %} - - {% if infobox.urls %} -
- -
- {% endif %} - - {% if infobox.relatedTopics %} -
- {% for topic in infobox.relatedTopics %} -
-

{{ topic.name }}

- {% for suggestion in topic.suggestions %} -
- - -
- {% endfor %} -
- {% endfor %} -
- {% endif %} - -
- -
diff --git a/searx/templates/default/opensearch.xml b/searx/templates/default/opensearch.xml deleted file mode 100644 index 15d3eb792..000000000 --- a/searx/templates/default/opensearch.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - {{ instance_name }} - a privacy-respecting, hackable metasearch engine - UTF-8 - {{ urljoin(host, url_for('static', filename='img/favicon.png')) }} - searx metasearch - {% if opensearch_method == 'get' %} - - {% if autocomplete %} - - - - - {% endif %} - {% else %} - - - - {% if autocomplete %} - - - - - - {% endif %} - {% endif %} - diff --git a/searx/templates/default/opensearch_response_rss.xml b/searx/templates/default/opensearch_response_rss.xml deleted file mode 100644 index 5673eb2e1..000000000 --- a/searx/templates/default/opensearch_response_rss.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Searx search: {{ q }} - {{ base_url }}?q={{ q }} - Search results for "{{ q }}" - searx - {{ number_of_results }} - 1 - {{ number_of_results }} - - diff --git a/searx/templates/default/preferences.html b/searx/templates/default/preferences.html deleted file mode 100644 index 1de9d2275..000000000 --- a/searx/templates/default/preferences.html +++ /dev/null @@ -1,129 +0,0 @@ -{% extends "default/base.html" %} -{% block head %} {% endblock %} -{% block content %} -
-

{{ _('Preferences') }}

- -
-
- {{ _('Default categories') }} - {% set display_tooltip = false %} - {% include 'default/categories.html' %} -
-
- {{ _('Search language') }} -

- -

-
-
- {{ _('Interface language') }} -

- -

-
-
- {{ _('Autocomplete') }} -

- -

-
-
- {{ _('Image proxy') }} -

- -

-
-
- {{ _('Method') }} -

- -

-
-
- {{ _('SafeSearch') }} -

- -

-
-
- {{ _('Themes') }} -

- -

-
-
- {{ _('Results on new tabs') }} -

- -

-
-
- {{ _('Currently used search engines') }} - - - - - - - - {% for categ in all_categories %} - {% for search_engine in engines_by_category[categ] %} - - {% if not search_engine.private %} - - - - - - {% endif %} - {% endfor %} - {% endfor %} -
{{ _('Engine name') }}{{ _('Category') }}{{ _('Allow') }} / {{ _('Block') }}
{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})‎{{ _(categ) }} - - - -
-
-

{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }} -
- {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }} -

- - - - -
-
-{% endblock %} diff --git a/searx/templates/default/result_templates/code.html b/searx/templates/default/result_templates/code.html deleted file mode 100644 index 9e3ed20af..000000000 --- a/searx/templates/default/result_templates/code.html +++ /dev/null @@ -1,11 +0,0 @@ -
-

{% if result['favicon'] %}{{result['favicon']}}{% endif %}{{ result.title|safe }}

-

{{ result.pretty_url }}‎ {{ _('cached') }}

- {% if result.publishedDate %}

{{ result.publishedDate }}

{% endif %} -

{% if result.img_src %}{% endif %}{% if result.content %}{{ result.content|safe }}
{% endif %}

- {% if result.repository %}

{{ result.repository }}

{% endif %} - -
- {{ result.codelines|code_highlighter(result.code_language)|safe }} -
-
diff --git a/searx/templates/default/result_templates/default.html b/searx/templates/default/result_templates/default.html deleted file mode 100644 index da091174d..000000000 --- a/searx/templates/default/result_templates/default.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{% if "icon_"~result.engine~".ico" in favicons %}{{result.engine}}{% endif %}{{ result.title|safe }}

-

{{ result.pretty_url }}‎ {{ _('cached') }} - {% if result.publishedDate %}{{ result.publishedDate }}{% endif %}

-

{% if result.img_src %}{% endif %}{% if result.content %}{{ result.content|safe }}
{% endif %}

-
diff --git a/searx/templates/default/result_templates/images.html b/searx/templates/default/result_templates/images.html deleted file mode 100644 index 00f62abcc..000000000 --- a/searx/templates/default/result_templates/images.html +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/searx/templates/default/result_templates/map.html b/searx/templates/default/result_templates/map.html deleted file mode 100644 index 0200e0f6b..000000000 --- a/searx/templates/default/result_templates/map.html +++ /dev/null @@ -1,13 +0,0 @@ -
- - {% if "icon_"~result.engine~".ico" in favicons %} - {{result.engine}} - {% endif %} - -
-

{{ result.title|safe }}

-

{{ result.pretty_url }}‎ {{ _('cached') }} - {% if result.publishedDate %}{{ result.publishedDate }}{% endif %}

-

{% if result.img_src %}{% endif %}{% if result.content %}{{ result.content|safe }}
{% endif %}

-
-
diff --git a/searx/templates/default/result_templates/torrent.html b/searx/templates/default/result_templates/torrent.html deleted file mode 100644 index 67e058ae5..000000000 --- a/searx/templates/default/result_templates/torrent.html +++ /dev/null @@ -1,13 +0,0 @@ -
- {% if "icon_"~result.engine~".ico" in favicons %} - {{result.engine}} - {% endif %} -

{{ result.title|safe }}

-

{{ result.pretty_url }}‎

- {% if result.content %}

{{ result.content|safe }}

{% endif %} -

- {% if result.magnetlink %}{{ _('magnet link') }}{% endif %} - {% if result.torrentfile %}{{ _('torrent file') }}{% endif %} - - {{ _('Seeder') }} : {{ result.seed }}, {{ _('Leecher') }} : {{ result.leech }} -

-
diff --git a/searx/templates/default/result_templates/videos.html b/searx/templates/default/result_templates/videos.html deleted file mode 100644 index 727f44c71..000000000 --- a/searx/templates/default/result_templates/videos.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{% if "icon_"~result.engine~".ico" in favicons %}{{result.engine}}{% endif %}{{ result.title|safe }}

- {% if result.publishedDate %}{{ result.publishedDate }}
{% endif %} - {{ result.title|striptags }} -

{{ result.url }}‎

-
diff --git a/searx/templates/default/results.html b/searx/templates/default/results.html deleted file mode 100644 index 927b7b8a8..000000000 --- a/searx/templates/default/results.html +++ /dev/null @@ -1,100 +0,0 @@ -{% extends "default/base.html" %} -{% block title %}{{ q }} - {% endblock %} -{% block meta %}{% endblock %} -{% block content %} - - -
- - - {% if answers %} -
{{ _('Answers') }} - {% for answer in answers %} - {{ answer }} - {% endfor %} -
- {% endif %} - - {% if suggestions %} -
{{ _('Suggestions') }} : - {% set first = true %} - {% for suggestion in suggestions %} - {% if not first %} • {% endif %}
- - -
- {% set first = false %} - {% endfor %} -
- {% endif %} - - {% if infoboxes %} -
- {% for infobox in infoboxes %} - {% include 'default/infobox.html' %} - {% endfor %} -
- {% endif %} - - {% for result in results %} - {% if result['template'] %} - {% include get_result_template('default', result['template']) %} - {% else %} - {% include 'default/result_templates/default.html' %} - {% endif %} - {% endfor %} - - {% if paging %} - - {% endif %} -
-{% endblock %} diff --git a/searx/templates/default/search.html b/searx/templates/default/search.html deleted file mode 100644 index 5a049a492..000000000 --- a/searx/templates/default/search.html +++ /dev/null @@ -1,8 +0,0 @@ -
-
- - -
- {% set display_tooltip = true %} - {% include 'default/categories.html' %} -
diff --git a/searx/templates/default/stats.html b/searx/templates/default/stats.html deleted file mode 100644 index 70fe98ac7..000000000 --- a/searx/templates/default/stats.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "default/base.html" %} -{% block head %} {% endblock %} -{% block content %} -

{{ _('Engine stats') }}

- -{% for stat_name,stat_category in stats %} -
- - - - - {% for engine in stat_category %} - - - - - - {% endfor %} -
{{ stat_name }}
{{ engine.name }}{{ '%.02f'|format(engine.avg) }}
 
-
-{% endfor %} -{% endblock %} diff --git a/searx/templates/legacy/404.html b/searx/templates/legacy/404.html new file mode 100644 index 000000000..05c14e155 --- /dev/null +++ b/searx/templates/legacy/404.html @@ -0,0 +1,9 @@ +{% extends "legacy/base.html" %} +{% block content %} +
+

{{ _('Page not found') }}

+ {% autoescape false %} +

{{ _('Go to %(search_page)s.', search_page='{}'.decode('utf-8').format(url_for('index'), _('search page'))) }}

+ {% endautoescape %} +
+{% endblock %} diff --git a/searx/templates/legacy/about.html b/searx/templates/legacy/about.html new file mode 100644 index 000000000..45fb0e449 --- /dev/null +++ b/searx/templates/legacy/about.html @@ -0,0 +1,66 @@ +{% extends 'legacy/base.html' %} +{% block content %} +{% include 'legacy/github_ribbon.html' %} +
+

About searx

+ +

Searx is a metasearch engine, aggregating the results of other search engines while not storing information about its users. +

+

Why use searx?

+
    +
  • searx may not offer you as personalised results as Google, but it doesn't generate a profile about you
  • +
  • searx doesn't care about what you search for, never shares anything with a third party, and it can't be used to compromise you
  • +
  • searx is free software, the code is 100% open and you can help to make it better. See more on github
  • +
+

If you do care about privacy, want to be a conscious user, or otherwise believe + in digital freedom, make searx your default search engine or run it on your own server

+ +

Technical details - How does it work?

+ +

Searx is a metasearch engine, +inspired by the seeks project.
+It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they show up in neither our logs, nor your url history. In case of Chrome* users there is an exception, if searx used from the search bar it performs GET requests.
+Searx can be added to your browser's search bar; moreover, it can be set as the default search engine. +

+ +

How can I make it my own?

+ +

Searx appreciates your concern regarding logs, so take the code and run it yourself!
Add your Searx to this list to help other people reclaim their privacy and make the Internet freer! +
The more decentralized Internet is the more freedom we have!

+ + +

More about searx

+ + + + +
+ +

FAQ

+ +

How to add to firefox?

+

Install searx as a search engine on any version of Firefox! (javascript required)

+ +

Developer FAQ

+ +

New engines?

+ +

Don't forget to restart searx after config edit!

+ +

Installation/WSGI support?

+

See the installation and setup wiki page

+ +

How to debug engines?

+

Stats page contains some useful data about the engines used.

+ +
+{% endblock %} diff --git a/searx/templates/legacy/base.html b/searx/templates/legacy/base.html new file mode 100644 index 000000000..a2c38fef7 --- /dev/null +++ b/searx/templates/legacy/base.html @@ -0,0 +1,38 @@ + + + + + + + + + + {% block title %}{% endblock %}searx + + {% if rtl %} + + {% endif %} + + {% block styles %} + {% endblock %} + {% block meta %}{% endblock %} + {% block head %} + + {% endblock %} + + +
+ {% block content %} + {% endblock %} + {% if autocomplete %} + + + {% endif %} + + +
+ + diff --git a/searx/templates/legacy/categories.html b/searx/templates/legacy/categories.html new file mode 100644 index 000000000..1c466781b --- /dev/null +++ b/searx/templates/legacy/categories.html @@ -0,0 +1,10 @@ +
+
+ {% for category in categories %} +
+ +
+ {% endfor %} + {% if display_tooltip %}{% endif %} +
+
diff --git a/searx/templates/legacy/github_ribbon.html b/searx/templates/legacy/github_ribbon.html new file mode 100644 index 000000000..bdd9cf180 --- /dev/null +++ b/searx/templates/legacy/github_ribbon.html @@ -0,0 +1,3 @@ + + Fork me on GitHub + diff --git a/searx/templates/legacy/index.html b/searx/templates/legacy/index.html new file mode 100644 index 000000000..de956d5b3 --- /dev/null +++ b/searx/templates/legacy/index.html @@ -0,0 +1,18 @@ +{% extends "legacy/base.html" %} +{% block content %} +
+

searx

+ {% include 'legacy/search.html' %} +

+ {% if rtl %} + {{ _('preferences') }} + {% endif %} + {{ _('about') }} + {% if not rtl %} + {{ _('preferences') }} + {% endif %} +

+
+{% include 'legacy/github_ribbon.html' %} +{% endblock %} + diff --git a/searx/templates/legacy/infobox.html b/searx/templates/legacy/infobox.html new file mode 100644 index 000000000..4dd25fabd --- /dev/null +++ b/searx/templates/legacy/infobox.html @@ -0,0 +1,51 @@ +
+

{{ infobox.infobox }}

+ {% if infobox.img_src %}{{ infobox.infobox|striptags }}{% endif %} +

{{ infobox.entity }}

+

{{ infobox.content | safe }}

+ {% if infobox.attributes %} +
+ + {% for attribute in infobox.attributes %} + + + {% if attribute.image %} + + {% else %} + + {% endif %} + + {% endfor %} +
{{ attribute.label }}{{ attribute.image.alt }}{{ attribute.value }}
+
+ {% endif %} + + {% if infobox.urls %} +
+ +
+ {% endif %} + + {% if infobox.relatedTopics %} +
+ {% for topic in infobox.relatedTopics %} +
+

{{ topic.name }}

+ {% for suggestion in topic.suggestions %} +
+ + +
+ {% endfor %} +
+ {% endfor %} +
+ {% endif %} + +
+ +
diff --git a/searx/templates/legacy/opensearch.xml b/searx/templates/legacy/opensearch.xml new file mode 100644 index 000000000..15d3eb792 --- /dev/null +++ b/searx/templates/legacy/opensearch.xml @@ -0,0 +1,28 @@ + + + {{ instance_name }} + a privacy-respecting, hackable metasearch engine + UTF-8 + {{ urljoin(host, url_for('static', filename='img/favicon.png')) }} + searx metasearch + {% if opensearch_method == 'get' %} + + {% if autocomplete %} + + + + + {% endif %} + {% else %} + + + + {% if autocomplete %} + + + + + + {% endif %} + {% endif %} + diff --git a/searx/templates/legacy/opensearch_response_rss.xml b/searx/templates/legacy/opensearch_response_rss.xml new file mode 100644 index 000000000..5673eb2e1 --- /dev/null +++ b/searx/templates/legacy/opensearch_response_rss.xml @@ -0,0 +1,23 @@ + + + + Searx search: {{ q }} + {{ base_url }}?q={{ q }} + Search results for "{{ q }}" - searx + {{ number_of_results }} + 1 + {{ number_of_results }} + + diff --git a/searx/templates/legacy/preferences.html b/searx/templates/legacy/preferences.html new file mode 100644 index 000000000..30d632c93 --- /dev/null +++ b/searx/templates/legacy/preferences.html @@ -0,0 +1,129 @@ +{% extends "legacy/base.html" %} +{% block head %} {% endblock %} +{% block content %} +
+

{{ _('Preferences') }}

+ +
+
+ {{ _('Default categories') }} + {% set display_tooltip = false %} + {% include 'legacy/categories.html' %} +
+
+ {{ _('Search language') }} +

+ +

+
+
+ {{ _('Interface language') }} +

+ +

+
+
+ {{ _('Autocomplete') }} +

+ +

+
+
+ {{ _('Image proxy') }} +

+ +

+
+
+ {{ _('Method') }} +

+ +

+
+
+ {{ _('SafeSearch') }} +

+ +

+
+
+ {{ _('Themes') }} +

+ +

+
+
+ {{ _('Results on new tabs') }} +

+ +

+
+
+ {{ _('Currently used search engines') }} + + + + + + + + {% for categ in all_categories %} + {% for search_engine in engines_by_category[categ] %} + + {% if not search_engine.private %} + + + + + + {% endif %} + {% endfor %} + {% endfor %} +
{{ _('Engine name') }}{{ _('Category') }}{{ _('Allow') }} / {{ _('Block') }}
{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})‎{{ _(categ) }} + + + +
+
+

{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }} +
+ {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }} +

+ + + + +
+
+{% endblock %} diff --git a/searx/templates/legacy/result_templates/code.html b/searx/templates/legacy/result_templates/code.html new file mode 100644 index 000000000..9e3ed20af --- /dev/null +++ b/searx/templates/legacy/result_templates/code.html @@ -0,0 +1,11 @@ +
+

{% if result['favicon'] %}{{result['favicon']}}{% endif %}{{ result.title|safe }}

+

{{ result.pretty_url }}‎ {{ _('cached') }}

+ {% if result.publishedDate %}

{{ result.publishedDate }}

{% endif %} +

{% if result.img_src %}{% endif %}{% if result.content %}{{ result.content|safe }}
{% endif %}

+ {% if result.repository %}

{{ result.repository }}

{% endif %} + +
+ {{ result.codelines|code_highlighter(result.code_language)|safe }} +
+
diff --git a/searx/templates/legacy/result_templates/default.html b/searx/templates/legacy/result_templates/default.html new file mode 100644 index 000000000..da091174d --- /dev/null +++ b/searx/templates/legacy/result_templates/default.html @@ -0,0 +1,6 @@ +
+

{% if "icon_"~result.engine~".ico" in favicons %}{{result.engine}}{% endif %}{{ result.title|safe }}

+

{{ result.pretty_url }}‎ {{ _('cached') }} + {% if result.publishedDate %}{{ result.publishedDate }}{% endif %}

+

{% if result.img_src %}{% endif %}{% if result.content %}{{ result.content|safe }}
{% endif %}

+
diff --git a/searx/templates/legacy/result_templates/images.html b/searx/templates/legacy/result_templates/images.html new file mode 100644 index 000000000..00f62abcc --- /dev/null +++ b/searx/templates/legacy/result_templates/images.html @@ -0,0 +1,6 @@ + diff --git a/searx/templates/legacy/result_templates/map.html b/searx/templates/legacy/result_templates/map.html new file mode 100644 index 000000000..0200e0f6b --- /dev/null +++ b/searx/templates/legacy/result_templates/map.html @@ -0,0 +1,13 @@ +
+ + {% if "icon_"~result.engine~".ico" in favicons %} + {{result.engine}} + {% endif %} + +
+

{{ result.title|safe }}

+

{{ result.pretty_url }}‎ {{ _('cached') }} + {% if result.publishedDate %}{{ result.publishedDate }}{% endif %}

+

{% if result.img_src %}{% endif %}{% if result.content %}{{ result.content|safe }}
{% endif %}

+
+
diff --git a/searx/templates/legacy/result_templates/torrent.html b/searx/templates/legacy/result_templates/torrent.html new file mode 100644 index 000000000..67e058ae5 --- /dev/null +++ b/searx/templates/legacy/result_templates/torrent.html @@ -0,0 +1,13 @@ +
+ {% if "icon_"~result.engine~".ico" in favicons %} + {{result.engine}} + {% endif %} +

{{ result.title|safe }}

+

{{ result.pretty_url }}‎

+ {% if result.content %}

{{ result.content|safe }}

{% endif %} +

+ {% if result.magnetlink %}{{ _('magnet link') }}{% endif %} + {% if result.torrentfile %}{{ _('torrent file') }}{% endif %} - + {{ _('Seeder') }} : {{ result.seed }}, {{ _('Leecher') }} : {{ result.leech }} +

+
diff --git a/searx/templates/legacy/result_templates/videos.html b/searx/templates/legacy/result_templates/videos.html new file mode 100644 index 000000000..727f44c71 --- /dev/null +++ b/searx/templates/legacy/result_templates/videos.html @@ -0,0 +1,6 @@ +
+

{% if "icon_"~result.engine~".ico" in favicons %}{{result.engine}}{% endif %}{{ result.title|safe }}

+ {% if result.publishedDate %}{{ result.publishedDate }}
{% endif %} + {{ result.title|striptags }} +

{{ result.url }}‎

+
diff --git a/searx/templates/legacy/results.html b/searx/templates/legacy/results.html new file mode 100644 index 000000000..f50700c6f --- /dev/null +++ b/searx/templates/legacy/results.html @@ -0,0 +1,100 @@ +{% extends "legacy/base.html" %} +{% block title %}{{ q }} - {% endblock %} +{% block meta %}{% endblock %} +{% block content %} + + +
+ + + {% if answers %} +
{{ _('Answers') }} + {% for answer in answers %} + {{ answer }} + {% endfor %} +
+ {% endif %} + + {% if suggestions %} +
{{ _('Suggestions') }} : + {% set first = true %} + {% for suggestion in suggestions %} + {% if not first %} • {% endif %}
+ + +
+ {% set first = false %} + {% endfor %} +
+ {% endif %} + + {% if infoboxes %} +
+ {% for infobox in infoboxes %} + {% include 'legacy/infobox.html' %} + {% endfor %} +
+ {% endif %} + + {% for result in results %} + {% if result['template'] %} + {% include get_result_template('legacy', result['template']) %} + {% else %} + {% include 'legacy/result_templates/default.html' %} + {% endif %} + {% endfor %} + + {% if paging %} + + {% endif %} +
+{% endblock %} diff --git a/searx/templates/legacy/search.html b/searx/templates/legacy/search.html new file mode 100644 index 000000000..4d37f9ba1 --- /dev/null +++ b/searx/templates/legacy/search.html @@ -0,0 +1,8 @@ +
+
+ + +
+ {% set display_tooltip = true %} + {% include 'legacy/categories.html' %} +
diff --git a/searx/templates/legacy/stats.html b/searx/templates/legacy/stats.html new file mode 100644 index 000000000..372447e23 --- /dev/null +++ b/searx/templates/legacy/stats.html @@ -0,0 +1,22 @@ +{% extends "legacy/base.html" %} +{% block head %} {% endblock %} +{% block content %} +

{{ _('Engine stats') }}

+ +{% for stat_name,stat_category in stats %} +
+ + + + + {% for engine in stat_category %} + + + + + + {% endfor %} +
{{ stat_name }}
{{ engine.name }}{{ '%.02f'|format(engine.avg) }}
 
+
+{% endfor %} +{% endblock %} diff --git a/searx/templates/pix-art/preferences.html b/searx/templates/pix-art/preferences.html index a4a6cd268..ea5557b07 100644 --- a/searx/templates/pix-art/preferences.html +++ b/searx/templates/pix-art/preferences.html @@ -1,4 +1,4 @@ -{% extends "default/base.html" %} +{% extends "legacy/base.html" %} {% block head %} {% endblock %} {% block content %}
diff --git a/searx/templates/pix-art/stats.html b/searx/templates/pix-art/stats.html index 70fe98ac7..372447e23 100644 --- a/searx/templates/pix-art/stats.html +++ b/searx/templates/pix-art/stats.html @@ -1,4 +1,4 @@ -{% extends "default/base.html" %} +{% extends "legacy/base.html" %} {% block head %} {% endblock %} {% block content %}

{{ _('Engine stats') }}

diff --git a/tests/robot/test_basic.robot b/tests/robot/test_basic.robot index a455eeaa0..540060fef 100644 --- a/tests/robot/test_basic.robot +++ b/tests/robot/test_basic.robot @@ -67,7 +67,7 @@ Change theme Page Should Contain about Page Should Contain preferences Go To http://localhost:11111/preferences - List Selection Should Be theme default + List Selection Should Be theme legacy Select From List theme oscar Submit Form id=search_form Location Should Be http://localhost:11111/ @@ -139,7 +139,7 @@ Block a plugin Page Should Contain about Page Should Contain preferences Go To http://localhost:11111/preferences - List Selection Should Be theme default + List Selection Should Be theme legacy Select From List theme oscar Submit Form id=search_form Location Should Be http://localhost:11111/ diff --git a/tests/unit/test_webapp.py b/tests/unit/test_webapp.py index 1762d66b6..912bebc4d 100644 --- a/tests/unit/test_webapp.py +++ b/tests/unit/test_webapp.py @@ -44,7 +44,7 @@ class ViewsTestCase(SearxTestCase): webapp.Search.search = search_mock def get_current_theme_name_mock(override=None): - return 'default' + return 'legacy' webapp.get_current_theme_name = get_current_theme_name_mock @@ -58,7 +58,7 @@ class ViewsTestCase(SearxTestCase): def test_index_html(self): result = self.app.post('/', data={'q': 'test'}) self.assertIn( - '

youtubeSecond Test

', # noqa + '

youtubeSecond Test

', # noqa result.data ) self.assertIn( -- cgit v1.2.3 From 86daef2063a83a6aee90e9f269644e0803ae9cb9 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Wed, 28 Sep 2016 22:30:05 +0200 Subject: [fix] do not allow underscore in engine names - closes #708 --- searx/engines/__init__.py | 12 +++++++++--- searx/settings.yml | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 782b622b0..14376c31f 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -57,11 +57,17 @@ def load_module(filename): def load_engine(engine_data): - engine_name = engine_data['engine'] + + if '_' in engine_data['name']: + logger.error('Engine name conains underscore: "{}"'.format(engine_data['name'])) + sys.exit(1) + + engine_module = engine_data['engine'] + try: - engine = load_module(engine_name + '.py') + engine = load_module(engine_module + '.py') except: - logger.exception('Cannot load engine "{}"'.format(engine_name)) + logger.exception('Cannot load engine "{}"'.format(engine_module)) return None for param_name in engine_data: diff --git a/searx/settings.yml b/searx/settings.yml index 308a0bd45..72bc7ed0f 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -377,7 +377,7 @@ engines: timeout : 10.0 disabled : True - - name : scanr_structures + - name : scanr structures shortcut: scs engine : scanr_structures disabled : True -- cgit v1.2.3 From 812ade82b17fe1eec48b3ca6c57f2d4de104209f Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Wed, 28 Sep 2016 22:49:29 +0200 Subject: [fix] robot test engine names --- searx/settings_robot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/searx/settings_robot.yml b/searx/settings_robot.yml index 1ae084155..43dc9b00a 100644 --- a/searx/settings_robot.yml +++ b/searx/settings_robot.yml @@ -23,12 +23,12 @@ outgoing: useragent_suffix : "" engines: - - name : general_dummy + - name : general dummy engine : dummy categories : general shortcut : gd - - name : dummy_dummy + - name : dummy dummy engine : dummy categories : dummy shortcut : dd -- cgit v1.2.3 From 295fc9ce96d8cca9c6c4776a00e5fb0942eb6f4d Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Wed, 28 Sep 2016 22:59:13 +0200 Subject: [fix] robot test engine names II. --- tests/robot/test_basic.robot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/robot/test_basic.robot b/tests/robot/test_basic.robot index 540060fef..ab41265a0 100644 --- a/tests/robot/test_basic.robot +++ b/tests/robot/test_basic.robot @@ -24,8 +24,8 @@ Preferences page Page Should Contain Preferences Page Should Contain Default categories Page Should Contain Currently used search engines - Page Should Contain dummy_dummy - Page Should Contain general_dummy + Page Should Contain dummy dummy + Page Should Contain general dummy Switch category Go To http://localhost:11111/preferences -- cgit v1.2.3 From 6f87bf2a1c76f1b94ad2119df7fb938c2307e370 Mon Sep 17 00:00:00 2001 From: Pydo Date: Sat, 1 Oct 2016 10:28:01 -0400 Subject: Disabled seepeer.eu by default since it does not support https --- searx/settings.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/searx/settings.yml b/searx/settings.yml index 570ad1f84..b13a38336 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -498,6 +498,7 @@ engines: - name : seedpeer engine : seedpeer shortcut: speu + disabled: True #The blekko technology and team have joined IBM Watson! -> https://blekko.com/ # - name : blekko images -- cgit v1.2.3 From ccd1d9389139d5f459a1496e6e26c92e43ffc7c1 Mon Sep 17 00:00:00 2001 From: Pydo Date: Sat, 1 Oct 2016 11:04:14 -0400 Subject: Add pydo to authors --- AUTHORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.rst b/AUTHORS.rst index 505b28eeb..f7864887a 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -58,3 +58,4 @@ generally made searx better: - marc @a01200356 - Harry Wood @harry-wood - Thomas Renard @threnard +- Pydo ``_ -- cgit v1.2.3 From dceb9031140a12972d000849ea8819a6d383739a Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Sat, 1 Oct 2016 20:22:52 +0200 Subject: [mod] disallow search results for robots --- searx/webapp.py | 1 + 1 file changed, 1 insertion(+) diff --git a/searx/webapp.py b/searx/webapp.py index 262bf9bdf..5bdbc71a6 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -657,6 +657,7 @@ Allow: / Allow: /about Disallow: /stats Disallow: /preferences +Disallow: /*?*q=* """, mimetype='text/plain') -- cgit v1.2.3 From 01844b6f04c99a7a5219ec06afe4266c76a57aeb Mon Sep 17 00:00:00 2001 From: Pydo Date: Sat, 1 Oct 2016 19:22:36 -0400 Subject: Set default categories for seedpeer provider --- searx/settings.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/searx/settings.yml b/searx/settings.yml index 2846b2a0d..f6848a24e 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -498,6 +498,7 @@ engines: - name : seedpeer engine : seedpeer shortcut: speu + categories: files, music, videos disabled: True - name : dictzone -- cgit v1.2.3 From 8b10eb6fe197cf136fa26f86e17dee1ffb851773 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Mon, 3 Oct 2016 14:10:00 +0200 Subject: [enh] update certifi to the current latest --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 029c0cffa..c4cbe4e04 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -certifi==2016.2.28 +certifi==2016.9.26 flask==0.11.1 flask-babel==0.11.1 lxml==3.6.0 -- cgit v1.2.3 From 96cfdc77d241fff9c6ca500a919b3d3f598e414d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sun, 9 Oct 2016 01:12:56 +0200 Subject: [fix] set the title on the opensearch link tag Firefox uses the title attributes instead of the ShortName from the xml file as set in 0fbd7052 which closed #405 --- searx/templates/courgette/base.html | 2 +- searx/templates/legacy/base.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/searx/templates/courgette/base.html b/searx/templates/courgette/base.html index b2c70a3b7..8e272585c 100644 --- a/searx/templates/courgette/base.html +++ b/searx/templates/courgette/base.html @@ -22,7 +22,7 @@ {% endblock %} {% block meta %}{% endblock %} {% block head %} - + {% endblock %}