mirror of
https://github.com/searx/searx
synced 2024-12-29 12:35:55 +01:00
commit
ad690fd919
@ -4,11 +4,13 @@ python:
|
||||
before_install:
|
||||
- "export DISPLAY=:99.0"
|
||||
- "sh -e /etc/init.d/xvfb start"
|
||||
- npm install -g less
|
||||
install:
|
||||
- "make"
|
||||
script:
|
||||
- "make tests"
|
||||
- "make robot"
|
||||
- "make styles"
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
|
7
Makefile
7
Makefile
@ -43,11 +43,14 @@ production: bin/buildout production.cfg setup.py
|
||||
minimal: bin/buildout minimal.cfg setup.py
|
||||
bin/buildout -c minimal.cfg $(options)
|
||||
|
||||
styles:
|
||||
@lessc -x searx/static/css/style.less > searx/static/css/style.css
|
||||
|
||||
locales:
|
||||
@pybabel compile -d searx/translations
|
||||
|
||||
clean:
|
||||
@rm -rf .installed.cfg .mr.developer.cfg bin parts develop-eggs \
|
||||
searx.egg-info lib include .coverage coverage
|
||||
searx.egg-info lib include .coverage coverage searx/static/css/*.css
|
||||
|
||||
.PHONY: all tests robot flake8 coverage production minimal locales clean
|
||||
.PHONY: all tests robot flake8 coverage production minimal styles locales clean
|
||||
|
94
searx/static/css/definitions.less
Normal file
94
searx/static/css/definitions.less
Normal file
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
|
||||
/// General
|
||||
|
||||
@color-font: #444;
|
||||
|
||||
@color-url-font: #1a11be;
|
||||
@color-url-visited-font: #8E44AD;
|
||||
|
||||
|
||||
/// 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;
|
||||
|
||||
/// 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: #C0392B;
|
||||
|
||||
// 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: #888;
|
||||
@color-percentage-div-background: #444;
|
27
searx/static/css/mixins.less
Normal file
27
searx/static/css/mixins.less
Normal file
@ -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;
|
||||
}
|
@ -1,224 +1,68 @@
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
font-size: 0.9em;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-moz-text-size-adjust: 100%;
|
||||
color: #444444;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body, #container {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#container {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.row { max-width: 800px; margin: auto; text-align: justify; }
|
||||
.row h1 { font-size: 3em; margin-top: 50px; }
|
||||
.row p { padding: 0 10px; max-width: 700px; }
|
||||
.row h3,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('/static/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: #FFFFFF; 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: 0px; }
|
||||
.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: #FFFFFF; }
|
||||
.search .checkbox_container label { border-bottom: 4px solid #e8e7e6; }
|
||||
.search .checkbox_container label:hover { border-bottom: 4px solid #3498DB; }
|
||||
.search .checkbox_container input[type="checkbox"]:checked + label { border-bottom: 4px solid #2980B9; }
|
||||
|
||||
.engine_checkbox { padding: 4px; }
|
||||
label.allow { background: #E74C3C; color: #FFFFFF; padding: 4px 8px; display: none; }
|
||||
label.deny { background: #2ECC71; padding: 4px 8px; 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; max-width: 55em; clear: both; }
|
||||
.result_title { margin-bottom: 0; }
|
||||
.result_title a { color: #1168CC; font-weight: normal; font-size: 1.1em; }
|
||||
.result_title a:hover { text-decoration: underline; }
|
||||
.result_title a:visited { color: #8E44AD }
|
||||
.result h3 { font-size: 1em; word-wrap:break-word; margin: 5px 0 1px 0; padding: 0 }
|
||||
.result .content { font-size: 0.8em; margin: 0; padding: 0; max-width: 54em; word-wrap:break-word; line-height: 1.24; }
|
||||
.result .url { font-size: 0.8em; margin: 3px 0 0 0; padding: 0; max-width: 54em; word-wrap:break-word; color: #C0392B; }
|
||||
|
||||
.q { width: 30em; }
|
||||
|
||||
.engines { color: #888888; }
|
||||
|
||||
.small_font { font-size: 0.8em; }
|
||||
|
||||
.small p { margin: 2px 0; }
|
||||
|
||||
.search { background: #ECF0F1; padding: 0; margin: 0 }
|
||||
|
||||
.right { float: right; }
|
||||
|
||||
.invisible { display: none; }
|
||||
|
||||
.left { float: left; }
|
||||
|
||||
.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; }
|
||||
.image_result p span a { color: #FFFFFF; }
|
||||
.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: 0.7em; }
|
||||
|
||||
.torrent_result { border-left: 10px solid lightgray; padding-left: 3px; }
|
||||
.torrent_result p { margin: 3px; font-size: 0.8em; }
|
||||
|
||||
.definition_result { border-left: 10px solid gray; padding-left: 3px; }
|
||||
|
||||
.percentage { position: relative; width: 300px; }
|
||||
.percentage div { background: #444444; }
|
||||
table { width: 100%; }
|
||||
td { padding: 0 4px; }
|
||||
tr:hover { background: #DDDDDD; }
|
||||
|
||||
#search_wrapper { position: relative; max-width: 600px; padding: 10px; }
|
||||
.center #search_wrapper { margin-left: auto; margin-right: auto; }
|
||||
.q {
|
||||
background: none repeat scroll 0 0 #FFFFFF;
|
||||
border: 1px solid #3498DB;
|
||||
color: #222222;
|
||||
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('/static/img/search-icon.png') no-repeat;
|
||||
background-size: 24px 24px;
|
||||
opacity: 0.8;
|
||||
width: 24px;
|
||||
height: 30px;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
#results { margin: 10px; padding: 0; margin-bottom: 20px; }
|
||||
|
||||
#sidebar { position: absolute; left: 54em; width: 12em; margin: 0 2px 5px 5px; padding: 0 2px 2px 2px; }
|
||||
#suggestions span { display: block; margin: 0 2px 2px 2px; padding: 0; }
|
||||
#suggestions form { display: block; }
|
||||
#suggestions input { padding: 2px 6px; margin: 2px 4px; font-size: 0.8em; display: inline-block; background: #3498DB; color: #FFFFFF; border-radius: 4px; border: 0; cursor: pointer; }
|
||||
#search_url { margin-top: 8px; }
|
||||
#search_url input { border: 1px solid #888888; padding: 4px; color: #444444; width: 20em; display: block; margin: 4px; }
|
||||
|
||||
#preferences {
|
||||
top: 10px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
background: url('/static/img/preference-icon.png') no-repeat;
|
||||
background-size: 28px 28px;
|
||||
opacity: 0.8;
|
||||
width: 28px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#preferences * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#pagination {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#apis {
|
||||
margin-top: 8px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 60em) {
|
||||
|
||||
#sidebar { position: static; max-width: 50em; margin: 0 0 2px 0; padding: 0; float: none; border: none; width: auto }
|
||||
#suggestions span { display: inline; font-size: 0.8em }
|
||||
#suggestions form { display: inline; }
|
||||
#suggestions input { padding: 2px 6px; margin: 2px 4px; font-size: 0.8em; display: inline-block; border-radius: 4px; border: 0; cursor: pointer; }
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 680px) {
|
||||
|
||||
#search_wrapper { width: 90%; clear:both; overflow: hidden }
|
||||
|
||||
.right { display: none; postion: fixed !important; top: 100px; right: 0px; }
|
||||
|
||||
#apis { display: none; }
|
||||
|
||||
#categories { font-size: 80%; clear: both; }
|
||||
|
||||
#categories .checkbox_container { margin-top: 2px; margin: 0 2px; }
|
||||
.checkbox_container { display: block; width: 100%; float: left; }
|
||||
.checkbox_container label { border-bottom: 0; }
|
||||
|
||||
.result { border-top: 1px solid #e8e7e6; margin: 7px 0 6px 0; }
|
||||
|
||||
.result img { max-width: 90%; width: auto; height: auto }
|
||||
}
|
||||
|
||||
.favicon { float: left; margin-right: 4px; margin-top: 2px; }
|
||||
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}
|
||||
.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('/static/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}
|
||||
.search .checkbox_container label{border-bottom:4px solid #e8e7e6}
|
||||
.search .checkbox_container label:hover{border-bottom:4px solid #3498db}
|
||||
.search .checkbox_container input[type="checkbox"]:checked+label{border-bottom:4px solid #2980b9}
|
||||
.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;max-width:55em;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}
|
||||
.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 .url{font-size:.8em;margin:3px 0 0 0;padding:0;max-width:54em;word-wrap:break-word;color:#c0392b}
|
||||
.engines{color:#888}
|
||||
.small_font{font-size:.8em}
|
||||
.small p{margin:2px 0}
|
||||
.search{background:#ecf0f1;padding:0;margin:0}
|
||||
.right{float:right}
|
||||
.invisible{display:none}
|
||||
.left{float:left}
|
||||
.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}
|
||||
#search_wrapper{position:relative;max-width:600px;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('/static/img/search-icon.png') no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:30px;font-size:0}
|
||||
#results{margin:10px;padding:0;margin-bottom:20px}
|
||||
#sidebar{position:absolute;left:54em;width:15em;margin:0 2px 5px 5px;padding:0 2px 2px 2px}
|
||||
#suggestions span{display:block;margin:0 2px 2px 2px;padding:0}
|
||||
#suggestions form{display:block}
|
||||
#suggestions input{padding:2px 6px;margin:2px 4px;font-size:.8em;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}
|
||||
#search_url{margin-top:8px}#search_url input{border:1px solid #888;padding:4px;color:#444;width:20em;display:block;margin:4px}
|
||||
#preferences{top:10px;padding:0;border:0;background:url('/static/img/preference-icon.png') no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none}
|
||||
#pagination{clear:both}
|
||||
#apis{margin-top:8px;clear:both}
|
||||
@media screen and (max-width:60em){#sidebar{position:static;max-width:50em;margin:0 0 2px 0;padding:0;float:none;border:none;width:auto} #suggestions span{display:inline;font-size:.8em} #suggestions form{display:inline} #suggestions input{padding:2px 6px;margin:2px 4px;font-size:.8em;display:inline-block;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}}@media screen and (max-width:680px){#search_wrapper{width:90%;clear:both;overflow:hidden} .right{display:none;postion:fixed !important;top:100px;right:0} #apis{display:none} #categories{font-size:80%;clear:both}#categories .checkbox_container{margin-top:2px;margin:0 2px} .checkbox_container{display:block;width:100%}.checkbox_container label{border-bottom:0} .result{border-top:1px solid #e8e7e6;margin:7px 0 6px 0}.result img{max-width:90%;width:auto;height:auto}}.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}
|
||||
|
570
searx/static/css/style.less
Normal file
570
searx/static/css/style.less
Normal file
@ -0,0 +1,570 @@
|
||||
/*
|
||||
* searx, A privacy-respecting, hackable metasearch engine
|
||||
*
|
||||
* To convert "style.less" to "style.css" run: $make styles
|
||||
*/
|
||||
|
||||
@import "definitions.less";
|
||||
|
||||
@import "mixins.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;
|
||||
}
|
||||
|
||||
.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('/static/img/searx.png') no-repeat;
|
||||
width: 100%;
|
||||
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;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.search {
|
||||
.checkbox_container label {
|
||||
border-bottom: 4px solid @color-categories-item-border-unselected;
|
||||
}
|
||||
|
||||
.checkbox_container label:hover {
|
||||
border-bottom: 4px solid @color-categories-item-border-unselected-hover;
|
||||
}
|
||||
|
||||
.checkbox_container input[type="checkbox"]:checked + label {
|
||||
border-bottom: 4px solid @color-categories-item-border-selected;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
max-width: 55em;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.url {
|
||||
font-size: 0.8em;
|
||||
margin: 3px 0 0 0;
|
||||
padding: 0;
|
||||
max-width: 54em;
|
||||
word-wrap:break-word;
|
||||
color: @color-result-url-font;
|
||||
}
|
||||
}
|
||||
|
||||
.engines {
|
||||
color: @color-engines-font;
|
||||
}
|
||||
|
||||
.small_font {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.small p {
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
.search {
|
||||
background: @color-result-search-background;
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.invisible {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.image_result {
|
||||
float: left;
|
||||
margin: 10px 10px;
|
||||
position: relative;
|
||||
height: 160px;
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
#search_wrapper {
|
||||
position: relative;
|
||||
max-width: 600px;
|
||||
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('/static/img/search-icon.png') no-repeat;
|
||||
background-size: 24px 24px;
|
||||
opacity: 0.8;
|
||||
width: 24px;
|
||||
height: 30px;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
#results {
|
||||
margin: 10px;
|
||||
padding: 0;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
position: absolute;
|
||||
left: 54em;
|
||||
width: 15em;
|
||||
margin: 0 2px 5px 5px;
|
||||
padding: 0 2px 2px 2px;
|
||||
}
|
||||
|
||||
#suggestions {
|
||||
span {
|
||||
display: block;
|
||||
margin: 0 2px 2px 2px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
display: block;
|
||||
}
|
||||
|
||||
input {
|
||||
padding: 2px 6px;
|
||||
margin: 2px 4px;
|
||||
font-size: 0.8em;
|
||||
display: inline-block;
|
||||
background: @color-suggestions-button-background;
|
||||
color: @color-suggestions-button-font;
|
||||
.rounded-corners;
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
#search_url {
|
||||
margin-top: 8px;
|
||||
|
||||
input {
|
||||
border: 1px solid @color-result-search-url-border;
|
||||
padding: 4px;
|
||||
color: @color-result-search-url-font;
|
||||
width: 20em;
|
||||
display: block;
|
||||
margin: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
#preferences {
|
||||
top: 10px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
background: url('/static/img/preference-icon.png') no-repeat;
|
||||
background-size: 28px 28px;
|
||||
opacity: 0.8;
|
||||
width: 28px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
|
||||
* {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#pagination {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#apis {
|
||||
margin-top: 8px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 60em) {
|
||||
#sidebar {
|
||||
position: static;
|
||||
max-width: 50em;
|
||||
margin: 0 0 2px 0;
|
||||
padding: 0;
|
||||
float: none;
|
||||
border: none;
|
||||
width: auto
|
||||
}
|
||||
|
||||
#suggestions {
|
||||
span {
|
||||
display: inline;
|
||||
font-size: 0.8em
|
||||
}
|
||||
|
||||
form {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
input {
|
||||
padding: 2px 6px;
|
||||
margin: 2px 4px;
|
||||
font-size: 0.8em;
|
||||
display: inline-block;
|
||||
.rounded-corners;
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 680px) {
|
||||
#search_wrapper {
|
||||
width: 90%;
|
||||
clear:both;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.right {
|
||||
display: none;
|
||||
postion: fixed !important;
|
||||
top: 100px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
#apis {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#categories {
|
||||
font-size: 80%;
|
||||
clear: both;
|
||||
|
||||
.checkbox_container {
|
||||
margin-top: 2px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox_container {
|
||||
display: block;
|
||||
width: 100%;
|
||||
//float: left;
|
||||
|
||||
label {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.result {
|
||||
border-top: 1px solid @color-result-top-border;
|
||||
margin: 7px 0 6px 0;
|
||||
|
||||
img {
|
||||
max-width: 90%;
|
||||
width: auto;
|
||||
height: auto
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
@ -65,7 +65,7 @@
|
||||
</p>
|
||||
|
||||
<input type="submit" value="{{ _('save') }}" />
|
||||
</form>
|
||||
<div class="right"><a href="{{ url_for('index') }}">{{ _('back') }}</a></div>
|
||||
<div class="right preferences_back"><a href="{{ url_for('index') }}">{{ _('back') }}</a></div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<form method="post" action="{{ url_for('index') }}" id="search_form">
|
||||
<div id="search_wrapper">
|
||||
<input type="text" 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" {% if q %}value="{{ q }}"{% endif %}/>
|
||||
<input type="submit" value="search" id="search_submit" />
|
||||
</div>
|
||||
{% include 'categories.html' %}
|
||||
|
Loading…
Reference in New Issue
Block a user