From 425ec3b70738e693922755b4ee8a8a73642b7fee Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Wed, 5 Mar 2014 15:20:30 +0100
Subject: [PATCH 1/8] Using .less instead of .css
to generate the .css file from the .less file run: $make styles
---
.travis.yml | 3 +-
Makefile | 7 +-
searx/static/css/definitions.less | 92 +++++
searx/static/css/mixins.less | 27 ++
searx/static/css/style.css | 291 ++++------------
searx/static/css/style.less | 556 ++++++++++++++++++++++++++++++
6 files changed, 749 insertions(+), 227 deletions(-)
create mode 100644 searx/static/css/definitions.less
create mode 100644 searx/static/css/mixins.less
create mode 100644 searx/static/css/style.less
diff --git a/.travis.yml b/.travis.yml
index 29d1401a0..42cb092f4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,10 +5,11 @@ before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
install:
- - "make"
+ - "make node-less"
script:
- "make tests"
- "make robot"
+ - "make styles"
notifications:
irc:
channels:
diff --git a/Makefile b/Makefile
index cc5967581..051cad36e 100644
--- a/Makefile
+++ b/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
diff --git a/searx/static/css/definitions.less b/searx/static/css/definitions.less
new file mode 100644
index 000000000..a7d892303
--- /dev/null
+++ b/searx/static/css/definitions.less
@@ -0,0 +1,92 @@
+/*
+ * 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;
+@font-color-categories-item-selected: #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;
+
+
+/// Other
+
+@color-engines-font: #888;
+@color-percentage-div-background: #444;
diff --git a/searx/static/css/mixins.less b/searx/static/css/mixins.less
new file mode 100644
index 000000000..dbccce6e3
--- /dev/null
+++ b/searx/static/css/mixins.less
@@ -0,0 +1,27 @@
+/*
+ * searx, A privacy-respecting, hackable metasearch engine
+ */
+
+// Mixins
+
+.text-size-adjust (@property: 100%) {
+ -webkit-text-size-adjust: @property;
+ -ms-text-size-adjust: @property;
+ -moz-text-size-adjust: @property;
+ text-size-adjust: @property;
+}
+
+.rounded-corners (@radius: 4px) {
+ -webkit-border-radius: @radius;
+ -moz-border-radius: @radius;
+ border-radius: @radius;
+}
+
+.user-select () {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
diff --git a/searx/static/css/style.css b/searx/static/css/style.css
index 4b2d3c36d..59c5c1436 100644
--- a/searx/static/css/style.css
+++ b/searx/static/css/style.css
@@ -1,224 +1,67 @@
-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: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%;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}
diff --git a/searx/static/css/style.less b/searx/static/css/style.less
new file mode 100644
index 000000000..c34587322
--- /dev/null
+++ b/searx/static/css/style.less
@@ -0,0 +1,556 @@
+/*
+ * 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: 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: @font-color-categories-item-selected;
+}
+
+.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;
+}
From a6c9a571aca13bde3d93a54dafca33b29e0afcac Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Wed, 5 Mar 2014 16:03:13 +0100
Subject: [PATCH 2/8] rewrite wrong variable name
---
searx/static/css/definitions.less | 2 +-
searx/static/css/style.less | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/searx/static/css/definitions.less b/searx/static/css/definitions.less
index a7d892303..013d24f2f 100644
--- a/searx/static/css/definitions.less
+++ b/searx/static/css/definitions.less
@@ -36,7 +36,7 @@
/// Categories
@color-categories-item-selected: @color-base;
-@font-color-categories-item-selected: #FFF;
+@color-categories-item-selected-font: #FFF;
@color-categories-item-border-selected: @color-base-dark;
@color-categories-item-border-unselected: #E8E7E6;
diff --git a/searx/static/css/style.less b/searx/static/css/style.less
index c34587322..1aa4bdfaa 100644
--- a/searx/static/css/style.less
+++ b/searx/static/css/style.less
@@ -142,7 +142,7 @@ fieldset {
.checkbox_container input[type="checkbox"]:checked + label {
background: @color-categories-item-selected;
- color: @font-color-categories-item-selected;
+ color: @color-categories-item-selected-font;
}
.search {
From 6d9affc1fc33a653fc5abaf657543766c35b0b10 Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Wed, 5 Mar 2014 16:06:33 +0100
Subject: [PATCH 3/8] fix .travis.yml
---
.travis.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index 42cb092f4..cd9ee9624 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,8 @@ before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
install:
- - "make node-less"
+ - "make"
+ - "node-less"
script:
- "make tests"
- "make robot"
From c62528d848b86d2d2a803a430450a977fd640f08 Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Wed, 5 Mar 2014 16:16:30 +0100
Subject: [PATCH 4/8] fix .travis.yml
---
.travis.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index cd9ee9624..65c702bb1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,9 +4,10 @@ python:
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
+ - sudo apt-get -qq update
+ - sudo apt-get -qq install node-less
install:
- "make"
- - "node-less"
script:
- "make tests"
- "make robot"
From 3032e15e3ab83d41eac98191d48a620990a41d2d Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Wed, 5 Mar 2014 16:25:00 +0100
Subject: [PATCH 5/8] fix .travis.yml
---
.travis.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index 65c702bb1..fb4a47f60 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sudo apt-get -qq update
- - sudo apt-get -qq install node-less
+ - sudo apt-get -qq install less node-less
install:
- "make"
script:
From e8b74c9e094c3b726100ac72de04e7c6a192b3b7 Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Wed, 5 Mar 2014 16:59:44 +0100
Subject: [PATCH 6/8] using npm instead of apt-get in .travis.yml
---
.travis.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index fb4a47f60..ee0b506a5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,8 +4,7 @@ python:
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- - sudo apt-get -qq update
- - sudo apt-get -qq install less node-less
+ - npm install -g less
install:
- "make"
script:
From 3b31c60f07dbc5b6e240295885b672e46b1583bd Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Thu, 6 Mar 2014 16:25:15 +0100
Subject: [PATCH 7/8] fix little style errors
---
searx/static/css/definitions.less | 2 ++
searx/static/css/style.css | 5 +++--
searx/static/css/style.less | 18 ++++++++++++++++--
searx/templates/preferences.html | 4 ++--
4 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/searx/static/css/definitions.less b/searx/static/css/definitions.less
index 013d24f2f..f71f55782 100644
--- a/searx/static/css/definitions.less
+++ b/searx/static/css/definitions.less
@@ -85,6 +85,8 @@
@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
diff --git a/searx/static/css/style.css b/searx/static/css/style.css
index 59c5c1436..bc4c034dc 100644
--- a/searx/static/css/style.css
+++ b/searx/static/css/style.css
@@ -1,7 +1,7 @@
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:auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}
+.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}
@@ -64,4 +64,5 @@ tr:hover{background:#ddd}
#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%;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}
+@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}
diff --git a/searx/static/css/style.less b/searx/static/css/style.less
index 1aa4bdfaa..556ecd615 100644
--- a/searx/static/css/style.less
+++ b/searx/static/css/style.less
@@ -32,7 +32,7 @@ body, #container {
.row {
max-width: 800px;
- margin: auto;
+ margin: 20px auto;
text-align: justify;
h1 {
@@ -530,7 +530,7 @@ tr {
.checkbox_container {
display: block;
width: 100%;
- float: left;
+ //float: left;
label {
border-bottom: 0;
@@ -554,3 +554,17 @@ tr {
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;
+ }
+}
diff --git a/searx/templates/preferences.html b/searx/templates/preferences.html
index 5632accd2..c1b9a8968 100644
--- a/searx/templates/preferences.html
+++ b/searx/templates/preferences.html
@@ -65,7 +65,7 @@
-
-
+
+
{% endblock %}
From 2fe2af71588c5040fc27385e83c5ec3d57ebf7b3 Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber
Date: Thu, 6 Mar 2014 16:37:25 +0100
Subject: [PATCH 8/8] Adding placeholder in search-field
---
searx/templates/search.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/searx/templates/search.html b/searx/templates/search.html
index 270d350ac..95e312e5a 100644
--- a/searx/templates/search.html
+++ b/searx/templates/search.html
@@ -1,6 +1,6 @@