on master help sign in
Merge pull request #118 from dalf/master
58cc033Adam Tauber
searx/static/default/css/style.css+1−81
@@ -1,81 +1 @@
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}
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%;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}
2−body,#container{padding:0;margin:0}
3−#container{width:100%;position:absolute;top:0}
4−.search{padding:0;margin:0}.search .checkbox_container label{font-size:.9em;border-bottom:2px solid #e8e7e6}
5−.search .checkbox_container label:hover{border-bottom:2px solid #3498db}
6−.search .checkbox_container input[type="checkbox"]:checked+label{border-bottom:2px solid #2980b9}
7−#search_wrapper{position:relative;width:50em;padding:10px}
8−.center #search_wrapper{margin-left:auto;margin-right:auto}
9−.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}
10−#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}
11−@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}
12−ul.autocompleter-choices span.autocompleter-queried{display:inline;float:none;font-weight:bold;margin:0;padding:0}
13−.row{max-width:800px;margin:20px auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}
14−.row p{padding:0 10px;max-width:700px}
15−.row h3,.row ul{margin:4px 8px}
16−.hmarg{margin:0 20px;border:1px solid #3498db;padding:4px 10px}
17−a:link.hmarg{color:#3498db}
18−a:visited.hmarg{color:#3498db}
19−a:active.hmarg{color:#3498db}
20−a:hover.hmarg{color:#3498db}
21−.top_margin{margin-top:60px}
22−.center{text-align:center}
23−h1{font-size:5em}
24−div.title{background:url('../img/searx.png') no-repeat;width:100%;background-position:center}div.title h1{visibility:hidden}
25−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}
26−input[type="checkbox"]{visibility:hidden}
27−fieldset{margin:8px;border:1px solid #3498db}
28−#categories{margin:0 10px}
29−.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}
30−.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}
31−.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff}
32−.engine_checkbox{padding:4px}
33−label.allow{background:#e74c3c;padding:4px 8px;color:#fff;display:none}
34−label.deny{background:#2ecc71;padding:4px 8px;color:#444;display:inline}
35−.engine_checkbox input[type="checkbox"]:checked+label:nth-child(2)+label{display:none}
36−.engine_checkbox input[type="checkbox"]:checked+label.allow{display:inline}
37−a{text-decoration:none;color:#1a11be}a:visited{color:#8e44ad}
38−.result{margin:19px 0 18px 0;padding:0;clear:both}
39−.result_title{margin-bottom:0}.result_title a{color:#2980b9;font-weight:normal;font-size:1.1em}.result_title a:hover{text-decoration:underline}
40−.result_title a:visited{color:#8e44ad}
41−.cache_link{font-size:10px !important}
42−.result h3{font-size:1em;word-wrap:break-word;margin:5px 0 1px 0;padding:0}
43−.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}
44−.result .content br.last{clear:both}
45−.result .url{font-size:.8em;margin:0 0 3px 0;padding:0;max-width:54em;word-wrap:break-word;color:#c0392b}
46−.result .published_date{font-size:.8em;color:#888;margin:5px 20px}
47−.engines{color:#888}
48−.small_font{font-size:.8em}
49−.small p{margin:2px 0}
50−.right{float:right}
51−.invisible{display:none}
52−.left{float:left}
53−.highlight{color:#094089}
54−.content .highlight{color:#000}
55−.image_result{float:left;margin:10px 10px;position:relative;height:160px}.image_result img{border:0;height:160px}
56−.image_result p{margin:0;padding:0}.image_result p span a{display:none;color:#fff}
57−.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}
58−.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em}
59−.definition_result{border-left:10px solid #808080;padding-left:3px}
60−.percentage{position:relative;width:300px}.percentage div{background:#444}
61−table{width:100%}
62−td{padding:0 4px}
63−tr:hover{background:#ddd}
64−#results{margin:auto;padding:0;width:50em;margin-bottom:20px}
65−#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}
66−#sidebar input[type="submit"]{text-decoration:underline}
67−#suggestions,#answers{margin-top:20px}
68−#suggestions input,#answers input,#infoboxes input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}
69−#suggestions input[type="submit"],#answers input[type="submit"],#infoboxes input[type="submit"]{text-decoration:underline}
70−#suggestions form,#answers form,#infoboxes form{display:inline}
71−#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}
72−#infoboxes .infobox h2{margin:0}
73−#infoboxes .infobox table{width:auto}#infoboxes .infobox table td{vertical-align:top}
74−#infoboxes .infobox input{font-size:1em}
75−#infoboxes .infobox br{clear:both}
76−#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}
77−#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}
78−#pagination{clear:both;width:40em}
79−#apis{margin-top:8px;clear:both}
80−@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}
81−.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}
searx/static/default/img/favicon.png

Binary file not shown.

searx/static/default/img/preference-icon.png

Binary file not shown.

searx/static/default/img/search-icon.png

Binary file not shown.

searx/static/default/img/searx.png

Binary file not shown.

searx/static/default/js/searx.js+4
@@ -41,5 +41,9 @@ if(searx.autocompleter) {
41 }
41 }
42 });
42 });
43
43
44+ if (!!('ontouchstart' in window)) {
45+ document.getElementsByTagName("html")[0].className += " touch";
46+ }
47+
44})(window, document);
48})(window, document);
45
49
searx/static/default/less/style.less+107−35
@@ -97,6 +97,7 @@ h1 {
97div.title {
97div.title {
98 background: url('../img/searx.png') no-repeat;
98 background: url('../img/searx.png') no-repeat;
99 width: 100%;
99 width: 100%;
100+ min-height: 80px;
100 background-position: center;
101 background-position: center;
101
102
102 h1 {
103 h1 {
@@ -126,6 +127,7 @@ fieldset {
126
127
127#categories {
128#categories {
128 margin: 0 10px;
129 margin: 0 10px;
130+ .user-select;
129}
131}
130
132
131.checkbox_container {
133.checkbox_container {
@@ -260,8 +262,12 @@ a {
260 .published_date {
262 .published_date {
261 font-size: 0.8em;
263 font-size: 0.8em;
262 color: @color-result-publishdate-font;
264 color: @color-result-publishdate-font;
263− margin: 5px 20px;
265+ Margin: 5px 20px;
264 }
266 }
267+
268+ .thumbnail {
269+ width: 400px;
270+ }
265}
271}
266
272
267.engines {
273.engines {
@@ -297,14 +303,14 @@ a {
297}
303}
298
304
299.image_result {
305.image_result {
300− float: left;
306+ display: inline-block;
301 margin: 10px 10px;
307 margin: 10px 10px;
302 position: relative;
308 position: relative;
303− height: 160px;
309+ max-height: 160px;
304
310
305 img {
311 img {
306 border: 0;
312 border: 0;
307− height: 160px;
313+ max-height: 160px;
308 }
314 }
309
315
310 p {
316 p {
@@ -369,17 +375,17 @@ tr {
369#results {
375#results {
370 margin: auto;
376 margin: auto;
371 padding: 0;
377 padding: 0;
372− width: @results-width;
378+ width: @results-width;
373 margin-bottom: 20px;
379 margin-bottom: 20px;
374}
380}
375
381
376#sidebar {
382#sidebar {
377 position: fixed;
383 position: fixed;
378− bottom: 10px;
384+ bottom: 10px;
379− left: 10px;
385+ left: 10px;
380 margin: 0 2px 5px 5px;
386 margin: 0 2px 5px 5px;
381 padding: 0 2px 2px 2px;
387 padding: 0 2px 2px 2px;
382− width: 14em;
388+ width: 14em;
383
389
384 input {
390 input {
385 padding: 0;
391 padding: 0;
@@ -390,9 +396,17 @@ tr {
390 color: @color-result-search-url-font;
396 color: @color-result-search-url-font;
391 cursor: pointer;
397 cursor: pointer;
392 }
398 }
393− input[type="submit"] {
399+ input[type="submit"] {
394 text-decoration: underline;
400 text-decoration: underline;
401+ }
395− }
402+}
403+
404+#suggestions {
405+
406+ span {
407+ display: block;
408+ }
409+
396}
410}
397
411
398#suggestions, #answers {
412#suggestions, #answers {
@@ -418,7 +432,8 @@ tr {
418 }
432 }
419
433
420 form {
434 form {
421− display: inline;
435+ display: inline-block;
436+ min-width: 210px;
422 }
437 }
423}
438}
424
439
@@ -436,6 +451,7 @@ tr {
436 border: 1px solid #ddd;
451 border: 1px solid #ddd;
437 padding: 5px;
452 padding: 5px;
438 font-size: 0.8em;
453 font-size: 0.8em;
454+ /* box-shadow: 0px 0px 5px #CCC; */
439
455
440 img {
456 img {
441 max-width: 20em;
457 max-width: 20em;
@@ -501,7 +517,10 @@ tr {
501
517
502#pagination {
518#pagination {
503 clear: both;
519 clear: both;
504− width: 40em;
520+
521+ br {
522+ clear: both;
523+ }
505}
524}
506
525
507#apis {
526#apis {
@@ -511,18 +530,19 @@ tr {
511
530
512@media screen and (max-width: @results-width) {
531@media screen and (max-width: @results-width) {
513
532
514− #results {
533+ #results {
515− margin: auto;
534+ margin: auto;
516− padding: 0;
535+ padding: 0;
517− width: 90%;
536+ width: 90%;
518− }
537+ }
538+
519 .github {
539 .github {
520 display: none;
540 display: none;
521 }
541 }
522
542
523 .checkbox_container {
543 .checkbox_container {
524 display: block;
544 display: block;
525− width: 90%;
545+ width: 90%;
526 //float: left;
546 //float: left;
527
547
528 label {
548 label {
@@ -530,7 +550,7 @@ tr {
530 }
550 }
531 }
551 }
532
552
533− .right {
553+ .preferences_container {
534 display: none;
554 display: none;
535 postion: fixed !important;
555 postion: fixed !important;
536 top: 100px;
556 top: 100px;
@@ -541,20 +561,61 @@ tr {
541
561
542@media screen and (max-width: 75em) {
562@media screen and (max-width: 75em) {
543
563
564+ div.title {
565+
566+ h1 {
567+ font-size: 1em;
568+ }
569+ }
570+
571+ html.touch #categories {
572+ width: 95%;
573+ height: 30px;
574+ text-align: left;
575+ overflow-x: scroll;
576+ overflow-y: hidden;
577+ -webkit-overflow-scrolling: touch;
578+
579+ #categories_container {
580+ width: 1000px;
581+ width: -moz-max-content;
582+ width: -webkit-max-content;
583+ width: max-content;
584+
585+ .checkbox_container {
586+ display: inline-block;
587+ width: auto;
588+ }
589+ }
590+ }
591+
592+ #categories {
593+ font-size: 90%;
594+ clear: both;
595+
596+ .checkbox_container {
597+ margin-top: 2px;
598+ margin: auto;
599+ }
600+ }
601+
602+ #suggestions, #answers {
603+ margin-top: 5px;
604+ }
605+
544− #infoboxes {
606+ #infoboxes {
545− position: inherit;
607+ position: inherit;
546− max-width: inherit;
608+ max-width: inherit;
547
609
548− .infobox {
610+ .infobox {
549− clear:both;
611+ clear:both;
550
612
551− img {
613+ img {
552− float: left;
614+ float: left;
553− max-width: 10em;
615+ max-width: 10em;
554− }
616+ }
555− }
617+ }
556−
557− }
618+ }
558
619
559 #categories {
620 #categories {
560 font-size: 90%;
621 font-size: 90%;
@@ -583,13 +644,24 @@ tr {
583 display: none;
644 display: none;
584 }
645 }
585
646
586− #search_url {
647+ #search_url {
587− display: none;
648+ display: none;
588− }
649+ }
589
650
590 .result {
651 .result {
591 border-top: 1px solid @color-result-top-border;
652 border-top: 1px solid @color-result-top-border;
592− margin: 7px 0 6px 0;
653+ margin: 8px 0 8px 0;
654+
655+ .thumbnail {
656+ max-width: 98%;
657+ }
658+ }
659+
660+ .image_result {
661+ max-width: 98%;
662+ img {
663+ max-width: 98%;
664+ }
593 }
665 }
594}
666}
595
667
searx/templates/default/base.html+4−4
@@ -13,10 +13,6 @@
13 {% block head %}
13 {% block head %}
14 <link title="searx" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/>
14 <link title="searx" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/>
15 {% endblock %}
15 {% endblock %}
16− <script type="text/javascript">
17− searx = {};
18− searx.autocompleter = {% if autocomplete %}true{% else %}false{% endif %};
19− </script>
20</head>
16</head>
21<body>
17<body>
22<div id="container">
18<div id="container">
@@ -26,6 +22,10 @@
26<script src="{{ url_for('static', filename='js/mootools-core-1.4.5-min.js') }}" ></script>
22<script src="{{ url_for('static', filename='js/mootools-core-1.4.5-min.js') }}" ></script>
27<script src="{{ url_for('static', filename='js/mootools-autocompleter-1.1.2-min.js') }}" ></script>
23<script src="{{ url_for('static', filename='js/mootools-autocompleter-1.1.2-min.js') }}" ></script>
28{% endif %}
24{% endif %}
25+<script type="text/javascript">
26+ searx = {};
27+ searx.autocompleter = {% if autocomplete %}true{% else %}false{% endif %};
28+</script>
29<script src="{{ url_for('static', filename='js/searx.js') }}" ></script>
29<script src="{{ url_for('static', filename='js/searx.js') }}" ></script>
30</div>
30</div>
31</body>
31</body>
searx/templates/default/categories.html+5−3
@@ -1,7 +1,9 @@
1<div id="categories">
1<div id="categories">
2+ <div id="categories_container">
2{% for category in categories %}
3{% for category in categories %}
3− <div class="checkbox_container">
4+ <div class="checkbox_container">
4− <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>
5+ <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>
5− </div>
6+ </div>
6{% endfor %}
7{% endfor %}
8+ </div>
7</div>
9</div>
searx/templates/default/index.html+2−1
@@ -1,6 +1,5 @@
1{% extends "default/base.html" %}
1{% extends "default/base.html" %}
2{% block content %}
2{% block content %}
3−{% include 'default/github_ribbon.html' %}
4<div class="center">
3<div class="center">
5 <div class="title"><h1>searx</h1></div>
4 <div class="title"><h1>searx</h1></div>
6 {% include 'default/search.html' %}
5 {% include 'default/search.html' %}
@@ -9,4 +8,6 @@
9 <a href="{{ url_for('preferences') }}" class="hmarg">{{ _('preferences') }}</a>
8 <a href="{{ url_for('preferences') }}" class="hmarg">{{ _('preferences') }}</a>
10 </p>
9 </p>
11</div>
10</div>
11+{% include 'default/github_ribbon.html' %}
12{% endblock %}
12{% endblock %}
13+
searx/templates/default/infobox.html+1−1
@@ -2,7 +2,7 @@
2 <h2>{{ infobox.infobox }}</h2>
2 <h2>{{ infobox.infobox }}</h2>
3 {% if infobox.img_src %}<img src="{{ infobox.img_src }}" />{% endif %}
3 {% if infobox.img_src %}<img src="{{ infobox.img_src }}" />{% endif %}
4 <p>{{ infobox.entity }}</p>
4 <p>{{ infobox.entity }}</p>
5− <p>{{ infobox.content }}</p>
5+ <p>{{ infobox.content | safe }}</p>
6 {% if infobox.attributes %}
6 {% if infobox.attributes %}
7 <div class="attributes">
7 <div class="attributes">
8 <table>
8 <table>
searx/templates/default/result_templates/default.html+2−9
@@ -1,13 +1,6 @@
1<div class="result {{ result.class }}">
1<div class="result {{ result.class }}">
2−
3− {% if result['favicon'] %}
4− <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" />
2+ <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>
5− {% endif %}
6−
7− <div>
8− <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
9 <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a></p>
3 <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a></p>
10− {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %}
4+ {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %}
11 <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>
5 <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>
12− </div>
13</div>
6</div>
searx/templates/default/result_templates/videos.html+2−6
@@ -1,12 +1,8 @@
1<div class="result">
1<div class="result">
2− {% if result['favicon'] %}
3− <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" />
4− {% endif %}
5−
6 <p>
2 <p>
7− <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
3+ <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>
8 {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %}
4 {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %}
9− <a href="{{ result.url }}"><img width="400px" src="{{ result.thumbnail }}" title={{ result.title }} alt=" {{ result.title }}"/></a>
5+ <a href="{{ result.url }}"><img class="thumbnail" src="{{ result.thumbnail }}" title={{ result.title }} alt=" {{ result.title }}"/></a>
10 <p class="url">{{ result.url }}</p>
6 <p class="url">{{ result.url }}</p>
11 </p>
7 </p>
12</div>
8</div>
searx/templates/default/results.html+4−2
@@ -1,7 +1,7 @@
1{% extends "default/base.html" %}
1{% extends "default/base.html" %}
2{% block title %}{{ q }} - {% endblock %}
2{% block title %}{{ q }} - {% endblock %}
3{% block content %}
3{% block content %}
4−<div class="right"><a href="{{ url_for('preferences') }}" id="preferences"><span>preferences</span></a></div>
4+<div class="preferences_container right"><a href="{{ url_for('preferences') }}" id="preferences"><span>preferences</span></a></div>
5<div class="small search center">
5<div class="small search center">
6 {% include 'default/search.html' %}
6 {% include 'default/search.html' %}
7</div>
7</div>
@@ -80,7 +80,7 @@
80 </form>
80 </form>
81 {% endif %}
81 {% endif %}
82 <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}">
82 <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}">
83− <div class="left">
83+ <div class="right">
84 {% for category in selected_categories %}
84 {% for category in selected_categories %}
85 <input type="hidden" name="category_{{ category }}" value="1"/>
85 <input type="hidden" name="category_{{ category }}" value="1"/>
86 {% endfor %}
86 {% endfor %}
@@ -89,6 +89,8 @@
89 <input type="submit" value="{{ _('next page') }} >>" />
89 <input type="submit" value="{{ _('next page') }} >>" />
90 </div>
90 </div>
91 </form>
91 </form>
92+
93+ <br />
92 </div>
94 </div>
93 {% endif %}
95 {% endif %}
94</div>
96</div>
searx/templates/default/search.html+1−1
@@ -1,6 +1,6 @@
1<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form">
1<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form">
2 <div id="search_wrapper">
2 <div id="search_wrapper">
3− <input type="text" placeholder="{{ _('Search for...') }}" id="q" class="q" name="q" tabindex="1" autocomplete="off" {% if q %}value="{{ q }}"{% endif %}/>
3+ <input type="text" placeholder="{{ _('Search for...') }}" id="q" class="q" name="q" tabindex="1" autocomplete="off" size="100" {% if q %}value="{{ q }}"{% endif %}/>
4 <input type="submit" value="search" id="search_submit" />
4 <input type="submit" value="search" id="search_submit" />
5 </div>
5 </div>
6 {% include 'default/categories.html' %}
6 {% include 'default/categories.html' %}
searx/tests/test_webapp.py+1−1
@@ -49,7 +49,7 @@ class ViewsTestCase(SearxTestCase):
49 )
49 )
50 result = self.app.post('/', data={'q': 'test'})
50 result = self.app.post('/', data={'q': 'test'})
51 self.assertIn(
51 self.assertIn(
52− '<h3 class="result_title"><a href="http://first.test.xyz">First <span class="highlight">Test</span></a></h3>', # noqa
52+ '<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
53 result.data
53 result.data
54 )
54 )
55 self.assertIn(
55 self.assertIn(