Merge pull request #246 from Cqoicebordel/pix-arts

New theme !
This commit is contained in:
Adam Tauber 2015-04-25 12:52:07 -04:00
commit 952473d297
22 changed files with 1072 additions and 0 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

View file

@ -0,0 +1,141 @@
if(searx.autocompleter) {
window.addEvent('domready', function() {
new Autocompleter.Request.JSON('q', '/autocompleter', {
postVar:'q',
postData:{
'format': 'json'
},
ajaxOptions:{
timeout: 5 // Correct option?
},
'minLength': 4,
'selectMode': false,
cache: true,
delay: 300
});
});
}
(function (w, d) {
'use strict';
function addListener(el, type, fn) {
if (el.addEventListener) {
el.addEventListener(type, fn, false);
} else {
el.attachEvent('on' + type, fn);
}
}
function placeCursorAtEnd() {
if (this.setSelectionRange) {
var len = this.value.length * 2;
this.setSelectionRange(len, len);
}
}
addListener(w, 'load', function () {
var qinput = d.getElementById('q');
if (qinput !== null && qinput.value === "") {
addListener(qinput, 'focus', placeCursorAtEnd);
qinput.focus();
}
});
if (!!('ontouchstart' in window)) {
document.getElementsByTagName("html")[0].className += " touch";
}
})(window, document);
var xmlHttp
function GetXmlHttpObject(){
var xmlHttp = null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e) {
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
var timer;
// Load more results
function load_more(query,page){
xmlHttp = GetXmlHttpObject();
clearTimeout(timer);
if(xmlHttp == null){
alert ("Your browser does not support AJAX!");
return;
}
favicons[page] = [];
xmlHttp.onreadystatechange = function(){
var loader = document.getElementById('load_more');
// If 4, response OK
if (xmlHttp.readyState == 4){
var res = xmlHttp.responseText;
clearTimeout(timer);
timer = setTimeout(function(){},6000);
var results = document.getElementById('results_list');
var newNode = document.createElement('span');
newNode.innerHTML = res;
results_list.appendChild(newNode);
var scripts = newNode.getElementsByTagName('script');
for (var ix = 0; ix < scripts.length; ix++) {
eval(scripts[ix].text);
}
load_images(page);
document.getElementById("load_more").onclick = function() { load_more(query, (page+1)); }
loader.removeAttribute("disabled");
} else {
loader.disabled = 'disabled';
}
}
var url = "/";
var params = "q="+query+"&pageno="+page+"&category_general=1&category_files=1&category_images=1&category_it=1&category_map=1&category_music=1&category_news=1&category_social+media=1&category_videos=1";
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}
// Load the images on the canvas in the page
function load_images(page){
var arrayLength = favicons[page].length;
for (var i = 1; i < arrayLength+1; i++) {
var img = new Image();
img.setAttribute("i",i)
img.onload = function () {
var id = 'canvas-'+page+'-'+this.getAttribute("i");
var can = document.getElementById(id);
var ctx = can.getContext("2d");
ctx.drawImage(this, 0, 0, 16, 16);
};
img.src = favicons[page][i];
}
}

View file

@ -0,0 +1,119 @@
/*
* 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;
@color-highlight: #094089;
@color-black: #000000;
/// General
@color-font: #444;
@color-font-light: #888;
@color-red: #C0392B;
@color-url-font: #1a11be;
@color-url-visited-font: #8E44AD;
@results-width: 50em;
/// 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;
/// Autocompleter
@color-autocompleter-choices-background: #FFF;
@color-autocompleter-choices-border: @color-base;
@color-autocompleter-choices-border-left-right: @color-base;
@color-autocompleter-choices-border-bottom: @color-base;
@color-autocompleter-choices-font: #444;
/// Answers
@color-answers-border: @color-base-dark;
// Selected
@color-autocompleter-selected-background: #444;
@color-autocompleter-selected-font: #FFF;
@color-autocompleter-selected-queried-font: #9FCFFF;
/// 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: @color-red;
// Publish Date
@color-result-publishdate-font: @color-font-light;
// 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: @color-font-light;
@color-percentage-div-background: #444;

View 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;
}

View file

@ -0,0 +1,57 @@
/*
* searx, A privacy-respecting, hackable metasearch engine
*/
.search {
padding: 0;
margin: 0;
}
#search_wrapper {
position: relative;
width: @results-width;
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;
font-family: "Courier New", Courier, monospace;
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: 15px;
right: 5px;
padding: 0;
border: 0;
background: url('../img/search-icon-pixel.png') no-repeat;
background-size: 24px 24px;
opacity: 0.8;
width: 24px;
height: 24px;
font-size: 0;
}
@media screen and (max-width: @results-width) {
#search_wrapper {
width: 90%;
clear:both;
overflow: hidden
}
}

View file

@ -0,0 +1,451 @@
/*
* 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: "Courier New", Courier, monospace;
font-size: 0.9em;
.text-size-adjust;
color: @color-font;
padding: 0;
margin: 0;
}
body, #container {
padding: 0;
margin: 0;
}
canvas {
image-rendering: optimizeSpeed;
image-rendering: -moz-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: optimize-contrast;
image-rendering: pixelated;
-ms-interpolation-mode: nearest-neighbor;
width:32px;
height:32px;
}
#container {
width: 100%;
position: absolute;
top: 0;
}
// Search-Field
@import "search.less";
.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('../img/searx-pixel.png') no-repeat;
width: 100%;
min-height: 80px;
background-position: center;
h1 {
visibility: hidden;
}
}
input[type="button"],
input[type="submit"] {
font-family: "Courier New", Courier, monospace;
padding: 4px 12px;
margin: 2px 4px;
display: inline-block;
background: @color-download-button-background;
color: @color-download-button-font;
.rounded-corners;
border: 0;
cursor: pointer;
}
input[type="button"]:disabled {
cursor: progress;
}
input[type="checkbox"] {
visibility: hidden;
}
fieldset {
margin: 8px;
border: 1px solid @color-settings-fieldset;
}
#logo {
position: absolute;
top: 13px;
left: 10px;
}
#categories {
margin: 0 10px;
.user-select;
}
.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;
}
.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;
}
}
.engines {
color: @color-engines-font;
}
.small_font {
font-size: 0.8em;
}
.small p {
margin: 2px 0;
}
.right {
float: right;
}
.invisible {
display: none;
}
.left {
float: left;
}
.highlight {
color: @color-highlight;
}
.content .highlight {
color: @color-black;
}
.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;
}
}
#results {
margin: auto;
padding: 0;
width: @results-width;
margin-bottom: 20px;
}
#search_url {
margin-top: 8px;
input {
border: 1px solid @color-result-search-url-border;
padding: 4px;
color: @color-result-search-url-font;
width: 14em;
display: block;
margin: 4px;
font-size: 0.8em;
}
}
#preferences {
top: 10px;
padding: 0;
border: 0;
background: url('../img/preference-icon-pixel.png') no-repeat;
background-size: 28px 28px;
opacity: 0.8;
width: 28px;
height: 30px;
display: block;
* {
display: none;
}
}
#pagination {
clear: both;
text-align: center;
br {
clear: both;
}
}
#apis {
margin-top: 8px;
clear: both;
}
#categories_container {
position: relative;
}
@media screen and (max-width: @results-width) {
#results {
margin: auto;
padding: 0;
width: 90%;
}
.checkbox_container {
display: block;
width: 90%;
//float: left;
label {
border-bottom: 0;
}
}
.preferences_container {
display: none;
postion: fixed !important;
top: 100px;
right: 0px;
}
}
@media screen and (max-width: 75em) {
div.title {
h1 {
font-size: 1em;
}
}
html.touch #categories {
width: 95%;
height: 30px;
text-align: left;
overflow-x: scroll;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
#categories_container {
width: 1000px;
width: -moz-max-content;
width: -webkit-max-content;
width: max-content;
.checkbox_container {
display: inline-block;
width: auto;
}
}
}
#categories {
font-size: 90%;
clear: both;
.checkbox_container {
margin-top: 2px;
margin: auto;
}
}
#categories {
font-size: 90%;
clear: both;
.checkbox_container {
margin-top: 2px;
margin: auto;
}
}
#apis {
display: none;
}
#search_url {
display: none;
}
#logo {
display: none;
}
}
.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;
}
}
.hidden {
opacity: 0;
overflow: hidden;
font-size: 0.8em;
position: absolute;
bottom: -20px;
width: 100%;
text-position: center;
background: white;
transition: opacity 1s ease;
}
#categories_container:hover .hidden {
transition: opacity 1s ease;
opacity: 0.8;
}