Browse Source

[enh] oscar theme redesign added

The original code made by @logico-dev (#559)
Adam Tauber 8 years ago
parent
commit
f496dc353d
28 changed files with 511 additions and 101 deletions
  1. 1
    0
      searx/static/themes/oscar/css/logicodev.min.css
  2. 0
    88
      searx/static/themes/oscar/css/oscar.min.css
  3. 1
    0
      searx/static/themes/oscar/css/pointhi.min.css
  4. 7
    5
      searx/static/themes/oscar/gruntfile.js
  5. BIN
      searx/static/themes/oscar/img/logo_searx_a.png
  6. BIN
      searx/static/themes/oscar/img/logo_searx_a_n.png
  7. 0
    0
      searx/static/themes/oscar/less/logicodev/checkbox.less
  8. 103
    0
      searx/static/themes/oscar/less/logicodev/code.less
  9. 0
    0
      searx/static/themes/oscar/less/logicodev/cursor.less
  10. 30
    0
      searx/static/themes/oscar/less/logicodev/footer.less
  11. 37
    0
      searx/static/themes/oscar/less/logicodev/infobox.less
  12. 50
    0
      searx/static/themes/oscar/less/logicodev/navbar.less
  13. 17
    0
      searx/static/themes/oscar/less/logicodev/oscar.less
  14. 149
    0
      searx/static/themes/oscar/less/logicodev/results.less
  15. 59
    0
      searx/static/themes/oscar/less/logicodev/search.less
  16. 10
    0
      searx/static/themes/oscar/less/logicodev/variables.less
  17. 9
    0
      searx/static/themes/oscar/less/pointhi/checkbox.less
  18. 0
    0
      searx/static/themes/oscar/less/pointhi/code.less
  19. 8
    0
      searx/static/themes/oscar/less/pointhi/cursor.less
  20. 0
    0
      searx/static/themes/oscar/less/pointhi/footer.less
  21. 0
    0
      searx/static/themes/oscar/less/pointhi/infobox.less
  22. 0
    0
      searx/static/themes/oscar/less/pointhi/oscar.less
  23. 0
    0
      searx/static/themes/oscar/less/pointhi/results.less
  24. 0
    0
      searx/static/themes/oscar/less/pointhi/search.less
  25. 7
    3
      searx/templates/oscar/base.html
  26. 8
    1
      searx/templates/oscar/index.html
  27. 8
    4
      searx/templates/oscar/macros.html
  28. 7
    0
      searx/templates/oscar/preferences.html

+ 1
- 0
searx/static/themes/oscar/css/logicodev.min.css
File diff suppressed because it is too large
View File


+ 0
- 88
searx/static/themes/oscar/css/oscar.min.css View File

@@ -1,88 +0,0 @@
1
-html{position:relative;min-height:100%}
2
-body{margin-bottom:80px}
3
-.footer{position:absolute;bottom:0;width:100%;height:60px}
4
-input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}
5
-input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}
6
-.result_header{margin-bottom:5px;margin-top:20px}.result_header .favicon{margin-bottom:-3px}
7
-.result_header a{vertical-align:bottom}.result_header a .highlight{font-weight:bold}
8
-.result-content{margin-top:5px;word-wrap:break-word}.result-content .highlight{font-weight:bold}
9
-.result-default{clear:both}
10
-.result-images{float:left !important}
11
-.img-thumbnail{margin:5px;max-height:128px;min-height:128px}
12
-.result-videos{clear:both}
13
-.result-torrents{clear:both}
14
-.result-map{clear:both}
15
-.result-code{clear:both}
16
-.suggestion_item{margin:2px 5px}
17
-.result_download{margin-right:5px}
18
-#pagination{margin-top:30px;padding-bottom:50px}
19
-.label-default{color:#aaa;background:#fff}
20
-.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word;table-layout:fixed}
21
-.infobox .infobox_part:last-child{margin-bottom:0}
22
-.search_categories{margin:10px 0;text-transform:capitalize}
23
-.cursor-text{cursor:text !important}
24
-.cursor-pointer{cursor:pointer !important}
25
-.highlight .hll{background-color:#ffc}
26
-.highlight{background:#f8f8f8}
27
-.highlight .c{color:#408080;font-style:italic}
28
-.highlight .err{border:1px solid #f00}
29
-.highlight .k{color:#008000;font-weight:bold}
30
-.highlight .o{color:#666}
31
-.highlight .cm{color:#408080;font-style:italic}
32
-.highlight .cp{color:#bc7a00}
33
-.highlight .c1{color:#408080;font-style:italic}
34
-.highlight .cs{color:#408080;font-style:italic}
35
-.highlight .gd{color:#a00000}
36
-.highlight .ge{font-style:italic}
37
-.highlight .gr{color:#f00}
38
-.highlight .gh{color:#000080;font-weight:bold}
39
-.highlight .gi{color:#00a000}
40
-.highlight .go{color:#888}
41
-.highlight .gp{color:#000080;font-weight:bold}
42
-.highlight .gs{font-weight:bold}
43
-.highlight .gu{color:#800080;font-weight:bold}
44
-.highlight .gt{color:#04d}
45
-.highlight .kc{color:#008000;font-weight:bold}
46
-.highlight .kd{color:#008000;font-weight:bold}
47
-.highlight .kn{color:#008000;font-weight:bold}
48
-.highlight .kp{color:#008000}
49
-.highlight .kr{color:#008000;font-weight:bold}
50
-.highlight .kt{color:#b00040}
51
-.highlight .m{color:#666}
52
-.highlight .s{color:#ba2121}
53
-.highlight .na{color:#7d9029}
54
-.highlight .nb{color:#008000}
55
-.highlight .nc{color:#00f;font-weight:bold}
56
-.highlight .no{color:#800}
57
-.highlight .nd{color:#a2f}
58
-.highlight .ni{color:#999;font-weight:bold}
59
-.highlight .ne{color:#d2413a;font-weight:bold}
60
-.highlight .nf{color:#00f}
61
-.highlight .nl{color:#a0a000}
62
-.highlight .nn{color:#00f;font-weight:bold}
63
-.highlight .nt{color:#008000;font-weight:bold}
64
-.highlight .nv{color:#19177c}
65
-.highlight .ow{color:#a2f;font-weight:bold}
66
-.highlight .w{color:#bbb}
67
-.highlight .mf{color:#666}
68
-.highlight .mh{color:#666}
69
-.highlight .mi{color:#666}
70
-.highlight .mo{color:#666}
71
-.highlight .sb{color:#ba2121}
72
-.highlight .sc{color:#ba2121}
73
-.highlight .sd{color:#ba2121;font-style:italic}
74
-.highlight .s2{color:#ba2121}
75
-.highlight .se{color:#b62;font-weight:bold}
76
-.highlight .sh{color:#ba2121}
77
-.highlight .si{color:#b68;font-weight:bold}
78
-.highlight .sx{color:#008000}
79
-.highlight .sr{color:#b68}
80
-.highlight .s1{color:#ba2121}
81
-.highlight .ss{color:#19177c}
82
-.highlight .bp{color:#008000}
83
-.highlight .vc{color:#19177c}
84
-.highlight .vg{color:#19177c}
85
-.highlight .vi{color:#19177c}
86
-.highlight .il{color:#666}
87
-.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent;}
88
-.highlight .lineno::-moz-selection{background:transparent;}

+ 1
- 0
searx/static/themes/oscar/css/pointhi.min.css View File

@@ -0,0 +1 @@
1
+html{position:relative;min-height:100%}body{margin-bottom:80px}.footer{position:absolute;bottom:0;width:100%;height:60px}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.result_header{margin-bottom:5px;margin-top:20px}.result_header .favicon{margin-bottom:-3px}.result_header a{vertical-align:bottom}.result_header a .highlight{font-weight:700}.result-content{margin-top:5px;word-wrap:break-word}.result-content .highlight{font-weight:700}.result-default{clear:both}.result-images{float:left!important}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-torrents{clear:both}.result-map{clear:both}.result-code{clear:both}.suggestion_item{margin:2px 5px}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:50px}.label-default{color:#AAA;background:#FFF}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word;table-layout:fixed}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories{margin:10px 0;text-transform:capitalize}.cursor-text{cursor:text!important}.cursor-pointer{cursor:pointer!important}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04d}.highlight .kc{color:green;font-weight:700}.highlight .kd{color:green;font-weight:700}.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177c}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#BA2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#ba2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:green}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}

+ 7
- 5
searx/static/themes/oscar/gruntfile.js View File

@@ -36,18 +36,20 @@ module.exports = function(grunt) {
36 36
     less: {
37 37
         development: {
38 38
             options: {
39
-                paths: ["less/oscar"]
39
+                paths: ["less/pointhi", "less/logicodev"]
40 40
                 //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n'
41 41
             },
42
-            files: {"css/oscar.css": "less/oscar/oscar.less"}
42
+            files: {"css/pointhi.css": "less/pointhi/oscar.less",
43
+                    "css/logicodev.css": "less/logicodev/oscar.less"}
43 44
         },
44 45
         production: {
45 46
             options: {
46
-                paths: ["less/oscar"],
47
+                paths: ["less/pointhi", "less/logicodev"],
47 48
                 //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n',
48 49
                 cleancss: true
49 50
             },
50
-            files: {"css/oscar.min.css": "less/oscar/oscar.less"}
51
+            files: {"css/pointhi.min.css": "less/pointhi/oscar.less",
52
+                    "css/logicodev.min.css": "less/logicodev/oscar.less"}
51 53
         },
52 54
         bootstrap: {
53 55
             options: {
@@ -63,7 +65,7 @@ module.exports = function(grunt) {
63 65
             tasks: ['jshint', 'concat', 'uglify']
64 66
         },
65 67
         oscar_styles: {
66
-            files: ['less/oscar/**/*.less'],
68
+            files: ['less/pointhi/**/*.less'],
67 69
             tasks: ['less:development', 'less:production']
68 70
         },
69 71
         bootstrap_styles: {

BIN
searx/static/themes/oscar/img/logo_searx_a.png View File


BIN
searx/static/themes/oscar/img/logo_searx_a_n.png View File


searx/static/themes/oscar/less/oscar/checkbox.less → searx/static/themes/oscar/less/logicodev/checkbox.less View File


+ 103
- 0
searx/static/themes/oscar/less/logicodev/code.less View File

@@ -0,0 +1,103 @@
1
+pre, code{
2
+    font-family: 'Ubuntu Mono', 'Courier New', 'Lucida Console', monospace !important;
3
+}
4
+
5
+.lineno{
6
+    margin-right: 5px;
7
+}
8
+
9
+.highlight .hll { background-color: #ffffcc }
10
+.highlight  { background: #f8f8f8; }
11
+.highlight .c { color: #556366; font-style: italic } /* Comment */
12
+.highlight .err { border: 1px solid @orange } /* Error */
13
+.highlight .k { color: #BE74D5; font-weight: bold } /* Keyword */
14
+.highlight .o { color: #D19A66 } /* Operator */
15
+.highlight .cm { color: #556366; font-style: italic } /* Comment.Multiline */
16
+.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
17
+.highlight .c1 { color: #556366; font-style: italic } /* Comment.Single */
18
+.highlight .cs { color: #556366; font-style: italic } /* Comment.Special */
19
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
20
+.highlight .ge { font-style: italic } /* Generic.Emph */
21
+.highlight .gr { color: #FF0000 } /* Generic.Error */
22
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
23
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
24
+.highlight .go { color: #888888 } /* Generic.Output */
25
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
26
+.highlight .gs { font-weight: bold } /* Generic.Strong */
27
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
28
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
29
+.highlight .kc { color: #BE74D5; font-weight: bold } /* Keyword.Constant */
30
+.highlight .kd { color: #BE74D5; font-weight: bold } /* Keyword.Declaration */
31
+.highlight .kn { color: #BE74D5; font-weight: bold } /* Keyword.Namespace */
32
+.highlight .kp { color: #BE74D5 } /* Keyword.Pseudo */
33
+.highlight .kr { color: #BE74D5; font-weight: bold } /* Keyword.Reserved */
34
+.highlight .kt { color: #D46C72 } /* Keyword.Type */
35
+.highlight .m { color: #D19A66 } /* Literal.Number */
36
+.highlight .s { color: #86C372 } /* Literal.String */
37
+.highlight .na { color: #7D9029 } /* Name.Attribute */
38
+.highlight .nb { color: #BE74D5 } /* Name.Builtin */
39
+.highlight .nc { color: #61AFEF; font-weight: bold } /* Name.Class */
40
+.highlight .no { color: #D19A66 } /* Name.Constant */
41
+.highlight .nd { color: #AA22FF } /* Name.Decorator */
42
+.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
43
+.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
44
+.highlight .nf { color: #61AFEF } /* Name.Function */
45
+.highlight .nl { color: #A0A000 } /* Name.Label */
46
+.highlight .nn { color: #61AFEF; font-weight: bold } /* Name.Namespace */
47
+.highlight .nt { color: #BE74D5; font-weight: bold } /* Name.Tag */
48
+.highlight .nv { color: #DFC06F } /* Name.Variable */
49
+.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
50
+.highlight .w { color: #D7DAE0 } /* Text.Whitespace */
51
+.highlight .mf { color: #D19A66 } /* Literal.Number.Float */
52
+.highlight .mh { color: #D19A66 } /* Literal.Number.Hex */
53
+.highlight .mi { color: #D19A66 } /* Literal.Number.Integer */
54
+.highlight .mo { color: #D19A66 } /* Literal.Number.Oct */
55
+.highlight .sb { color: #86C372 } /* Literal.String.Backtick */
56
+.highlight .sc { color: #86C372 } /* Literal.String.Char */
57
+.highlight .sd { color: #86C372; font-style: italic } /* Literal.String.Doc */
58
+.highlight .s2 { color: #86C372 } /* Literal.String.Double */
59
+.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
60
+.highlight .sh { color: #86C372 } /* Literal.String.Heredoc */
61
+.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
62
+.highlight .sx { color: #BE74D5 } /* Literal.String.Other */
63
+.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
64
+.highlight .s1 { color: #86C372 } /* Literal.String.Single */
65
+.highlight .ss { color: #DFC06F } /* Literal.String.Symbol */
66
+.highlight .bp { color: #BE74D5 } /* Name.Builtin.Pseudo */
67
+.highlight .vc { color: #DFC06F } /* Name.Variable.Class */
68
+.highlight .vg { color: #DFC06F } /* Name.Variable.Global */
69
+.highlight .vi { color: #DFC06F } /* Name.Variable.Instance */
70
+.highlight .il { color: #D19A66 } /* Literal.Number.Integer.Long */
71
+
72
+.highlight .lineno {
73
+    -webkit-touch-callout: none;
74
+    -webkit-user-select: none;
75
+    -khtml-user-select: none;
76
+    -moz-user-select: none;
77
+    -ms-user-select: none;
78
+    user-select: none;
79
+    cursor: default;
80
+    color: #556366;
81
+    
82
+    &::selection {
83
+        background: transparent; /* WebKit/Blink Browsers */
84
+    }
85
+    &::-moz-selection {
86
+        background: transparent; /* Gecko Browsers */
87
+    }
88
+}
89
+
90
+.highlight pre {
91
+    background-color: #282C34;
92
+    color: #D7DAE0;
93
+    border: none;
94
+    margin-bottom: 25px;
95
+    font-size: 15px;
96
+    padding: 20px 10px;
97
+}
98
+
99
+.highlight {
100
+    font-weight: 700;
101
+}
102
+
103
+

searx/static/themes/oscar/less/oscar/cursor.less → searx/static/themes/oscar/less/logicodev/cursor.less View File


+ 30
- 0
searx/static/themes/oscar/less/logicodev/footer.less View File

@@ -0,0 +1,30 @@
1
+// Sticky footer styles
2
+*{
3
+  border-radius: 0 !important;
4
+}
5
+html {
6
+  position: relative;
7
+  min-height: 100%;
8
+  color: @black;
9
+}
10
+
11
+body {
12
+  /* Margin bottom by footer height */
13
+  font-family: 'Roboto', Helvetica, Arial, sans-serif;
14
+  margin-bottom: 80px;
15
+  background-color: white;
16
+
17
+  a{
18
+      color: @blue;
19
+  }
20
+}
21
+
22
+.footer {
23
+  position: absolute;
24
+  bottom: 0;
25
+  width: 100%;
26
+  /* Set the fixed height of the footer here */
27
+  height: 60px;
28
+  text-align: center;
29
+  color: #999;
30
+}

+ 37
- 0
searx/static/themes/oscar/less/logicodev/infobox.less View File

@@ -0,0 +1,37 @@
1
+.infobox {
2
+
3
+    .panel-heading{
4
+        background-color: @dim-gray;
5
+
6
+        .panel-title{
7
+            font-weight: 700;
8
+        }
9
+    }
10
+
11
+
12
+    p{
13
+        font-family: "DejaVu Serif", Georgia, Cambria, "Times New Roman", Times, serif !important;
14
+        font-style: italic;
15
+    }
16
+
17
+    .btn{
18
+        background-color: @green;
19
+        border: none;
20
+
21
+        a{
22
+            color: white;
23
+            margin: 5px;
24
+        }
25
+    }
26
+
27
+    .infobox_part {
28
+        margin-bottom: 20px;
29
+        word-wrap: break-word;
30
+        table-layout: fixed;
31
+
32
+    }
33
+    
34
+    .infobox_part:last-child {
35
+        margin-bottom: 0;
36
+    }
37
+}

+ 50
- 0
searx/static/themes/oscar/less/logicodev/navbar.less View File

@@ -0,0 +1,50 @@
1
+.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus{
2
+    background: @black;
3
+    color: @light-green;
4
+}
5
+
6
+.navbar > li > a {
7
+    padding: 0;
8
+    margin: 0;
9
+}
10
+
11
+.navbar-nav > li > a {
12
+    background: @black;
13
+    padding: 0 8px;
14
+    margin: 0;
15
+    line-height: 30px;
16
+}
17
+
18
+.navbar, .navbar-default{
19
+    background-color: @black;
20
+    border: none;
21
+    border-top: 4px solid @light-green;
22
+    padding-top: 5px;
23
+    color: @dim-gray !important;
24
+    font-weight: 700;
25
+    font-size: 1.1em;
26
+    text-transform: lowercase;
27
+    margin-bottom: 24px;
28
+    height: 30px;
29
+    line-height: 30px;
30
+
31
+    .navbar-nav > li > a{
32
+        color: @dim-gray;
33
+    }
34
+
35
+    .navbar-brand{
36
+        font-weight: 700;
37
+        text-transform: capitalize;
38
+        color: @light-green;
39
+        line-height: 30px;
40
+        padding: 0 30px;
41
+        margin: 0;
42
+    }
43
+}
44
+
45
+// Hover color
46
+// http://stackoverflow.com/users/114029/leniel-macaferi
47
+.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
48
+    color: @light-green;
49
+    background: @black;
50
+}

+ 17
- 0
searx/static/themes/oscar/less/logicodev/oscar.less View File

@@ -0,0 +1,17 @@
1
+@import "variables.less";
2
+
3
+@import "navbar.less";
4
+
5
+@import "footer.less";
6
+
7
+@import "checkbox.less";
8
+
9
+@import "results.less";
10
+
11
+@import "infobox.less";
12
+
13
+@import "search.less";
14
+
15
+@import "cursor.less";
16
+
17
+@import "code.less";

+ 149
- 0
searx/static/themes/oscar/less/logicodev/results.less View File

@@ -0,0 +1,149 @@
1
+.result_header {
2
+    margin-bottom:5px;
3
+    font-size: 16px;
4
+
5
+    .favicon {
6
+        margin-bottom:-3px;
7
+    }
8
+    
9
+    a {
10
+        color: @black;
11
+        text-decoration: none;
12
+
13
+        &:hover{
14
+            color: @blue;
15
+        }
16
+
17
+        &:visited{
18
+            color: @violet;
19
+        }
20
+        
21
+        .highlight {
22
+            background-color: @dim-gray;
23
+            // Chrome hack: bold is different size than normal
24
+            // https://stackoverflow.com/questions/20713988/weird-text-alignment-issue-in-css-when-bolded-lucida-sans
25
+        }
26
+    }
27
+}
28
+
29
+.result-content {
30
+    margin-top: 2px;
31
+    margin-bottom: 4px;
32
+    word-wrap: break-word;
33
+    color: @dark-gray;
34
+    font-size: 13px;
35
+
36
+
37
+    .highlight {
38
+        font-weight:bold;
39
+    }
40
+
41
+}
42
+
43
+.external-link, .external-link a{
44
+    color: @green;
45
+
46
+    a{
47
+        margin-right: 3px;
48
+    }
49
+}
50
+
51
+// default formating of results
52
+.result-default, .result-code, .result-torrent, .result-videos, .result-map {
53
+    clear: both;
54
+    padding: 2px 4px;
55
+    &:hover{
56
+        background-color: @dim-gray;
57
+    }
58
+}
59
+
60
+
61
+// image formating of results
62
+.result-images {
63
+    float: left !important;
64
+    width: 24%;
65
+    margin: .5%;
66
+    a{
67
+        display: block;
68
+        width: 100%;
69
+        height: 170px;
70
+        background-size: cover;
71
+    }
72
+}
73
+
74
+.img-thumbnail {
75
+    margin: 5px;
76
+    max-height: 128px;
77
+    min-height: 128px;
78
+}
79
+
80
+// video formating of results
81
+.result-videos {
82
+    clear: both;
83
+
84
+    hr{
85
+        margin: 5px 0 15px 0;
86
+    }
87
+
88
+    .collapse{
89
+        width: 100%;
90
+    }
91
+
92
+    .in{
93
+        margin-bottom: 8px;
94
+    }
95
+}
96
+
97
+// torrent formating of results
98
+.result-torrent {
99
+    clear: both;
100
+
101
+    b{
102
+        margin-right: 5px;
103
+        margin-left: 5px;
104
+    }
105
+
106
+    .seeders{
107
+        color: @green;
108
+    }
109
+
110
+    .leechers{
111
+        color: @red;
112
+    }
113
+}
114
+
115
+// map formating of results
116
+.result-map {
117
+    clear: both;
118
+}
119
+
120
+// code formating of results
121
+.result-code {
122
+    clear: both;
123
+
124
+    .code-fork, .code-fork a{
125
+        color: @dark-gray;
126
+    }
127
+
128
+}
129
+
130
+// suggestion
131
+.suggestion_item {
132
+    margin: 2px 5px;
133
+}
134
+
135
+// download result
136
+.result_download {
137
+    margin-right: 5px;
138
+}
139
+
140
+// page forward, backward
141
+#pagination {
142
+    margin-top: 30px;
143
+    padding-bottom: 60px;
144
+}
145
+
146
+.label-default {
147
+    color: @gray;
148
+    background: transparent;
149
+}

+ 59
- 0
searx/static/themes/oscar/less/logicodev/search.less View File

@@ -0,0 +1,59 @@
1
+.search_categories, #categories {
2
+  margin: 15px 0 20px 0;
3
+  text-transform: capitalize;
4
+  
5
+  label{
6
+    border: none;
7
+    box-shadow: none;
8
+    font-size: 13px;
9
+    padding-bottom: 2px;
10
+    color: @gray;
11
+    margin-bottom: 5px;
12
+
13
+    &:hover{
14
+        color: @black;
15
+        background-color: transparent;
16
+    }
17
+
18
+      &:active{
19
+        box-shadow: none;
20
+      }
21
+  }
22
+
23
+  .active, .btn-primary{
24
+    color: @black;
25
+    font-weight: 700;
26
+    border-bottom: 5px solid @light-green;
27
+    background-color: transparent;
28
+  }
29
+
30
+}
31
+
32
+.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
33
+    background-color: transparent !important;
34
+    box-shadow: none;
35
+}
36
+
37
+#categories{
38
+    margin: 0;
39
+}
40
+
41
+#main-logo{
42
+    margin-top: 10vh;
43
+    margin-bottom: 25px;
44
+}
45
+
46
+#q{
47
+    box-shadow: none;
48
+    border-right: none;
49
+    border-color: @gray;
50
+}
51
+
52
+ #search_form .input-group-btn .btn{
53
+    border-color: @gray;
54
+ }
55
+
56
+ #search_form .input-group-btn .btn:hover{
57
+     background-color: @green;
58
+     color: white;
59
+ }

+ 10
- 0
searx/static/themes/oscar/less/logicodev/variables.less View File

@@ -0,0 +1,10 @@
1
+@black: #29314D;
2
+@gray: #A4A4A4;
3
+@dim-gray: #F6F9FA;
4
+@dark-gray: #666;
5
+@blue: #0088CC; 
6
+@red: #F35E77;
7
+@violet: #684898;
8
+@green: #2ecc71;
9
+@light-green: #01D7D4; 
10
+@orange: #FFA92F;

+ 9
- 0
searx/static/themes/oscar/less/pointhi/checkbox.less View File

@@ -0,0 +1,9 @@
1
+// Hide element if checkbox is checked
2
+input[type=checkbox]:checked + .label_hide_if_checked, input[type=checkbox]:checked + .label_hide_if_not_checked + .label_hide_if_checked {
3
+  display:none;
4
+}
5
+
6
+// Hide element if checkbox is not checked
7
+input[type=checkbox]:not(:checked) + .label_hide_if_not_checked, input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not_checked {
8
+  display:none;
9
+}

searx/static/themes/oscar/less/oscar/code.less → searx/static/themes/oscar/less/pointhi/code.less View File


+ 8
- 0
searx/static/themes/oscar/less/pointhi/cursor.less View File

@@ -0,0 +1,8 @@
1
+// display cursor
2
+.cursor-text {
3
+    cursor: text !important;
4
+}
5
+
6
+.cursor-pointer {
7
+    cursor: pointer !important;
8
+}

searx/static/themes/oscar/less/oscar/footer.less → searx/static/themes/oscar/less/pointhi/footer.less View File


searx/static/themes/oscar/less/oscar/infobox.less → searx/static/themes/oscar/less/pointhi/infobox.less View File


searx/static/themes/oscar/less/oscar/oscar.less → searx/static/themes/oscar/less/pointhi/oscar.less View File


searx/static/themes/oscar/less/oscar/results.less → searx/static/themes/oscar/less/pointhi/results.less View File


searx/static/themes/oscar/less/oscar/search.less → searx/static/themes/oscar/less/pointhi/search.less View File


+ 7
- 3
searx/templates/oscar/base.html View File

@@ -12,7 +12,11 @@
12 12
     <title>{% block title %}{% endblock %}{{ instance_name }}</title>
13 13
 
14 14
     <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}" type="text/css" />
15
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/oscar.min.css') }}" type="text/css" />
15
+    {% if cookies['oscar-style'] %}
16
+        <link rel="stylesheet" href="{{ url_for('static', filename='css/'+cookies['oscar-style']+'.min.css') }}" type="text/css" />
17
+    {% else %}
18
+        <link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
19
+    {% endif %}
16 20
     <link rel="stylesheet" href="{{ url_for('static', filename='css/leaflet.min.css') }}" type="text/css" />
17 21
     {% for css in styles %}
18 22
         <link rel="stylesheet" href="{{ url_for('static', filename=css) }}" type="text/css" />
@@ -48,8 +52,8 @@
48 52
     </noscript>
49 53
 </head>
50 54
 <body>
51
-    <div class="container">
52 55
     {% include 'oscar/navbar.html' %}
56
+    <div class="container">
53 57
 
54 58
     {% block site_alert_error %}
55 59
     {% endblock %}
@@ -75,7 +79,7 @@
75 79
         <div class="container">
76 80
             {% block footer %}
77 81
             {% endblock %}
78
-            <p class="text-muted">{{ _('Powered by') }} <a href="https://asciimoo.github.io/searx/">searx</a> - {{ searx_version }} - {{ _('a privacy-respecting, hackable metasearch engine') }}</p>
82
+            <p class="text-muted"><small>{{ _('Powered by') }} <a href="https://asciimoo.github.io/searx/">searx</a> - {{ searx_version }} - {{ _('a privacy-respecting, hackable metasearch engine') }}</small></p>
79 83
         </div>
80 84
     </div>
81 85
     <script src="{{ url_for('static', filename='js/jquery-1.11.1.min.js') }}"></script>

+ 8
- 1
searx/templates/oscar/index.html View File

@@ -3,7 +3,14 @@
3 3
 <div class="container-fluid">
4 4
     <div class="row">
5 5
         <div class="text-center col-sm-12 col-md-12">
6
-            <h1 class="text-hide center-block"><img class="center-block img-responsive" src="{{ url_for('static', filename='img/searx_logo.png') }}" alt="searx logo"/>searx</h1>
6
+            {% if cookies['oscar-style'] == 'pointhi' %}
7
+                <h1 class="text-hide center-block"><img class="center-block img-responsive" src="{{ url_for('static', filename='img/searx_logo.png') }}" alt="searx logo"/>searx</h1>
8
+            {% else %}
9
+                <h1 class="text-hide center-block" id="main-logo">
10
+                    <img class="center-block img-responsive" src="{{ url_for('static', filename='img/logo_searx_a.png') }}" alt="searx logo" style="max-width: 350px"/>
11
+                    searx
12
+                </h1>
13
+            {% endif %}
7 14
         </div>
8 15
     </div>
9 16
     <div class="row">

+ 8
- 4
searx/templates/oscar/macros.html View File

@@ -17,7 +17,6 @@
17 17
 <!-- Draw result sub header -->
18 18
 {% macro result_sub_header(result) -%}
19 19
     {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %}
20
-    <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}" rel="noreferrer">{{ icon('link') }} {{ _('cached') }}</a></small>
21 20
     {% if result.magnetlink %}<small> &bull; <a href="{{ result.magnetlink }}" class="magnetlink">{{ icon('magnet') }} {{ _('magnet link') }}</a></small>{% endif %}
22 21
     {% if result.torrentfile %}<small> &bull; <a href="{{ result.torrentfile }}" class="torrentfile" rel="noreferrer">{{ icon('download-alt') }} {{ _('torrent file') }}</a></small>{% endif %}
23 22
 {%- endmacro %}
@@ -29,15 +28,20 @@
29 28
     {% for engine in result.engines %}
30 29
         <span class="label label-default">{{ engine }}</span>
31 30
     {% endfor %}
31
+    <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}" rel="noreferrer">{{ icon('link') }} {{ _('cached') }}</a></small>
32 32
 </div>
33
-    <p class="text-muted">{{ result.pretty_url }}</p>
33
+    <span class="text-muted"><small>{{ result.pretty_url }}</small></span>
34 34
 {%- endmacro %}
35 35
 
36 36
 <!-- Draw result footer -->
37 37
 {% macro result_footer_rtl(result) -%}
38 38
     <div class="clearfix"></div>
39
-    <span class="label label-default pull-left">{{ result.engine }}</span>
40
-    <p class="text-muted">{{ result.pretty_url }}&lrm;</p>
39
+    {% for engine in result.engines %}
40
+        <span class="label label-default">{{ engine }}</span>
41
+    {% endfor %}
42
+    <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}" rel="noreferrer">{{ icon('link') }} {{ _('cached') }}</a></small>
43
+</div>
44
+    <span class="text-muted"><small>{{ result.pretty_url }}</small></span>
41 45
 {%- endmacro %}
42 46
 
43 47
 {% macro preferences_item_header(info, label, rtl) -%}

+ 7
- 0
searx/templates/oscar/preferences.html View File

@@ -110,6 +110,13 @@
110 110
                             {% endfor %}
111 111
                         </select>
112 112
                     {{ preferences_item_footer(theme_info, theme_label, rtl) }}
113
+
114
+                    {{ preferences_item_header(_('Choose style for this theme'), _('Style'), rtl) }}
115
+                        <select class="form-control" name='oscar-style'>
116
+                            <option value="logicodev" >Logicodev</option>
117
+                            <option value="pointhi" {% if cookies['oscar-style'] == 'pointhi' %}selected="selected"{% endif %}>Pointhi</option>
118
+                        </select>
119
+                    {{ preferences_item_footer(_('Choose style for this theme'), _('Style'), rtl) }}
113 120
                 </div>
114 121
                 </fieldset>
115 122
             </div>