Преглед на файлове

Merge branch 'master' of https://github.com/dalf/searx

asciimoo преди 11 години
родител
ревизия
ba141d64ce

+ 93
- 54
searx/static/css/style.css Целия файл

@@ -2,8 +2,22 @@ html {
2 2
   font-family: sans-serif;
3 3
   font-size: 0.9em;
4 4
   -webkit-text-size-adjust: 100%;
5
-      -ms-text-size-adjust: 100%;
5
+  -ms-text-size-adjust: 100%;
6
+  -moz-text-size-adjust: 100%;
6 7
   color: #444444;
8
+  padding: 0;
9
+  margin: 0;
10
+}
11
+
12
+body, #container {
13
+  padding: 0;
14
+  margin: 0;
15
+}
16
+
17
+#container {
18
+    width: 100%;
19
+    position: absolute;
20
+    top: 0;
7 21
 }
8 22
 
9 23
 .row { max-width: 800px; margin: auto; text-align: justify; }
@@ -22,60 +36,43 @@ h1 { font-size: 5em; }
22 36
 div.title { background: url('/static/img/searx.png') no-repeat; width: 100%; background-position: center; }
23 37
 div.title h1 { visibility: hidden; }
24 38
 
25
-
26 39
 input[type="submit"] { border: 1px solid #666666; color: #444444;  padding: 4px; background-color: #FFFFFF; margin-left: 8px; }
27 40
 
28 41
 input[type="checkbox"] { visibility: hidden; }
29 42
 
30
-.checkbox_container { display: inline-block; position: relative; padding-left: 3px; margin: 0 10px; }
43
+#categories { margin: 0 10px; }
44
+
45
+.checkbox_container { display: inline-block; position: relative; margin: 0 3px; padding: 0px; }
46
+.checkbox_container input {
47
+    display: none;
48
+}
31 49
 .checkbox_container label {
32 50
     cursor: pointer;
33
-}
34
-.checkbox_container label.cb {
35
-    position: absolute;
36
-    width: 16px;
37
-    height: 16px;
38
-    top: 2px;
39
-    left: 2px;
40
-    background: #eee;
41
-    border:1px solid #ddd;
42
-}
43
-.checkbox_container label.cb:after {
44
-    opacity: 0.2;
45
-    content: '';
46
-    position: absolute;
47
-    width: 8px;
48
-    height: 4px;
49
-    background: transparent;
50
-    top: 3px;
51
-    left: 3px;
52
-    border: 3px solid #333;
53
-    border-top: none;
54
-    border-right: none;
55
-
56
-    -webkit-transform: rotate(-45deg);
57
-    -moz-transform: rotate(-45deg);
58
-    -o-transform: rotate(-45deg);
59
-    -ms-transform: rotate(-45deg);
60
-    transform: rotate(-45deg);
61
-}
62
-.checkbox_container label.cb:hover:after {
63
-    opacity: 0.5;
64
-}
65
-.checkbox_container input[type=checkbox]:checked + label.cb:after {
66
-    opacity: 1;
51
+    padding: 4px 10px;
52
+    margin: 0;
53
+    display: block;
54
+    text-transform: capitalize;
55
+
56
+    -webkit-touch-callout: none;
57
+    -webkit-user-select: none;
58
+    -khtml-user-select: none;
59
+    -moz-user-select: none;
60
+    -ms-user-select: none;
61
+    user-select: none;
67 62
 }
68 63
 
69
-a { text-decoration: none; }
64
+.checkbox_container input[type="checkbox"]:checked + label { background: #b8c1d9; }
65
+.search .checkbox_container label { border-bottom: 4px solid #e8e7e6; }
66
+.search .checkbox_container input[type="checkbox"]:checked + label { border-bottom: 4px solid #1a11be; }
70 67
 
68
+a { text-decoration: none; color: #1a11be; }
69
+a:visited { color: #7b11be; }
71 70
 
72
-.result { margin-bottom: 16px; clear: both; }
71
+.result { margin: 19px 0 18px 0; padding: 0; max-width: 55em; }
73 72
 .result_title { margin-bottom: 0; }
74
-.result p { margin-top: 0; padding-top: 0; font-size: 0.8em; max-width: 54em; }
75
-.result h3 { font-size: 0.9em;}
76
-.result { max-width: 70em; }
77
-
78
-.url { font-weight: bold; word-wrap:break-word; }
73
+.result h3 { font-size: 1em; word-wrap:break-word; margin: 5px 0 1px 0; padding: 0 }
74
+.result .content { font-size: 0.8em; margin: 0; padding: 0; max-width: 54em; word-wrap:break-word; line-height: 1.24; }
75
+.result .url { font-size: 0.8em; margin: 3px 0 0 0; padding: 0; max-width: 54em; word-wrap:break-word; color: #2e1c0b; }
79 76
 
80 77
 .q { width: 30em; }
81 78
 
@@ -85,6 +82,8 @@ a { text-decoration: none; }
85 82
 
86 83
 .small p { margin: 2px 0; }
87 84
 
85
+.search { background: #e8e7e6; padding: 0; margin: 0 }
86
+
88 87
 .right { float: right; }
89 88
 
90 89
 .invisible { display: none; }
@@ -103,8 +102,7 @@ a { text-decoration: none; }
103 102
 td { padding: 0 4px; }
104 103
 tr:hover td { background: #DDDDDD; }
105 104
 
106
-
107
-#search_wrapper { position: relative; max-width: 600px; margin: 10px; }
105
+#search_wrapper { position: relative; max-width: 600px; padding: 10px; }
108 106
 .center #search_wrapper { margin-left: auto; margin-right: auto; }
109 107
 .q {
110 108
     background: none repeat scroll 0 0 #FFFFFF;
@@ -124,8 +122,8 @@ tr:hover td { background: #DDDDDD; }
124 122
 }
125 123
 #search_submit {
126 124
     position: absolute;
127
-    top: 5px;
128
-    right: 0px;
125
+    top: 15px;
126
+    right: 4px;
129 127
     padding: 0;
130 128
     border: 0;
131 129
     background: url('/static/img/search-icon.png') no-repeat;
@@ -135,14 +133,55 @@ tr:hover td { background: #DDDDDD; }
135 133
     height: 30px;
136 134
 }
137 135
 
138
-#results { margin-left: 10px; margin-top: 10px; }
136
+#results { margin: 10px; padding: 0; }
139 137
 
140
-#suggestions { max-width: 50em;}
141
-#suggestions form { display: inline; }
138
+#result_count { font-size: 0.8em; margin: 2px 0 2px 0; padding: 0 }
139
+
140
+#suggestions { position: absolute; left: 54em; width: 12em; margin: 0 2px 5px 5px; padding: 0 2px 2px 2px; }
141
+#suggestions span { display: block; font-size: 0.8em; margin: 0 2px 10px 2px; padding: 0; }
142
+#suggestions form { display: block; }
142 143
 #suggestions input { padding: 2px 6px; margin: 2px 4px;  font-size: 0.8em; display: inline-block; background: #E4E4E4; border-radius: 4px; border: 0; cursor: pointer; }
143 144
 
144
-@media screen and (max-width: 740px) {
145
-  .right { margin: 5px; } 
145
+#preferences { 
146
+    top: 10px;
147
+    padding: 0;
148
+    border: 0;
149
+    background: url('/static/img/preference-icon.png') no-repeat;
150
+    background-size: 28px 28px;
151
+    opacity: 0.8;
152
+    width: 28px;
153
+    height: 30px;
154
+    display: block;
155
+}
156
+
157
+#preferences * {
158
+    display: none;
159
+}
160
+
161
+#apis {
162
+    clear: both;
163
+}
164
+
165
+@media screen and (max-width: 60em) {
166
+    
167
+  #suggestions { position: static; max-width: 50em; margin: 0 0 2px 0; padding: 0; float: none; border: none; width: auto }
168
+  #suggestions span { display: inline; font-size: 0.8em }
169
+  #suggestions form { display: inline; }
170
+  #suggestions input { padding: 2px 6px; margin: 2px 4px;  font-size: 0.8em; display: inline-block; background: #E4E4E4; border-radius: 4px; border: 0; cursor: pointer; }
171
+
172
+}
173
+
174
+@media screen and (max-width: 680px) {
175
+    
176
+  #search_wrapper { width: 90%; clear:both; overflow: hidden }
177
+
178
+  .right { display: none; postion: fixed !important; top: 100px; right: 0px; }
179
+
180
+  #categories { font-size: 80% }
181
+  
182
+  #categories .checkbox_container { margin-top: 2px; margin: 0 2px; }
183
+
184
+  .result { border-top: 1px solid #e8e7e6; margin: 7px 0 6px 0;  }
146 185
 
147
-  #search_wrapper { max-width: 90%; clear:both }
186
+  .result img { max-width: 90%; width: auto; height: auto }
148 187
 }

BIN
searx/static/img/preference-icon.png Целия файл


+ 3
- 1
searx/templates/categories.html Целия файл

@@ -1,5 +1,7 @@
1
+<div id="categories">
1 2
 {% for category in categories %}
2 3
     <div class="checkbox_container">
3
-        <input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} /><label for="checkbox_{{ category|replace(' ', '_') }}" class="cb"></label><label for="checkbox_{{ category|replace(' ', '_') }}">{{ category }}</label>
4
+        <input type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} /></label><label for="checkbox_{{ category|replace(' ', '_') }}">{{ category }}</label>
4 5
     </div>
5 6
 {% endfor %}
7
+</div>

+ 2
- 1
searx/templates/result_templates/default.html Целия файл

@@ -1,4 +1,5 @@
1 1
 <div class="result">
2 2
     <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
3
-    <p class="content">{% if result.content %}{{ result.content|safe }}<br />{% endif %}<span class="url">{{ result.pretty_url }}</span></p>
3
+    <p class="content">{% if result.content %}{{ result.content|safe }}<br />{% endif %}</p>
4
+    <p class="url">{{ result.pretty_url }}</p>
4 5
 </div>

+ 16
- 14
searx/templates/results.html Целия файл

@@ -1,15 +1,15 @@
1 1
 {% extends "base.html" %}
2 2
 {% block title %}{{ q }} - {% endblock %}
3 3
 {% block content %}
4
-<div class="right"><a href="/preferences">preferences</a></div>
5
-<div class="small">
4
+<div class="right"><a href="/preferences" id="preferences"><span>preferences</span></a></div>
5
+<div class="small search">
6 6
     {% include 'search.html' %}
7 7
 </div>
8 8
 <div id="results">
9 9
     {% if suggestions %}
10
-    <div id="suggestions">Suggestions: {% for suggestion in suggestions %}<form method="post" action="/"><input type="hidden" name="q" value="{{suggestion}}"><input type="submit" value="{{ suggestion }}" /></form>{% endfor %}</div>
10
+    <div id="suggestions"><span>Suggestions: </span>{% for suggestion in suggestions %}<form method="post" action="/"><input type="hidden" name="q" value="{{suggestion}}"><input type="submit" value="{{ suggestion }}" /></form>{% endfor %}</div>
11 11
     {% endif %}
12
-    <div>
12
+    <div id ="result_count">
13 13
         Number of results: {{ number_of_results }}
14 14
     </div>
15 15
     {% for result in results %}
@@ -19,19 +19,21 @@
19 19
             {% include 'result_templates/default.html' %}
20 20
         {% endif %}
21 21
     {% endfor %}
22
-    <form method="post" action="/">
22
+    <div id="apis">
23
+      <form method="post" action="/">
23 24
         <div class="left">
24
-            <input type="hidden" name="q" value="{{ q }}" />
25
-            <input type="hidden" name="format" value="csv" />
26
-            <input type="submit" value="download results in csv" />
25
+          <input type="hidden" name="q" value="{{ q }}" />
26
+          <input type="hidden" name="format" value="csv" />
27
+          <input type="submit" value="download results in csv" />
27 28
         </div>
28
-    </form>
29
-    <form method="post" action="/">
29
+      </form>
30
+      <form method="post" action="/">
30 31
         <div class="">
31
-            <input type="hidden" name="q" value="{{ q }}" />
32
-            <input type="hidden" name="format" value="json" />
33
-            <input type="submit" value="download results in json" />
32
+          <input type="hidden" name="q" value="{{ q }}" />
33
+          <input type="hidden" name="format" value="json" />
34
+          <input type="submit" value="download results in json" />
34 35
         </div>
35
-    </form>
36
+      </form>
37
+    </div>
36 38
 </div>
37 39
 {% endblock %}

+ 3
- 5
searx/templates/search.html Целия файл

@@ -1,9 +1,7 @@
1 1
 <form method="post" action="/" id="search_form">
2
-<div id="search_wrapper">
2
+  <div id="search_wrapper">
3 3
     <input type="text" id="q" class="q" name="q" tabindex="1" autocomplete="off" {% if q %}value="{{ q }}"{% endif %}/>
4 4
     <input type="submit" value="" id="search_submit" />
5
-</div>
6
-    <div>
7
-    {% include 'categories.html' %}
8
-    </div>
5
+  </div>
6
+  {% include 'categories.html' %}
9 7
 </form>