logo

searx

My custom branche(s) on searx, a meta-search engine
commit: 58cc03351a10668da8aedd355d8b7da33057855a
parent: 79f1676e318d36704687966fd124b7f29ddc21fa
Author: Adam Tauber <asciimoo@gmail.com>
Date:   Thu, 30 Oct 2014 08:09:07 +0100

Merge pull request #118 from dalf/master

default theme : small modifications

Diffstat:

Msearx/static/default/css/style.css83++-----------------------------------------------------------------------------
Msearx/static/default/img/favicon.png0
Msearx/static/default/img/preference-icon.png0
Msearx/static/default/img/search-icon.png0
Msearx/static/default/img/searx.png0
Msearx/static/default/js/searx.js4++++
Msearx/static/default/less/style.less142+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
Msearx/templates/default/base.html8++++----
Msearx/templates/default/categories.html8+++++---
Msearx/templates/default/index.html3++-
Msearx/templates/default/infobox.html2+-
Msearx/templates/default/result_templates/default.html11++---------
Msearx/templates/default/result_templates/videos.html8++------
Msearx/templates/default/results.html6++++--
Msearx/templates/default/search.html2+-
Msearx/tests/test_webapp.py2+-
16 files changed, 135 insertions(+), 144 deletions(-)

diff --git a/searx/static/default/css/style.css b/searx/static/default/css/style.css @@ -1,81 +1 @@ -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%;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} -.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} -.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{float:left;margin:10px 10px;position:relative;height:160px}.image_result img{border:0;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 #d3d3d3;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em} -.definition_result{border-left:10px solid #808080;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,#answers{margin-top:20px} -#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 form,#answers form,#infoboxes form{display:inline} -#infoboxes{position:absolute;top:100px;right:20px;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:21em}#infoboxes .infobox{margin:10px 0 10px;border:1px solid #ddd;padding:5px;font-size:.8em}#infoboxes .infobox img{max-width:20em;max-heigt:12em;display:block;margin:5px;padding:5px} -#infoboxes .infobox h2{margin:0} -#infoboxes .infobox table{width:auto}#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;width:40em} -#apis{margin-top:8px;clear:both} -@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} .right{display:none;postion:fixed !important;top:100px;right:0}}@media screen and (max-width:75em){#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:7px 0 6px 0}}.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} +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 #d3d3d3;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em}.definition_result{border-left:10px solid #808080;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 span{display:block}#suggestions,#answers{margin-top:20px}#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 form,#answers form,#infoboxes form{display:inline-block;min-width:210px}#infoboxes{position:absolute;top:100px;right:20px;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:21em}#infoboxes .infobox{margin:10px 0 10px;border:1px solid #ddd;padding:5px;font-size:.8em}#infoboxes .infobox img{max-width:20em;max-heigt:12em;display:block;margin:5px;padding:5px}#infoboxes .infobox h2{margin:0}#infoboxes .infobox table{width:auto}#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}@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}+ \ No newline at end of file diff --git a/searx/static/default/img/favicon.png b/searx/static/default/img/favicon.png Binary files differ. diff --git a/searx/static/default/img/preference-icon.png b/searx/static/default/img/preference-icon.png Binary files differ. diff --git a/searx/static/default/img/search-icon.png b/searx/static/default/img/search-icon.png Binary files differ. diff --git a/searx/static/default/img/searx.png b/searx/static/default/img/searx.png Binary files differ. diff --git a/searx/static/default/js/searx.js b/searx/static/default/js/searx.js @@ -41,5 +41,9 @@ if(searx.autocompleter) { } }); + if (!!('ontouchstart' in window)) { + document.getElementsByTagName("html")[0].className += " touch"; + } + })(window, document); diff --git a/searx/static/default/less/style.less b/searx/static/default/less/style.less @@ -97,6 +97,7 @@ h1 { div.title { background: url('../img/searx.png') no-repeat; width: 100%; + min-height: 80px; background-position: center; h1 { @@ -126,6 +127,7 @@ fieldset { #categories { margin: 0 10px; + .user-select; } .checkbox_container { @@ -260,8 +262,12 @@ a { .published_date { font-size: 0.8em; color: @color-result-publishdate-font; - margin: 5px 20px; + Margin: 5px 20px; } + + .thumbnail { + width: 400px; + } } .engines { @@ -297,14 +303,14 @@ a { } .image_result { - float: left; + display: inline-block; margin: 10px 10px; position: relative; - height: 160px; + max-height: 160px; img { border: 0; - height: 160px; + max-height: 160px; } p { @@ -369,17 +375,17 @@ tr { #results { margin: auto; padding: 0; - width: @results-width; + width: @results-width; margin-bottom: 20px; } #sidebar { position: fixed; - bottom: 10px; - left: 10px; + bottom: 10px; + left: 10px; margin: 0 2px 5px 5px; padding: 0 2px 2px 2px; - width: 14em; + width: 14em; input { padding: 0; @@ -390,9 +396,17 @@ tr { color: @color-result-search-url-font; cursor: pointer; } - input[type="submit"] { + input[type="submit"] { text-decoration: underline; - } + } +} + +#suggestions { + + span { + display: block; + } + } #suggestions, #answers { @@ -418,7 +432,8 @@ tr { } form { - display: inline; + display: inline-block; + min-width: 210px; } } @@ -436,6 +451,7 @@ tr { border: 1px solid #ddd; padding: 5px; font-size: 0.8em; + /* box-shadow: 0px 0px 5px #CCC; */ img { max-width: 20em; @@ -501,7 +517,10 @@ tr { #pagination { clear: both; - width: 40em; + + br { + clear: both; + } } #apis { @@ -511,18 +530,19 @@ tr { @media screen and (max-width: @results-width) { - #results { - margin: auto; - padding: 0; - width: 90%; - } + #results { + margin: auto; + padding: 0; + width: 90%; + } + .github { display: none; } .checkbox_container { display: block; - width: 90%; + width: 90%; //float: left; label { @@ -530,7 +550,7 @@ tr { } } - .right { + .preferences_container { display: none; postion: fixed !important; top: 100px; @@ -541,20 +561,61 @@ tr { @media screen and (max-width: 75em) { - #infoboxes { - position: inherit; - max-width: inherit; + 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; + .infobox { + clear:both; - img { - float: left; - max-width: 10em; - } - } - - } + img { + float: left; + max-width: 10em; + } + } + } #categories { font-size: 90%; @@ -583,13 +644,24 @@ tr { display: none; } - #search_url { - display: none; - } + #search_url { + display: none; + } .result { border-top: 1px solid @color-result-top-border; - margin: 7px 0 6px 0; + margin: 8px 0 8px 0; + + .thumbnail { + max-width: 98%; + } + } + + .image_result { + max-width: 98%; + img { + max-width: 98%; + } } } diff --git a/searx/templates/default/base.html b/searx/templates/default/base.html @@ -13,10 +13,6 @@ {% block head %} <link title="searx" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/> {% endblock %} - <script type="text/javascript"> - searx = {}; - searx.autocompleter = {% if autocomplete %}true{% else %}false{% endif %}; - </script> </head> <body> <div id="container"> @@ -26,6 +22,10 @@ <script src="{{ url_for('static', filename='js/mootools-core-1.4.5-min.js') }}" ></script> <script src="{{ url_for('static', filename='js/mootools-autocompleter-1.1.2-min.js') }}" ></script> {% endif %} +<script type="text/javascript"> + searx = {}; + searx.autocompleter = {% if autocomplete %}true{% else %}false{% endif %}; +</script> <script src="{{ url_for('static', filename='js/searx.js') }}" ></script> </div> </body> diff --git a/searx/templates/default/categories.html b/searx/templates/default/categories.html @@ -1,7 +1,9 @@ <div id="categories"> + <div id="categories_container"> {% for category in categories %} - <div class="checkbox_container"> - <input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} /><label for="checkbox_{{ category|replace(' ', '_') }}">{{ _(category) }}</label> - </div> + <div class="checkbox_container"> + <input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} /><label for="checkbox_{{ category|replace(' ', '_') }}">{{ _(category) }}</label> + </div> {% endfor %} + </div> </div> diff --git a/searx/templates/default/index.html b/searx/templates/default/index.html @@ -1,6 +1,5 @@ {% extends "default/base.html" %} {% block content %} -{% include 'default/github_ribbon.html' %} <div class="center"> <div class="title"><h1>searx</h1></div> {% include 'default/search.html' %} @@ -9,4 +8,6 @@ <a href="{{ url_for('preferences') }}" class="hmarg">{{ _('preferences') }}</a> </p> </div> +{% include 'default/github_ribbon.html' %} {% endblock %} + diff --git a/searx/templates/default/infobox.html b/searx/templates/default/infobox.html @@ -2,7 +2,7 @@ <h2>{{ infobox.infobox }}</h2> {% if infobox.img_src %}<img src="{{ infobox.img_src }}" />{% endif %} <p>{{ infobox.entity }}</p> - <p>{{ infobox.content }}</p> + <p>{{ infobox.content | safe }}</p> {% if infobox.attributes %} <div class="attributes"> <table> diff --git a/searx/templates/default/result_templates/default.html b/searx/templates/default/result_templates/default.html @@ -1,13 +1,6 @@ <div class="result {{ result.class }}"> - - {% if result['favicon'] %} - <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" /> - {% endif %} - - <div> - <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3> + <h3 class="result_title"> {% if result['favicon'] %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a></p> - {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} + {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} <p class="content">{% if result.img_src %}<img src="{{ result.img_src }}" class="image" />{% endif %}{% if result.content %}{{ result.content|safe }}<br class="last"/>{% endif %}</p> - </div> </div> diff --git a/searx/templates/default/result_templates/videos.html b/searx/templates/default/result_templates/videos.html @@ -1,12 +1,8 @@ <div class="result"> - {% if result['favicon'] %} - <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" /> - {% endif %} - <p> - <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3> + <h3 class="result_title"> {% if result['favicon'] %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} - <a href="{{ result.url }}"><img width="400px" src="{{ result.thumbnail }}" title={{ result.title }} alt=" {{ result.title }}"/></a> + <a href="{{ result.url }}"><img class="thumbnail" src="{{ result.thumbnail }}" title={{ result.title }} alt=" {{ result.title }}"/></a> <p class="url">{{ result.url }}</p> </p> </div> diff --git a/searx/templates/default/results.html b/searx/templates/default/results.html @@ -1,7 +1,7 @@ {% extends "default/base.html" %} {% block title %}{{ q }} - {% endblock %} {% block content %} -<div class="right"><a href="{{ url_for('preferences') }}" id="preferences"><span>preferences</span></a></div> +<div class="preferences_container right"><a href="{{ url_for('preferences') }}" id="preferences"><span>preferences</span></a></div> <div class="small search center"> {% include 'default/search.html' %} </div> @@ -80,7 +80,7 @@ </form> {% endif %} <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}"> - <div class="left"> + <div class="right"> {% for category in selected_categories %} <input type="hidden" name="category_{{ category }}" value="1"/> {% endfor %} @@ -89,6 +89,8 @@ <input type="submit" value="{{ _('next page') }} >>" /> </div> </form> + + <br /> </div> {% endif %} </div> diff --git a/searx/templates/default/search.html b/searx/templates/default/search.html @@ -1,6 +1,6 @@ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form"> <div id="search_wrapper"> - <input type="text" placeholder="{{ _('Search for...') }}" id="q" class="q" name="q" tabindex="1" autocomplete="off" {% if q %}value="{{ q }}"{% endif %}/> + <input type="text" placeholder="{{ _('Search for...') }}" id="q" class="q" name="q" tabindex="1" autocomplete="off" size="100" {% if q %}value="{{ q }}"{% endif %}/> <input type="submit" value="search" id="search_submit" /> </div> {% include 'default/categories.html' %} diff --git a/searx/tests/test_webapp.py b/searx/tests/test_webapp.py @@ -49,7 +49,7 @@ class ViewsTestCase(SearxTestCase): ) result = self.app.post('/', data={'q': 'test'}) self.assertIn( - '<h3 class="result_title"><a href="http://first.test.xyz">First <span class="highlight">Test</span></a></h3>', # noqa + '<h3 class="result_title"> <img width="14" height="14" class="favicon" src="static/default/img/icon_youtube.ico" /><a href="http://first.test.xyz">First <span class="highlight">Test</span></a></h3>', # noqa result.data ) self.assertIn(