diff options
Diffstat (limited to 'searx/static/themes')
120 files changed, 2667 insertions, 4364 deletions
diff --git a/searx/static/themes/simple/js/searx_src/searx_imageresult.js b/searx/static/themes/__common__/js/image_layout.js index 7bbfc14..ea54cf5 100644 --- a/searx/static/themes/simple/js/searx_src/searx_imageresult.js +++ b/searx/static/themes/__common__/js/image_layout.js @@ -3,21 +3,21 @@ * Google Image Layout v0.0.1 * Description, by Anh Trinh. * Heavily modified for searx -* http://trinhtrunganh.com +* https://ptgamr.github.io/2014-09-12-google-image-layout/ +* https://ptgamr.github.io/google-image-layout/src/google-image-layout.js * * @license Free to use under the MIT License. * */ -(function(w, d) { - 'use strict'; - - function ImageLayout(container_selector, results_selector, img_selector, maxHeight) { + +(function (w, d) { + function ImageLayout(container_selector, results_selector, img_selector, margin, maxHeight) { this.container_selector = container_selector; this.results_selector = results_selector; this.img_selector = img_selector; - this.margin = 10; + this.margin = margin; this.maxHeight = maxHeight; - this._alignAllDone = true; + this.isAlignDone = true; } /** @@ -31,12 +31,11 @@ * * @return {[type]} the height */ - ImageLayout.prototype._getHeigth = function(images, width) { - var r = 0, - img; + ImageLayout.prototype._getHeigth = function (images, width) { + var i, img; + var r = 0; - width -= images.length * this.margin; - for (var i = 0; i < images.length; i++) { + for (i = 0; i < images.length; i++) { img = images[i]; if ((img.naturalWidth > 0) && (img.naturalHeight > 0)) { r += img.naturalWidth / img.naturalHeight; @@ -46,12 +45,14 @@ } } - return width / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 + return (width - images.length * this.margin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 }; - ImageLayout.prototype._setSize = function(images, height) { - var img, imgWidth, imagesLength = images.length; - for (var i = 0; i < imagesLength; i++) { + ImageLayout.prototype._setSize = function (images, height) { + var i, img, imgWidth; + var imagesLength = images.length, resultNode; + + for (i = 0; i < imagesLength; i++) { img = images[i]; if ((img.naturalWidth > 0) && (img.naturalHeight > 0)) { imgWidth = height * img.naturalWidth / img.naturalHeight; @@ -65,38 +66,52 @@ img.style.marginTop = '3px'; img.style.marginRight = this.margin - 7 + 'px'; // -4 is the negative margin of the inline element img.style.marginBottom = this.margin - 7 + 'px'; + resultNode = img.parentNode.parentNode; + if (!resultNode.classList.contains('js')) { + resultNode.classList.add('js'); + } } }; - ImageLayout.prototype._alignImgs = function(imgGroup) { - var slice, h, - containerWidth = d.querySelector(this.container_selector).clientWidth; + ImageLayout.prototype._alignImgs = function (imgGroup) { + var isSearching, slice, i, h; + var containerElement = d.querySelector(this.container_selector); + var containerCompStyles = window.getComputedStyle(containerElement); + var containerPaddingLeft = parseInt(containerCompStyles.getPropertyValue('padding-left'), 10); + var containerPaddingRight = parseInt(containerCompStyles.getPropertyValue('padding-right'), 10); + var containerWidth = containerElement.clientWidth - containerPaddingLeft - containerPaddingRight; - w: while (imgGroup.length > 0) { - for (var i = 1; i <= imgGroup.length; i++) { + while (imgGroup.length > 0) { + isSearching = true; + for (i = 1; i <= imgGroup.length && isSearching; i++) { slice = imgGroup.slice(0, i); h = this._getHeigth(slice, containerWidth); if (h < this.maxHeight) { this._setSize(slice, h); + // continue with the remaining images imgGroup = imgGroup.slice(i); - continue w; + isSearching = false; } } - this._setSize(slice, Math.min(this.maxHeight, h)); - break; + if (isSearching) { + this._setSize(slice, Math.min(this.maxHeight, h)); + break; + } } }; - ImageLayout.prototype.align = function(results_selector) { - var results_selectorNode = d.querySelectorAll(this.results_selector), - results_length = results_selectorNode.length, - previous = null, - current = null, - imgGroup = []; - for (var i = 0; i < results_length; i++) { + ImageLayout.prototype.align = function () { + var i; + var results_selectorNode = d.querySelectorAll(this.results_selector); + var results_length = results_selectorNode.length; + var previous = null; + var current = null; + var imgGroup = []; + + for (i = 0; i < results_length; i++) { current = results_selectorNode[i]; if (current.previousElementSibling !== previous && imgGroup.length > 0) { - // the current image is not conected to previous one + // the current image is not connected to previous one // so the current image is the start of a new group of images. // so call _alignImgs to align the current group this._alignImgs(imgGroup); @@ -114,32 +129,29 @@ } }; - ImageLayout.prototype.watch = function() { - var i, img, imgGroup, imgNodeLength, - obj = this, - results_nodes = d.querySelectorAll(this.results_selector), - results_length = results_nodes.length; - - function align(e) { - obj.align(); - } + ImageLayout.prototype.watch = function () { + var i, img; + var obj = this; + var results_nodes = d.querySelectorAll(this.results_selector); + var results_length = results_nodes.length; - function throttleAlign(e) { - if (obj._alignAllDone) { - obj._alignAllDone = false; - setTimeout(function() { + function throttleAlign() { + if (obj.isAlignDone) { + obj.isAlignDone = false; + setTimeout(function () { obj.align(); - obj._alignAllDone = true; + obj.isAlignDone = true; }, 100); } } + w.addEventListener('pageshow', throttleAlign); + w.addEventListener('load', throttleAlign); w.addEventListener('resize', throttleAlign); - w.addEventListener('pageshow', align); for (i = 0; i < results_length; i++) { img = results_nodes[i].querySelector(this.img_selector); - if (typeof img !== 'undefined') { + if (img !== null && img !== undefined) { img.addEventListener('load', throttleAlign); img.addEventListener('error', throttleAlign); } @@ -148,4 +160,4 @@ w.searx.ImageLayout = ImageLayout; -})(window, document); +}(window, document)); diff --git a/searx/static/themes/courgette/img/favicon.png b/searx/static/themes/courgette/img/favicon.png Binary files differdeleted file mode 100644 index 3818d3d..0000000 --- a/searx/static/themes/courgette/img/favicon.png +++ /dev/null diff --git a/searx/static/themes/courgette/img/preference-icon.png b/searx/static/themes/courgette/img/preference-icon.png Binary files differdeleted file mode 100644 index 57e991c..0000000 --- a/searx/static/themes/courgette/img/preference-icon.png +++ /dev/null diff --git a/searx/static/themes/courgette/img/search-icon.png b/searx/static/themes/courgette/img/search-icon.png Binary files differdeleted file mode 100644 index 9bc7a22..0000000 --- a/searx/static/themes/courgette/img/search-icon.png +++ /dev/null diff --git a/searx/static/themes/courgette/img/searx-mobile.png b/searx/static/themes/courgette/img/searx-mobile.png Binary files differdeleted file mode 100644 index 31dd7d1..0000000 --- a/searx/static/themes/courgette/img/searx-mobile.png +++ /dev/null diff --git a/searx/static/themes/courgette/img/searx.png b/searx/static/themes/courgette/img/searx.png Binary files differdeleted file mode 100644 index 68c2e4f..0000000 --- a/searx/static/themes/courgette/img/searx.png +++ /dev/null diff --git a/searx/static/themes/courgette/img/searx_logo.svg b/searx/static/themes/courgette/img/searx_logo.svg deleted file mode 100644 index 67a2d45..0000000 --- a/searx/static/themes/courgette/img/searx_logo.svg +++ /dev/null @@ -1,203 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448819" - height="1052.3622047" - id="svg2" - version="1.1" - inkscape:version="0.48.4 r9939" - sodipodi:docname="searx_logo.svg" - inkscape:export-filename="/home/a/magnif.png" - inkscape:export-xdpi="203.1774" - inkscape:export-ydpi="203.1774"> - <defs - id="defs4"> - <linearGradient - inkscape:collect="always" - id="linearGradient3857"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3859" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3861" /> - </linearGradient> - <linearGradient - id="linearGradient3790"> - <stop - style="stop-color:#a9a9a9;stop-opacity:1;" - offset="0" - id="stop3792" /> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="1" - id="stop3794" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3790" - id="radialGradient3798" - cx="294.45947" - cy="208.37973" - fx="294.45947" - fy="208.37973" - r="107.58125" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3857" - id="linearGradient3865" - x1="120.68947" - y1="239.61774" - x2="120.68947" - y2="602.17517" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3790" - id="linearGradient3912" - x1="186.74416" - y1="354.42426" - x2="255.84358" - y2="254.35953" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.2227304,0,0,0.89945099,-289.31433,113.40259)" /> - <filter - inkscape:collect="always" - id="filter4024" - x="-0.12996517" - width="1.2599303" - y="-0.14709377" - height="1.2941875"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="6.4759344" - id="feGaussianBlur4026" /> - </filter> - <filter - inkscape:collect="always" - id="filter3983" - x="-1.0608404" - width="3.1216809" - y="-0.31017202" - height="1.620344"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="9.392858" - id="feGaussianBlur3985" /> - </filter> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="1.979899" - inkscape:cx="30.708726" - inkscape:cy="948.08556" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1364" - inkscape:window-height="663" - inkscape:window-x="0" - inkscape:window-y="30" - inkscape:window-maximized="0" - showguides="true" - inkscape:guide-bbox="true" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <path - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 70.523181,34.870671 c -7.11959,15.242893 -10.17798,31.779192 -8.22563,48.814566 5.01677,43.774133 41.675309,79.324503 91.536109,95.162893 -6.62576,-22.40752 -5.34093,-44.9362 2.6395,-65.84431 C 108.73618,98.821131 74.828141,70.195435 70.523181,34.870671 z" - id="path3814-0-7" - inkscape:connector-curvature="0" /> - <path - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 303.77876,36.21406 c 7.11959,15.242893 10.17798,31.779192 8.22563,48.814566 -5.01677,43.774134 -41.67531,79.324504 -91.53611,95.162894 6.62576,-22.40752 5.34093,-44.9362 -2.6395,-65.84431 47.73698,-14.18269 81.64502,-42.808386 85.94998,-78.13315 z" - id="path3814-0" - inkscape:connector-curvature="0" /> - <path - transform="matrix(0.6556593,-0.75505688,0.75505688,0.6556593,0,0)" - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m -5.0905523,259.06055 18.4167573,0 c 6.220455,0 11.228257,16.68196 11.228257,37.40349 l 0,172.83701 c 0,20.72153 -5.007802,37.40349 -11.228257,37.40349 l -18.4167573,0 c -6.2204547,0 -11.2282577,-16.68196 -11.2282577,-37.40349 l 0,-172.83701 c 0,-20.72153 5.007803,-37.40349 11.2282577,-37.40349 z" - id="rect3804" /> - <path - sodipodi:type="arc" - style="fill:url(#radialGradient3798);fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path2987" - sodipodi:cx="294.45947" - sodipodi:cy="208.37973" - sodipodi:rx="107.58125" - sodipodi:ry="107.58125" - d="m 402.04073,208.37973 a 107.58125,107.58125 0 1 1 -215.16251,0 107.58125,107.58125 0 1 1 215.16251,0 z" - transform="translate(-107.07617,-60.609153)" /> - <path - sodipodi:type="arc" - style="fill:url(#linearGradient3865);fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path3757" - sodipodi:cx="131.82491" - sodipodi:cy="299.29346" - sodipodi:rx="101.52033" - sodipodi:ry="101.52033" - d="m 233.34524,299.29346 a 101.52033,101.52033 0 1 1 -203.040667,0 101.52033,101.52033 0 1 1 203.040667,0 z" - transform="matrix(0.76865672,0,0,0.76865672,85.80266,-82.535889)" /> - <path - sodipodi:type="arc" - style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path3800" - sodipodi:cx="183.34268" - sodipodi:cy="156.35687" - sodipodi:rx="27.274118" - sodipodi:ry="27.274118" - d="m 210.6168,156.35687 a 27.274118,27.274118 0 1 1 -54.54824,0 27.274118,27.274118 0 1 1 54.54824,0 z" - transform="translate(5,-7.1428572)" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path3802" - sodipodi:cx="197.9899" - sodipodi:cy="203.32896" - sodipodi:rx="5.5558391" - sodipodi:ry="5.5558391" - d="m 203.54574,203.32896 a 5.5558391,5.5558391 0 1 1 -11.11168,0 5.5558391,5.5558391 0 1 1 11.11168,0 z" - transform="translate(1.4847712,-63.564549)" /> - <rect - style="fill:#ffffff;fill-opacity:0.82211531000000004;fill-rule:nonzero;stroke:none;filter:url(#filter4024)" - id="rect3916" - width="2.2392972" - height="159.43797" - x="19.525793" - y="337.8396" - rx="2.8666623" - ry="9.0007057" - transform="matrix(0.74466525,-0.84318084,0.84318084,0.74466525,-35.543204,-26.349917)" /> - </g> -</svg> diff --git a/searx/static/themes/courgette/js/searx.js b/searx/static/themes/courgette/js/searx.js deleted file mode 100644 index 92a25e3..0000000 --- a/searx/static/themes/courgette/js/searx.js +++ /dev/null @@ -1,45 +0,0 @@ -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': 'type-ahead', - 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(); - } - }); - -})(window, document); - diff --git a/searx/static/themes/courgette/less/style-rtl.less b/searx/static/themes/courgette/less/style-rtl.less deleted file mode 100644 index 3e357d3..0000000 --- a/searx/static/themes/courgette/less/style-rtl.less +++ /dev/null @@ -1,42 +0,0 @@ -.q { - padding: 0.5em 1em 0.5em 3em; -} - -#search_submit { - left: 0; - right:auto; -} - -.result .favicon { - float: right; - margin-left: 0.5em; - margin-right: 0; -} - -#sidebar { - right: auto; - left: 0; -} - -#results { - padding: 0px 32px 0px 272px; -} - -.search.center { - padding-right: 0; - padding-left: 17em; -} - -.right { - right: auto; - left: 0; -} - -#pagination form + form { - float: left; - margin-top: -2em; -} - -.engine-table { - text-align:right; -}
\ No newline at end of file diff --git a/searx/static/themes/courgette/less/style.less b/searx/static/themes/courgette/less/style.less deleted file mode 100644 index 26da728..0000000 --- a/searx/static/themes/courgette/less/style.less +++ /dev/null @@ -1,695 +0,0 @@ - -@color-main: #3498DB; -@color-focus: #0665A2; -@color-other-links: #666; -@color-fonts: #333; -@center-width: 70em; - - - - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -input[type="search"] { - -webkit-appearance: textfield; -} - -h2 { - color: @color-other-links; - text-transform: uppercase; -} - -body { - font-family: sans-serif; - line-height: 1.5; - margin: 0; - background: #EEE; -} - -html { - position: relative; - min-height: 100%; -} - -a { - color: @color-other-links; -} - -.title h1 { - font-size:7em; - color:@color-main; - margin:0 auto; - line-height:100px; - margin-top:-20px; - padding-bottom:20px; -} - -.center { - max-width: @center-width; - text-align: center; - background: rgba(255,255,255,0.6); - padding: 2em; - margin: 7% auto 0; - position: relative; -} - -.center.search { - position: static; - width: auto; - background: none; - margin: auto; - padding-top: 1.8em; -} - -@media screen and (min-width: 1001px) { - .center:after { - content: ""; - z-index: -1; - background: url(../img/bg-body-index.jpg) no-repeat; - background-size: cover; - width: 100%; - height: 100%; - top: 0; - left: 0; - position: fixed; - } - .center.search:after { - content: none; - } -} - -.autocompleter-choices { - position: absolute; - margin: 0; - padding: 0; - background: #FFF; -} - -.autocompleter-choices li { - padding: 0.5em 1em; -} - -.autocompleter-choices li:hover { - background: @color-main; - color: #FFF; - cursor: pointer; -} - -#categories { - text-align: center; -} - -.top_margin { - position: absolute; - bottom: -3.5em; - width: 100%; - left: 0; -} - -.top_margin a { - display: inline-block; - margin-right: 1em; - color: #FFF; - text-decoration: none; -} - -.top_margin a:hover, -.top_margin a:focus { - text-decoration: underline; -} - -@media screen and (max-width: 1000px) { - .center { background: none; } - .top_margin a { - color: @color-fonts; - } -} - -.checkbox_container { margin-top: 1.5em; } -.checkbox_container label { - padding: 0.5em 1em; - color: @color-fonts; - cursor: pointer; - font-size: 0.9em; -} - -.checkbox_container label:hover { - background: @color-main; - color: #FFF; -} - -.checkbox_container input[type="checkbox"] { - position: absolute; - top: -9999px; -} - -.checkbox_container input[type="checkbox"]:checked + label { - background: @color-main; - color: #FFF; -} - -#categories_container > div { - display: inline-block; -} - -#categories .hidden { - display: none; - position: absolute; - bottom: 1em; - left: 0; - text-align: center; - width: 100%; - font-size: 0.9em; - font-style: italic; - color: @color-fonts; -} - -#categories:hover .hidden { - display: block; -} - -@media screen and (max-width: 900px) { - #categories_container { letter-spacing: -5px; } - #categories_container > div { - letter-spacing: normal; - margin-top: 1em; - } - .checkbox_container { - margin: 0; - } - .checkbox_container label { - display: block; - background: #CCC; - padding: 1em; - border: 1px solid #FFF; - } - .top_margin { position: static; } - #categories .hidden { - position: static; - display: block; - } -} - -@media screen and (max-width: 900px) and (min-width: 501px) { - #categories_container > div { - width: 31%; - margin-left: 2.333%; - } - #categories_container > div:nth-child(3n+1) { margin-left: 0; } -} - -@media screen and (max-width: 500px) { - #categories_container > div { - width: 48%; - margin-left: 2%; - font-size: 0.9em; - } - #categories_container > div:nth-child(2n+1) { margin-left: 0; } - .title h1 { - background: url(../img/searx-mobile.png) no-repeat; - width: 200px; - height: 39px; - } -} - -#search_wrapper { - position: relative; -} - -.q { - padding: 0.5em 3em 0.5em 1em; - width: 100%; - font-size: 1.5em; - border: 0; - color: #666; -} - -#search_submit { - position: absolute; - top: 0; - right: 0; - border: 0; - background:url("../img/search-icon.png") no-repeat scroll center center / 65% auto @color-main; - text-indent: -9999px; - width: 5em; - height: 100%; - cursor: pointer; -} - -#search_submit:hover, -#search_submit:focus { - background-color: @color-focus; -} - -#sidebar { - background: @color-main; - position: fixed; - top: 0; - right: 0; - width: 15em; - height: 100%; - padding: 1.5em; - text-align: right; -} - -.right { - position: fixed; - bottom: 1.5em; - width: 15em; - right: 0; - z-index: 1; - padding: 0 1.5em; - text-align: right; -} - -.right a { - color: #FFF; - display: block; - text-decoration: none; -} - -.right a:hover, -.right a:focus { - text-decoration: underline; -} - -#preferences { - background: url("../img/preference-icon.png") no-repeat right center / 12% auto; - padding-right: 1.8em; -} - -#preferences:hover, -#preferences:focus { - -} - -#search_url input { - border: 0; - padding: 0.5em; -} - -#sidebar > div { - margin-bottom: 1em; - color: #FFF; -} - -#sidebar form { - display: inline-block; -} - -#sidebar input[type="submit"] { - background: #CCC; - border: 0; - padding: 0.5em 1em; - cursor: pointer; - margin-top: 0.5em; -} - -#sidebar input[type="submit"]:hover, -#sidebar input[type="submit"]:focus { - color: #FFF; - background-color: @color-focus; -} - -#results { - padding-right: 17em; - padding-left: 2em; - padding: 0 17em 0 2em; -} - -.result p { - font-size: 0.9em; -} - -.result .engines { - text-align: right; -} - -.result .content { - margin: 0; - color: #666; -} - -.result .url { - margin-top: 0; - color: #FF6530; -} - -.result .favicon { - float: left; - position: relative; - top: 0.5em; - margin-right: 0.5em; -} - -.definition_result { - background: #CCC; - padding: 1em; -} - -.definition_result .result_title, -.definition_result p { - margin: 0; -} - -.result_title { - margin-bottom: 0; - font-weight: normal; -} - -.highlight { - font-weight: bold; -} - -.result_title a { - color: @color-main; - text-decoration: none; -} - -.result_title a:hover, -.result_title a:focus { - text-decoration: underline; -} - -.cache_link { - color: #666; - font-size: 0.9em; - font-style: italic; -} - -.search.center { - padding-right: 17em; -} - -#answers { - border: 2px solid @color-main; - padding: 20px; - color:#666; - text-align: center; - max-width:@center-width; - margin:0 auto 20px; -} - -#suggestions { margin-bottom: 1em; } - -#suggestions span { color: #666; } - -#suggestions form { - display: inline-block; - vertical-align: top; - margin-bottom: 0.5em; -} - -#suggestions input[type="submit"] { - color: @color-fonts; - padding: 0.5em 1em; - border: 0; - background: #CCC; - cursor:pointer; -} - -#suggestions input[type="submit"]:hover, -#suggestions input[type="submit"]:focus { - background: @color-main; - color: #FFF; -} - -#pagination { - margin: 1.5em 0 2em; -} - -#pagination form + form { - float: right; - margin-top: -2em; -} - -input[type="submit"] { - display: inline-block; - background: @color-main; - color: #FFF; - border: 0; - padding: 0.6em 1em; - cursor: pointer; -} - -input[type="submit"]:hover, -input[type="submit"]:focus { - background: @color-focus; -} - -.row { - max-width: 60em; - margin: auto; -} - -.row a { - color: @color-main; -} - -.row form { - letter-spacing: -5px; -} - -.row form > * { letter-spacing: normal; } - -.row p { margin: 0; } - -.row fieldset { - display: inline-block; - width: 48%; - vertical-align: top; -} - -.row fieldset:last-of-type { - display: block; - width: auto; - background: none; - padding: 0; -} - -.row fieldset:nth-child(odd) { - margin-right: 2%; -} - -.row fieldset:nth-child(2) { - min-height: 10.5em; -} - -@media screen and (max-width: 900px) { - .row { - margin: 0 1em; - } - - .row fieldset { width: 49%; } - .row fieldset, - .row fieldset:nth-child(odd) { - margin-right: 0; - } - - .row fieldset:first-child { - width: 100%; - margin-right: 0; - } - - .row fieldset:nth-child(even) { - margin-right: 2%; - } -} - -@media screen and (max-width: 800px) { - .row fieldset { width: 100%; } - - select { width: 100%; } - - table { font-size: 0.8em; } - .right {display: none;} - #sidebar { display: none; } - #results { padding: 0 2em; } - .search.center { - padding-right: 2em; - } -} - -@media screen and (max-width: 400px) { - .row #categories_container > div { - width: 100%; - margin-left: 0; - } -} - -fieldset { - border: 0; - margin: 1em 0; - background: #CCC; - padding: 1.5em; -} - -table { - width: 100%; - text-align: left; - border: 1px solid #CCC; - border-collapse: collapse; -} - -table th { - background: #999; - color: #FFF; -} - -table tr:nth-child(odd) { - background: #CCC; -} - -table th, -table td { - padding: 0.5em 1em; - border: 1px solid #FFF; -} - -.engine_checkbox label { - padding: 0.5em; - background: @color-main; - color: #FFF; - cursor: pointer; -} - -.engine_checkbox .deny { - background: @color-main; -} - -.engine_checkbox .allow { - display: none; - background: #666; -} - -.engine_checkbox input { - display: none; -} - -.engine_checkbox input:checked + .allow { - display: inline; -} - -.engine_checkbox input:checked + .allow + .deny{ - display: none; -} - -.row input[type="submit"] { - font-size: 1em; - margin: 1em 0 2em; -} - -.row .right { - position: static; - display: inline-block; - -} - -.row .right a { - color: @color-fonts; - width: auto; - text-align: left; - padding: 0; -} - -.small_font { - font-size: 0.8em; -} - -table th { - padding: 1em; -} - -legend { - background: #EEE; - padding: 0 1em; - position: relative; -} - -select { - border: 1px solid #DDD; - padding: 0.5em 0.8em; - font-size: 1em; -} - -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ - -.highlight pre { overflow: auto; } - -.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; } /* WebKit/Blink Browsers */ -.highlight .lineno::-moz-selection { background: transparent; } /* Gecko Browsers */ diff --git a/searx/static/themes/legacy/img/favicon.png b/searx/static/themes/legacy/img/favicon.png Binary files differdeleted file mode 100644 index 3818d3d..0000000 --- a/searx/static/themes/legacy/img/favicon.png +++ /dev/null diff --git a/searx/static/themes/legacy/img/preference-icon.png b/searx/static/themes/legacy/img/preference-icon.png Binary files differdeleted file mode 100644 index 8bdee64..0000000 --- a/searx/static/themes/legacy/img/preference-icon.png +++ /dev/null diff --git a/searx/static/themes/legacy/img/search-icon.png b/searx/static/themes/legacy/img/search-icon.png Binary files differdeleted file mode 100644 index d70310b..0000000 --- a/searx/static/themes/legacy/img/search-icon.png +++ /dev/null diff --git a/searx/static/themes/legacy/img/searx.png b/searx/static/themes/legacy/img/searx.png Binary files differdeleted file mode 100644 index a98f12a..0000000 --- a/searx/static/themes/legacy/img/searx.png +++ /dev/null diff --git a/searx/static/themes/legacy/img/searx_logo.svg b/searx/static/themes/legacy/img/searx_logo.svg deleted file mode 100644 index 67a2d45..0000000 --- a/searx/static/themes/legacy/img/searx_logo.svg +++ /dev/null @@ -1,203 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448819" - height="1052.3622047" - id="svg2" - version="1.1" - inkscape:version="0.48.4 r9939" - sodipodi:docname="searx_logo.svg" - inkscape:export-filename="/home/a/magnif.png" - inkscape:export-xdpi="203.1774" - inkscape:export-ydpi="203.1774"> - <defs - id="defs4"> - <linearGradient - inkscape:collect="always" - id="linearGradient3857"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3859" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3861" /> - </linearGradient> - <linearGradient - id="linearGradient3790"> - <stop - style="stop-color:#a9a9a9;stop-opacity:1;" - offset="0" - id="stop3792" /> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="1" - id="stop3794" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3790" - id="radialGradient3798" - cx="294.45947" - cy="208.37973" - fx="294.45947" - fy="208.37973" - r="107.58125" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3857" - id="linearGradient3865" - x1="120.68947" - y1="239.61774" - x2="120.68947" - y2="602.17517" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3790" - id="linearGradient3912" - x1="186.74416" - y1="354.42426" - x2="255.84358" - y2="254.35953" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.2227304,0,0,0.89945099,-289.31433,113.40259)" /> - <filter - inkscape:collect="always" - id="filter4024" - x="-0.12996517" - width="1.2599303" - y="-0.14709377" - height="1.2941875"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="6.4759344" - id="feGaussianBlur4026" /> - </filter> - <filter - inkscape:collect="always" - id="filter3983" - x="-1.0608404" - width="3.1216809" - y="-0.31017202" - height="1.620344"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="9.392858" - id="feGaussianBlur3985" /> - </filter> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="1.979899" - inkscape:cx="30.708726" - inkscape:cy="948.08556" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1364" - inkscape:window-height="663" - inkscape:window-x="0" - inkscape:window-y="30" - inkscape:window-maximized="0" - showguides="true" - inkscape:guide-bbox="true" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <path - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 70.523181,34.870671 c -7.11959,15.242893 -10.17798,31.779192 -8.22563,48.814566 5.01677,43.774133 41.675309,79.324503 91.536109,95.162893 -6.62576,-22.40752 -5.34093,-44.9362 2.6395,-65.84431 C 108.73618,98.821131 74.828141,70.195435 70.523181,34.870671 z" - id="path3814-0-7" - inkscape:connector-curvature="0" /> - <path - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 303.77876,36.21406 c 7.11959,15.242893 10.17798,31.779192 8.22563,48.814566 -5.01677,43.774134 -41.67531,79.324504 -91.53611,95.162894 6.62576,-22.40752 5.34093,-44.9362 -2.6395,-65.84431 47.73698,-14.18269 81.64502,-42.808386 85.94998,-78.13315 z" - id="path3814-0" - inkscape:connector-curvature="0" /> - <path - transform="matrix(0.6556593,-0.75505688,0.75505688,0.6556593,0,0)" - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m -5.0905523,259.06055 18.4167573,0 c 6.220455,0 11.228257,16.68196 11.228257,37.40349 l 0,172.83701 c 0,20.72153 -5.007802,37.40349 -11.228257,37.40349 l -18.4167573,0 c -6.2204547,0 -11.2282577,-16.68196 -11.2282577,-37.40349 l 0,-172.83701 c 0,-20.72153 5.007803,-37.40349 11.2282577,-37.40349 z" - id="rect3804" /> - <path - sodipodi:type="arc" - style="fill:url(#radialGradient3798);fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path2987" - sodipodi:cx="294.45947" - sodipodi:cy="208.37973" - sodipodi:rx="107.58125" - sodipodi:ry="107.58125" - d="m 402.04073,208.37973 a 107.58125,107.58125 0 1 1 -215.16251,0 107.58125,107.58125 0 1 1 215.16251,0 z" - transform="translate(-107.07617,-60.609153)" /> - <path - sodipodi:type="arc" - style="fill:url(#linearGradient3865);fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path3757" - sodipodi:cx="131.82491" - sodipodi:cy="299.29346" - sodipodi:rx="101.52033" - sodipodi:ry="101.52033" - d="m 233.34524,299.29346 a 101.52033,101.52033 0 1 1 -203.040667,0 101.52033,101.52033 0 1 1 203.040667,0 z" - transform="matrix(0.76865672,0,0,0.76865672,85.80266,-82.535889)" /> - <path - sodipodi:type="arc" - style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path3800" - sodipodi:cx="183.34268" - sodipodi:cy="156.35687" - sodipodi:rx="27.274118" - sodipodi:ry="27.274118" - d="m 210.6168,156.35687 a 27.274118,27.274118 0 1 1 -54.54824,0 27.274118,27.274118 0 1 1 54.54824,0 z" - transform="translate(5,-7.1428572)" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path3802" - sodipodi:cx="197.9899" - sodipodi:cy="203.32896" - sodipodi:rx="5.5558391" - sodipodi:ry="5.5558391" - d="m 203.54574,203.32896 a 5.5558391,5.5558391 0 1 1 -11.11168,0 5.5558391,5.5558391 0 1 1 11.11168,0 z" - transform="translate(1.4847712,-63.564549)" /> - <rect - style="fill:#ffffff;fill-opacity:0.82211531000000004;fill-rule:nonzero;stroke:none;filter:url(#filter4024)" - id="rect3916" - width="2.2392972" - height="159.43797" - x="19.525793" - y="337.8396" - rx="2.8666623" - ry="9.0007057" - transform="matrix(0.74466525,-0.84318084,0.84318084,0.74466525,-35.543204,-26.349917)" /> - </g> -</svg> diff --git a/searx/static/themes/legacy/js/searx.js b/searx/static/themes/legacy/js/searx.js deleted file mode 100644 index d6d5b74..0000000 --- a/searx/static/themes/legacy/js/searx.js +++ /dev/null @@ -1,49 +0,0 @@ -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); - diff --git a/searx/static/themes/legacy/less/autocompleter.less b/searx/static/themes/legacy/less/autocompleter.less deleted file mode 100644 index 4ab2508..0000000 --- a/searx/static/themes/legacy/less/autocompleter.less +++ /dev/null @@ -1,61 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - */ - -ul { - &.autocompleter-choices { - position: absolute; - margin: 0; - padding: 0; - list-style: none; - border: 1px solid @color-autocompleter-choices-border; - border-left-color: @color-autocompleter-choices-border-left-right; - border-right-color: @color-autocompleter-choices-border-left-right; - border-bottom-color: @color-autocompleter-choices-border-bottom; - text-align: left; - font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; - z-index: 50; - background-color: @color-autocompleter-choices-background; - color: @color-autocompleter-choices-font; - - li { - position: relative; - margin: -2px 0 0 0; - padding: 0.2em 1.5em 0.2em 1em; - display: block; - float: none !important; - cursor: pointer; - font-weight: normal; - white-space: nowrap; - font-size: 1em; - line-height: 1.5em; - - &.autocompleter-selected { - background-color: @color-autocompleter-selected-background; - color: @color-autocompleter-selected-font; - - span.autocompleter-queried { - color: @color-autocompleter-selected-queried-font; - } - } - } - - span.autocompleter-queried { - display: inline; - float: none; - font-weight: bold; - margin: 0; - padding: 0; - } - } -} - -/*.autocompleter-loading { - //background-image: url(images/spinner.gif); - background-repeat: no-repeat; - background-position: right 50%; -}*/ - -/*textarea.autocompleter-loading { - background-position: right bottom; -}*/ diff --git a/searx/static/themes/legacy/less/code.less b/searx/static/themes/legacy/less/code.less deleted file mode 100644 index a688dd9..0000000 --- a/searx/static/themes/legacy/less/code.less +++ /dev/null @@ -1,83 +0,0 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ - -.highlight pre { - overflow: auto; -} - -.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; - - &::selection { - background: transparent; /* WebKit/Blink Browsers */ - } - &::-moz-selection { - background: transparent; /* Gecko Browsers */ - } -} diff --git a/searx/static/themes/legacy/less/definitions.less b/searx/static/themes/legacy/less/definitions.less deleted file mode 100644 index 0ac0cc9..0000000 --- a/searx/static/themes/legacy/less/definitions.less +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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; diff --git a/searx/static/themes/legacy/less/mixins.less b/searx/static/themes/legacy/less/mixins.less deleted file mode 100644 index dbccce6..0000000 --- a/searx/static/themes/legacy/less/mixins.less +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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/themes/legacy/less/search.less b/searx/static/themes/legacy/less/search.less deleted file mode 100644 index d285ca7..0000000 --- a/searx/static/themes/legacy/less/search.less +++ /dev/null @@ -1,68 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - */ - -.search { - padding: 0; - margin: 0; - .checkbox_container label { - font-size: 0.9em; - border-bottom: 2px solid @color-categories-item-border-unselected; - } - - .checkbox_container label:hover { - border-bottom: 2px solid @color-categories-item-border-unselected-hover; - } - - .checkbox_container input[type="checkbox"]:checked + label { - border-bottom: 2px solid @color-categories-item-border-selected; - } -} - -#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; - 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('../img/search-icon.png') no-repeat; - background-size: 24px 24px; - opacity: 0.8; - width: 24px; - height: 30px; - font-size: 0; -} - -@media screen and (max-width: @results-width) { - #search_wrapper { - width: 90%; - clear:both; - overflow: hidden - } -} diff --git a/searx/static/themes/legacy/less/style-rtl.less b/searx/static/themes/legacy/less/style-rtl.less deleted file mode 100644 index eac53c1..0000000 --- a/searx/static/themes/legacy/less/style-rtl.less +++ /dev/null @@ -1,11 +0,0 @@ -#search_submit { - left: 1px; - right:auto; -} - -.result .favicon { - float: right; - margin-left: 0.5em; - margin-right: 0; -} - diff --git a/searx/static/themes/legacy/less/style.less b/searx/static/themes/legacy/less/style.less deleted file mode 100644 index bbeaf10..0000000 --- a/searx/static/themes/legacy/less/style.less +++ /dev/null @@ -1,743 +0,0 @@ -/* - * searx, A privacy-respecting, hackable metasearch engine - * - * To convert "style.less" to "style.css" run: $make styles - */ - -@import "definitions.less"; - -@import "mixins.less"; - -@import "code.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; -} - -// Search-Field - -@import "search.less"; - -// Autocompleter - -@import "autocompleter.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.png') no-repeat; - width: 100%; - min-height: 80px; - 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; - .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; - } -} - -.result { - margin: 19px 0 18px 0; - padding: 0; - 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; - } - } -} - -.cache_link { - font-size: 10px !important; -} - -.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; - - img { - float: left; - margin-right: 5px; - max-width: 200px; - max-height: 100px; - } - - br.last { - clear: both; - } - } - - .url { - font-size: 0.8em; - margin: 0 0 3px 0; - padding: 0; - max-width: 54em; - word-wrap:break-word; - color: @color-result-url-font; - } - - .published_date { - font-size: 0.8em; - color: @color-result-publishdate-font; - Margin: 5px 20px; - } - - .thumbnail { - width: 400px; - } -} - -.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; -} - -.image_result { - display: inline-block; - margin: 10px 10px; - position: relative; - max-height: 160px; - - img { - border: 0; - max-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; - } - - a { - color: @color-result-link-font; - - &:hover { - text-decoration: underline; - } - - &:visited { - color: @color-result-link-visited-font; - } - } -} - -.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%; -} - -.result-table { - margin-bottom: 10px; -} - -td { - padding: 0 4px; -} - -tr { - &:hover { - background: @color-settings-tr-hover; - } -} - -#results { - margin: auto; - padding: 0; - width: @results-width; - margin-bottom: 20px; -} - -#sidebar { - position: fixed; - bottom: 10px; - left: 10px; - margin: 0 2px 5px 5px; - padding: 0 2px 2px 2px; - width: 14em; - - input { - padding: 0; - margin: 3px; - font-size: 0.8em; - display: inline-block; - background: transparent; - color: @color-result-search-url-font; - cursor: pointer; - } - input[type="submit"] { - text-decoration: underline; - } -} - -#suggestions { - - form { - display: inline; - } - -} - -#suggestions, #answers { - - margin-top: 20px; - max-width: 45em; - -} - -#suggestions, #answers, #infoboxes { - - input { - padding: 0; - margin: 3px; - font-size: 0.8em; - display: inline-block; - background: transparent; - color: @color-result-search-url-font; - cursor: pointer; - } - - input[type="submit"] { - text-decoration: underline; - } - -} - -#suggestions-title { - -color: @color-font-light; - - -} - -#answers { - - border: 2px solid @color-answers-border; - padding: 20px; - -} - -#answers, #infoboxes { - form { - min-width: 210px; - } -} - - -#infoboxes { - position: absolute; - top: 100px; - right: 20px; - margin: 0px 2px 5px 5px; - padding: 0px 2px 2px; - max-width: 21em; - word-wrap: break-word; - - .infobox { - margin: 10px 0 10px; - border: 1px solid #ddd; - padding: 5px; - font-size: 0.8em; - /* box-shadow: 0px 0px 5px #CCC; */ - - img { - max-width: 90%; - max-heigt: 12em; - display: block; - margin: 5px; - padding: 5px; - } - - h2 { - margin: 0; - } - - table { - table-layout: fixed; - - td { - vertical-align: top; - } - - } - - input { - font-size: 1em; - } - - br { - clear: both; - } - - } -} - -#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.png') no-repeat; - background-size: 28px 28px; - opacity: 0.8; - width: 28px; - height: 30px; - display: block; - - * { - display: none; - } -} - -#pagination { - clear: both; - - 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%; - } - - .github { - display: none; - } - - .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; - } - } - - #suggestions, #answers { - margin-top: 5px; - } - - #infoboxes { - position: inherit; - max-width: inherit; - - .infobox { - clear:both; - - img { - float: left; - max-width: 10em; - } - } - } - - #categories { - font-size: 90%; - clear: both; - - .checkbox_container { - margin-top: 2px; - margin: auto; - } - } - - #sidebar { - position: static; - max-width: @results-width; - margin: 0 0 2px 0; - padding: 0; - float: none; - border: none; - width: auto; - input { - border: 0; - } - } - - #apis { - display: none; - } - - #search_url { - display: none; - } - - .result { - border-top: 1px solid @color-result-top-border; - margin: 8px 0 8px 0; - - .thumbnail { - max-width: 98%; - } - } - - .image_result { - max-width: 98%; - img { - max-width: 98%; - } - } -} - -.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; -} diff --git a/searx/static/themes/oscar/.gitignore b/searx/static/themes/oscar/.gitignore index c2658d7..07e6e47 100644 --- a/searx/static/themes/oscar/.gitignore +++ b/searx/static/themes/oscar/.gitignore @@ -1 +1 @@ -node_modules/ +/node_modules diff --git a/searx/static/themes/oscar/README.rst b/searx/static/themes/oscar/README.rst index e7daa87..1a226bc 100644 --- a/searx/static/themes/oscar/README.rst +++ b/searx/static/themes/oscar/README.rst @@ -15,3 +15,42 @@ run this command in the directory ``searx/static/themes/oscar`` or in the root directory: ``make grunt`` + +directory structure +~~~~~~~~~~~~~~~~~~~ + +see: + +- gruntfile.js +- package.json + +************* +css directory +************* + +- ``bootstrap*``: bootstrap NPM package, +- ``leaflet.*``: leaflet NPM package +- ``leaflet.min.css``: minimized version of ``leaflet.css`` (see gruntfile.js) +- ``logicodev.*``: compiled from ``src/less/logicodev`` +- ``logicodev-dark*``: compiled from ``src/less/logicodev-dark`` +- ``pointhi*``: compiled from ``src/less/pointhi`` +- ``images``: leaflet NPM package + +************** +font directory +************** + +- from bootstrap NPM package + +************ +js directory +************ + +- ``searx.*``: compiled from ``src/js`` +- other files are from NPM packages + +************* +img directory +************* + +- images for the oscar theme diff --git a/searx/static/themes/oscar/css/images/layers-2x.png b/searx/static/themes/oscar/css/images/layers-2x.png Binary files differnew file mode 100644 index 0000000..200c333 --- /dev/null +++ b/searx/static/themes/oscar/css/images/layers-2x.png diff --git a/searx/static/themes/oscar/css/images/layers.png b/searx/static/themes/oscar/css/images/layers.png Binary files differnew file mode 100644 index 0000000..1a72e57 --- /dev/null +++ b/searx/static/themes/oscar/css/images/layers.png diff --git a/searx/static/themes/oscar/css/images/marker-icon-2x.png b/searx/static/themes/oscar/css/images/marker-icon-2x.png Binary files differnew file mode 100644 index 0000000..88f9e50 --- /dev/null +++ b/searx/static/themes/oscar/css/images/marker-icon-2x.png diff --git a/searx/static/themes/oscar/css/images/marker-icon.png b/searx/static/themes/oscar/css/images/marker-icon.png Binary files differnew file mode 100644 index 0000000..950edf2 --- /dev/null +++ b/searx/static/themes/oscar/css/images/marker-icon.png diff --git a/searx/static/themes/oscar/css/images/marker-shadow.png b/searx/static/themes/oscar/css/images/marker-shadow.png Binary files differnew file mode 100644 index 0000000..9fd2979 --- /dev/null +++ b/searx/static/themes/oscar/css/images/marker-shadow.png diff --git a/searx/static/themes/oscar/css/pointhi.css b/searx/static/themes/oscar/css/pointhi.css new file mode 100644 index 0000000..b810a2d --- /dev/null +++ b/searx/static/themes/oscar/css/pointhi.css @@ -0,0 +1,706 @@ +html { + position: relative; + min-height: 100%; +} +body { + /* Margin bottom by footer height */ + margin-bottom: 80px; +} +.footer { + position: absolute; + bottom: 0; + width: 100%; + /* Set the fixed height of the footer here */ + 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; +} +.onoff-checkbox { + width: 15%; +} +.onoffswitch { + position: relative; + width: 110px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} +.onoffswitch-checkbox { + display: none; +} +.onoffswitch-label { + display: block; + overflow: hidden; + cursor: pointer; + border: 2px solid #FFFFFF !important; + border-radius: 50px !important; +} +.onoffswitch-inner { + display: block; + transition: margin 0.3s ease-in 0s; +} +.onoffswitch-inner:before, +.onoffswitch-inner:after { + display: block; + float: left; + width: 50%; + height: 30px; + padding: 0; + line-height: 40px; + font-size: 20px; + box-sizing: border-box; + content: ""; + background-color: #EEEEEE; +} +.onoffswitch-switch { + display: block; + width: 37px; + background-color: #00CC00; + position: absolute; + top: 0; + bottom: 0; + right: 0px; + border: 2px solid #FFFFFF !important; + border-radius: 50px !important; + transition: all 0.3s ease-in 0s; +} +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { + margin-right: 0; +} +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { + right: 71px; + background-color: #A1A1A1; +} +.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: bold; +} +.result-content { + margin-top: 5px; + word-wrap: break-word; +} +.result-content .highlight { + font-weight: bold; +} +.result-default { + clear: both; +} +.result-images { + float: left !important; + height: 138px; +} +.img-thumbnail { + margin: 5px; + max-height: 128px; +} +.result-videos { + clear: both; +} +.result-torrents { + clear: both; +} +.result-map { + clear: both; +} +.result-code { + clear: both; +} +.suggestion_item { + margin: 2px 5px; + max-width: 100%; +} +.suggestion_item .btn { + max-width: 100%; + white-space: normal; + word-wrap: break-word; + text-align: left; +} +.result_download { + margin-right: 5px; +} +#pagination { + margin-top: 30px; + padding-bottom: 50px; +} +.label-default { + color: #AAA; + background: #FFF; +} +.result .text-muted small { + word-wrap: break-word; +} +.modal-wrapper { + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); +} +.modal-wrapper { + background-clip: padding-box; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + outline: 0 none; + position: relative; +} +.highlight { + font-weight: 700; +} +.infobox img { + max-height: 250px; +} +.infobox .infobox_part { + margin-bottom: 20px; + word-wrap: break-word; + table-layout: fixed; +} +.infobox .infobox_part:last-child { + margin-bottom: 0; +} +.infobox .header_url { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; +} +.infobox .infobox_toggle { + width: 100%; + text-align: center; + margin-bottom: 0px; +} +.infobox .infobox_checkbox ~ .infobox_body { + max-height: 300px; + overflow: hidden; +} +.infobox .infobox_checkbox:checked ~ .infobox_body { + max-height: none; +} +.infobox .infobox_checkbox ~ .infobox_toggle .infobox_label_down { + display: block; +} +.infobox .infobox_checkbox ~ .infobox_toggle .infobox_label_up { + display: none; +} +.infobox .infobox_checkbox:checked ~ .infobox_toggle .infobox_label_up { + display: block; +} +.infobox .infobox_checkbox:checked ~ .infobox_toggle .infobox_label_down { + display: none; +} +.infobox .infobox_checkbox ~ .infobox_body img.infobox_part { + display: none; +} +.infobox .infobox_checkbox:checked ~ .infobox_body img.infobox_part { + display: block; +} +.search_categories, +#categories { + text-transform: capitalize; + margin-bottom: 1.5rem; + margin-top: 1.5rem; + display: flex; + flex-wrap: wrap; + align-content: stretch; +} +.search_categories a, +#categories a { + flex-grow: 1; + flex-basis: auto; + border: #DDD 1px solid; + border-right: none; + color: #666; + padding-bottom: 0.4rem; + padding-top: 0.4rem; + text-align: center; + min-width: 50px; +} +.search_categories label, +#categories label, +.search_categories .input-group-addon, +#categories .input-group-addon { + flex-grow: 1; + flex-basis: auto; + font-size: 1.3rem; + font-weight: normal; + background-color: white; + border: #DDD 1px solid; + border-right: none; + color: #333; + padding-bottom: 0.8rem; + padding-top: 0.8rem; + text-align: center; + width: 100%; + height: 100%; +} +.search_categories a:last-child, +#categories a:last-child, +.search_categories .input-group-addon:last-child, +#categories .input-group-addon:last-child { + border-right: #DDD 1px solid; +} +.search_categories input[type="checkbox"]:checked + label, +#categories input[type="checkbox"]:checked + label { + color: black; + font-weight: bold; + background-color: #EEE; +} +.visually-hidden { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px 1px 1px 1px); + /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + white-space: nowrap; + /* added line */ +} +#advanced-search-container { + display: none; + text-align: center; + margin-bottom: 1rem; + clear: both; +} +#advanced-search-container label, +#advanced-search-container .input-group-addon { + font-size: 1.3rem; + font-weight: normal; + background-color: white; + border: #DDD 1px solid; + border-right: none; + color: #333; + padding-bottom: 0.8rem; + padding-left: 1.2rem; + padding-right: 1.2rem; +} +#advanced-search-container label:last-child, +#advanced-search-container .input-group-addon:last-child { + border-right: #DDD 1px solid; +} +#advanced-search-container input[type="radio"] { + display: none; +} +#advanced-search-container input[type="radio"]:checked + label { + color: black; + font-weight: bold; + background-color: #EEE; +} +#check-advanced { + display: none; +} +#check-advanced:checked ~ #advanced-search-container { + display: block; +} +.advanced { + padding: 0; + margin-top: 0.3rem; + text-align: right; +} +.advanced label, +.advanced select { + cursor: pointer; +} +.cursor-text { + cursor: text !important; +} +.cursor-pointer { + cursor: pointer !important; +} +/* + this file is generated automatically by searx_extra/update/update_pygments.py + using pygments version 2.8.0 +*/ +.code-highlight .linenos { + -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; + margin-right: 8px; + text-align: right; +} +.code-highlight .linenos::selection { + background: transparent; + /* WebKit/Blink Browsers */ +} +.code-highlight .linenos::-moz-selection { + background: transparent; + /* Gecko Browsers */ +} +.code-highlight pre { + line-height: 125%; +} +.code-highlight td.linenos .normal { + color: inherit; + background-color: transparent; + padding-left: 5px; + padding-right: 5px; +} +.code-highlight span.linenos { + color: inherit; + background-color: transparent; + padding-left: 5px; + padding-right: 5px; +} +.code-highlight td.linenos .special { + color: #000000; + background-color: #ffffc0; + padding-left: 5px; + padding-right: 5px; +} +.code-highlight span.linenos.special { + color: #000000; + background-color: #ffffc0; + padding-left: 5px; + padding-right: 5px; +} +.code-highlight .hll { + background-color: #ffffcc; +} +.code-highlight { + background: #f8f8f8; +} +.code-highlight .c { + color: #408080; + font-style: italic; +} +/* Comment */ +.code-highlight .err { + border: 1px solid #FF0000; +} +/* Error */ +.code-highlight .k { + color: #008000; + font-weight: bold; +} +/* Keyword */ +.code-highlight .o { + color: #666666; +} +/* Operator */ +.code-highlight .ch { + color: #408080; + font-style: italic; +} +/* Comment.Hashbang */ +.code-highlight .cm { + color: #408080; + font-style: italic; +} +/* Comment.Multiline */ +.code-highlight .cp { + color: #BC7A00; +} +/* Comment.Preproc */ +.code-highlight .cpf { + color: #408080; + font-style: italic; +} +/* Comment.PreprocFile */ +.code-highlight .c1 { + color: #408080; + font-style: italic; +} +/* Comment.Single */ +.code-highlight .cs { + color: #408080; + font-style: italic; +} +/* Comment.Special */ +.code-highlight .gd { + color: #A00000; +} +/* Generic.Deleted */ +.code-highlight .ge { + font-style: italic; +} +/* Generic.Emph */ +.code-highlight .gr { + color: #FF0000; +} +/* Generic.Error */ +.code-highlight .gh { + color: #000080; + font-weight: bold; +} +/* Generic.Heading */ +.code-highlight .gi { + color: #00A000; +} +/* Generic.Inserted */ +.code-highlight .go { + color: #888888; +} +/* Generic.Output */ +.code-highlight .gp { + color: #000080; + font-weight: bold; +} +/* Generic.Prompt */ +.code-highlight .gs { + font-weight: bold; +} +/* Generic.Strong */ +.code-highlight .gu { + color: #800080; + font-weight: bold; +} +/* Generic.Subheading */ +.code-highlight .gt { + color: #0044DD; +} +/* Generic.Traceback */ +.code-highlight .kc { + color: #008000; + font-weight: bold; +} +/* Keyword.Constant */ +.code-highlight .kd { + color: #008000; + font-weight: bold; +} +/* Keyword.Declaration */ +.code-highlight .kn { + color: #008000; + font-weight: bold; +} +/* Keyword.Namespace */ +.code-highlight .kp { + color: #008000; +} +/* Keyword.Pseudo */ +.code-highlight .kr { + color: #008000; + font-weight: bold; +} +/* Keyword.Reserved */ +.code-highlight .kt { + color: #B00040; +} +/* Keyword.Type */ +.code-highlight .m { + color: #666666; +} +/* Literal.Number */ +.code-highlight .s { + color: #BA2121; +} +/* Literal.String */ +.code-highlight .na { + color: #7D9029; +} +/* Name.Attribute */ +.code-highlight .nb { + color: #008000; +} +/* Name.Builtin */ +.code-highlight .nc { + color: #0000FF; + font-weight: bold; +} +/* Name.Class */ +.code-highlight .no { + color: #880000; +} +/* Name.Constant */ +.code-highlight .nd { + color: #AA22FF; +} +/* Name.Decorator */ +.code-highlight .ni { + color: #999999; + font-weight: bold; +} +/* Name.Entity */ +.code-highlight .ne { + color: #D2413A; + font-weight: bold; +} +/* Name.Exception */ +.code-highlight .nf { + color: #0000FF; +} +/* Name.Function */ +.code-highlight .nl { + color: #A0A000; +} +/* Name.Label */ +.code-highlight .nn { + color: #0000FF; + font-weight: bold; +} +/* Name.Namespace */ +.code-highlight .nt { + color: #008000; + font-weight: bold; +} +/* Name.Tag */ +.code-highlight .nv { + color: #19177C; +} +/* Name.Variable */ +.code-highlight .ow { + color: #AA22FF; + font-weight: bold; +} +/* Operator.Word */ +.code-highlight .w { + color: #bbbbbb; +} +/* Text.Whitespace */ +.code-highlight .mb { + color: #666666; +} +/* Literal.Number.Bin */ +.code-highlight .mf { + color: #666666; +} +/* Literal.Number.Float */ +.code-highlight .mh { + color: #666666; +} +/* Literal.Number.Hex */ +.code-highlight .mi { + color: #666666; +} +/* Literal.Number.Integer */ +.code-highlight .mo { + color: #666666; +} +/* Literal.Number.Oct */ +.code-highlight .sa { + color: #BA2121; +} +/* Literal.String.Affix */ +.code-highlight .sb { + color: #BA2121; +} +/* Literal.String.Backtick */ +.code-highlight .sc { + color: #BA2121; +} +/* Literal.String.Char */ +.code-highlight .dl { + color: #BA2121; +} +/* Literal.String.Delimiter */ +.code-highlight .sd { + color: #BA2121; + font-style: italic; +} +/* Literal.String.Doc */ +.code-highlight .s2 { + color: #BA2121; +} +/* Literal.String.Double */ +.code-highlight .se { + color: #BB6622; + font-weight: bold; +} +/* Literal.String.Escape */ +.code-highlight .sh { + color: #BA2121; +} +/* Literal.String.Heredoc */ +.code-highlight .si { + color: #BB6688; + font-weight: bold; +} +/* Literal.String.Interpol */ +.code-highlight .sx { + color: #008000; +} +/* Literal.String.Other */ +.code-highlight .sr { + color: #BB6688; +} +/* Literal.String.Regex */ +.code-highlight .s1 { + color: #BA2121; +} +/* Literal.String.Single */ +.code-highlight .ss { + color: #19177C; +} +/* Literal.String.Symbol */ +.code-highlight .bp { + color: #008000; +} +/* Name.Builtin.Pseudo */ +.code-highlight .fm { + color: #0000FF; +} +/* Name.Function.Magic */ +.code-highlight .vc { + color: #19177C; +} +/* Name.Variable.Class */ +.code-highlight .vg { + color: #19177C; +} +/* Name.Variable.Global */ +.code-highlight .vi { + color: #19177C; +} +/* Name.Variable.Instance */ +.code-highlight .vm { + color: #19177C; +} +/* Name.Variable.Magic */ +.code-highlight .il { + color: #666666; +} +/* Literal.Number.Integer.Long */ +.searx-navbar { + background: #eee; + color: #aaa; + height: 2.3rem; + font-size: 1.3rem; + line-height: 1.3rem; + padding: 0.5rem; + font-weight: bold; + margin-bottom: 1.3rem; +} +.searx-navbar a, +.searx-navbar a:hover { + margin-right: 2rem; + text-decoration: none; +} +.searx-navbar .instance a { + color: #444; + margin-left: 2rem; +} +.table > tbody > tr > td, +.table > tbody > tr > th { + vertical-align: middle !important; +} +.engine-tooltip { + display: none; + position: absolute; + padding: 0.5rem 1rem; + margin: 0rem 0 0 2rem; + border: 1px solid #ddd; + background: white; + font-size: 14px; + font-weight: normal; + z-index: 1000000; +} +th:hover .engine-tooltip, +.engine-tooltip:hover { + display: inline-block; +} diff --git a/searx/static/themes/oscar/gruntfile.js b/searx/static/themes/oscar/gruntfile.js index 935572d..b7c7202 100644 --- a/searx/static/themes/oscar/gruntfile.js +++ b/searx/static/themes/oscar/gruntfile.js @@ -1,19 +1,73 @@ +/*jshint esversion: 6 */ module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), + copy: { + js: { + expand: true, + cwd: './node_modules', + dest: './js/', + flatten: true, + filter: 'isFile', + timestamp: true, + src: [ + './bootstrap/dist/js/bootstrap.min.js', + './corejs-typeahead/dist/typeahead.bundle.min.js', + './jquery/dist/jquery.min.js', + './leaflet/dist/leaflet.js', + ] + }, + css: { + expand: true, + cwd: './node_modules', + dest: './css/', + flatten: true, + filter: 'isFile', + timestamp: true, + src: [ + './bootstrap/dist/css/bootstrap-theme.css', + './bootstrap/dist/css/bootstrap-theme.min.css', + './bootstrap/dist/css/bootstrap-theme.min.css.map', + './leaflet/dist/leaflet.css', + ] + }, + fonts: { + expand: true, + cwd: './node_modules', + dest: './fonts/', + flatten: true, + filter: 'isFile', + timestamp: true, + src: [ + './bootstrap/dist/fonts/glyphicons-*.*', + ] + }, + leaflet_images: { + expand: true, + cwd: './node_modules', + dest: './css/images/', + flatten: true, + filter: 'isFile', + timestamp: true, + src: [ + './leaflet/dist/images/*.png', + ] + } + }, concat: { options: { separator: ';' }, dist: { - src: ['js/searx_src/*.js'], + src: ['src/js/*.js', '../__common__/js/image_layout.js'], dest: 'js/searx.js' } }, uglify: { options: { - banner: '/*! oscar/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' + sourceMap: true, + banner: '/*! oscar/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | <%= process.env.GIT_URL %> */\n' }, dist: { files: { @@ -22,7 +76,7 @@ module.exports = function(grunt) { } }, jshint: { - files: ['gruntfile.js', 'js/searx_src/*.js'], + files: ['gruntfile.js', 'js/searx_src/*.js', '../__common__/js/image_layout.js'], options: { reporterOutput: "", // options here to override JSHint defaults @@ -35,35 +89,33 @@ module.exports = function(grunt) { } }, less: { - development: { - options: { - paths: ["less/pointhi", "less/logicodev", "less/logicodev-dark"] - //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' - }, - files: {"css/pointhi.css": "less/pointhi/oscar.less", - "css/logicodev.css": "less/logicodev-dark/oscar.less", - "css/logicodev-dark.css": "less/logicodev/oscar.less"} - }, - production: { - options: { - paths: ["less/pointhi", "less/logicodev", "less/logicodev-dark"], - //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n', - cleancss: true - }, - files: {"css/pointhi.min.css": "less/pointhi/oscar.less", - "css/logicodev.min.css": "less/logicodev/oscar.less", - "css/logicodev-dark.min.css": "less/logicodev-dark/oscar.less"} + development: { + options: { + paths: ["src/less/pointhi", "src/less/logicodev", "src/less/logicodev-dark", "src/less/bootstrap"] }, - /* - // built with ./manage.sh styles - bootstrap: { - options: { - paths: ["less/bootstrap"], - cleancss: true - }, - files: {"css/bootstrap.min.css": "less/bootstrap/bootstrap.less"} + files: { + "css/bootstrap.css": "src/less/bootstrap/bootstrap.less", + "css/pointhi.css": "src/less/pointhi/oscar.less", + "css/logicodev.css": "src/less/logicodev-dark/oscar.less", + "css/logicodev-dark.css": "src/less/logicodev/oscar.less" + } + }, + production: { + options: { + paths: ["src/less/pointhi", "src/less/logicodev", "src/less/logicodev-dark", "src/less/bootstrap"], + sourceMap: true, + sourceMapURL: (name) => { const s = name.split('/'); return s[s.length - 1] + '.map';}, + outputSourceFiles: false, + sourceMapRootpath: '../' }, - */ + files: { + "css/bootstrap.min.css": "css/bootstrap.css", + "css/leaflet.min.css": "css/leaflet.css", + "css/pointhi.min.css": "src/less/pointhi/oscar.less", + "css/logicodev.min.css": "src/less/logicodev/oscar.less", + "css/logicodev-dark.min.css": "src/less/logicodev-dark/oscar.less" + } + }, }, watch: { scripts: { @@ -71,7 +123,7 @@ module.exports = function(grunt) { tasks: ['jshint', 'concat', 'uglify'] }, oscar_styles: { - files: ['less/pointhi/**/*.less'], + files: ['src/less/pointhi/**/*.less'], tasks: ['less:development', 'less:production'] }, bootstrap_styles: { @@ -81,9 +133,13 @@ module.exports = function(grunt) { } }); - grunt.loadNpmTasks('grunt-contrib-uglify', '/usr/lib/nodejs'); - grunt.loadNpmTasks('grunt-contrib-concat', '/usr/lib/nodejs'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-concat'); + + grunt.registerTask('test', ['jshint']); grunt.registerTask('default', ['concat', 'uglify']); + grunt.registerTask('styles', ['less']); + }; diff --git a/searx/static/themes/oscar/img/map/layers-2x.png b/searx/static/themes/oscar/img/map/layers-2x.png Binary files differdeleted file mode 100644 index 0b30da6..0000000 --- a/searx/static/themes/oscar/img/map/layers-2x.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/layers.png b/searx/static/themes/oscar/img/map/layers.png Binary files differdeleted file mode 100644 index 4297fd9..0000000 --- a/searx/static/themes/oscar/img/map/layers.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-2x-green.png b/searx/static/themes/oscar/img/map/marker-icon-2x-green.png Binary files differdeleted file mode 100644 index 7446bb0..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-2x-green.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-2x-orange.png b/searx/static/themes/oscar/img/map/marker-icon-2x-orange.png Binary files differdeleted file mode 100644 index ecd6773..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-2x-orange.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-2x-red.png b/searx/static/themes/oscar/img/map/marker-icon-2x-red.png Binary files differdeleted file mode 100644 index 1d2e197..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-2x-red.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-2x.png b/searx/static/themes/oscar/img/map/marker-icon-2x.png Binary files differdeleted file mode 100644 index 0015b64..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-2x.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-green.png b/searx/static/themes/oscar/img/map/marker-icon-green.png Binary files differdeleted file mode 100644 index f48ef41..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-green.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-orange.png b/searx/static/themes/oscar/img/map/marker-icon-orange.png Binary files differdeleted file mode 100644 index d0d2220..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-orange.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon-red.png b/searx/static/themes/oscar/img/map/marker-icon-red.png Binary files differdeleted file mode 100644 index 7a92b9e..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon-red.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-icon.png b/searx/static/themes/oscar/img/map/marker-icon.png Binary files differdeleted file mode 100644 index e2e9f75..0000000 --- a/searx/static/themes/oscar/img/map/marker-icon.png +++ /dev/null diff --git a/searx/static/themes/oscar/img/map/marker-shadow.png b/searx/static/themes/oscar/img/map/marker-shadow.png Binary files differdeleted file mode 100644 index d1e773c..0000000 --- a/searx/static/themes/oscar/img/map/marker-shadow.png +++ /dev/null diff --git a/searx/static/themes/oscar/js/searx.js b/searx/static/themes/oscar/js/searx.js deleted file mode 100644 index 927aeb4..0000000 --- a/searx/static/themes/oscar/js/searx.js +++ /dev/null @@ -1,356 +0,0 @@ -/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -requirejs.config({ - baseUrl: './static/themes/oscar/js', - paths: { - app: '../app' - } -}); -;/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2019 by Alexandre Flament - */ -window.searx = (function(d) { - 'use strict'; - - // add data- properties - var script = d.currentScript || (function() { - var scripts = d.getElementsByTagName('script'); - return scripts[scripts.length - 1]; - })(); - - return { - autocompleter: script.getAttribute('data-autocompleter') === 'true', - method: script.getAttribute('data-method') - }; -})(document); -;/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -if(searx.autocompleter) { - searx.searchResults = new Bloodhound({ - datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), - queryTokenizer: Bloodhound.tokenizers.whitespace, - remote: './autocompleter?q=%QUERY' - }); - searx.searchResults.initialize(); -} - -$(document).ready(function(){ - if(searx.autocompleter) { - $('#q').typeahead(null, { - name: 'search-results', - displayKey: function(result) { - return result; - }, - source: searx.searchResults.ttAdapter() - }); - } -}); -;/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -$(document).ready(function(){ - /** - * focus element if class="autofocus" and id="q" - */ - $('#q.autofocus').focus(); - - /** - * select full content on click if class="select-all-on-click" - */ - $(".select-all-on-click").click(function () { - $(this).select(); - }); - - /** - * change text during btn-collapse click if possible - */ - $('.btn-collapse').click(function() { - var btnTextCollapsed = $(this).data('btn-text-collapsed'); - var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed'); - - if(btnTextCollapsed !== '' && btnTextNotCollapsed !== '') { - if($(this).hasClass('collapsed')) { - new_html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed); - } else { - new_html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed); - } - $(this).html(new_html); - } - }); - - /** - * change text during btn-toggle click if possible - */ - $('.btn-toggle .btn').click(function() { - var btnClass = 'btn-' + $(this).data('btn-class'); - var btnLabelDefault = $(this).data('btn-label-default'); - var btnLabelToggled = $(this).data('btn-label-toggled'); - if(btnLabelToggled !== '') { - if($(this).hasClass('btn-default')) { - new_html = $(this).html().replace(btnLabelDefault, btnLabelToggled); - } else { - new_html = $(this).html().replace(btnLabelToggled, btnLabelDefault); - } - $(this).html(new_html); - } - $(this).toggleClass(btnClass); - $(this).toggleClass('btn-default'); - }); - - /** - * change text during btn-toggle click if possible - */ - $('.media-loader').click(function() { - var target = $(this).data('target'); - var iframe_load = $(target + ' > iframe'); - var srctest = iframe_load.attr('src'); - if(srctest === undefined || srctest === false){ - iframe_load.attr('src', iframe_load.data('src')); - } - }); - - /** - * Select or deselect every categories on double clic - */ - $(".btn-sm").dblclick(function() { - var btnClass = 'btn-' + $(this).data('btn-class'); // primary - if($(this).hasClass('btn-default')) { - $(".btn-sm > input").attr('checked', 'checked'); - $(".btn-sm > input").prop("checked", true); - $(".btn-sm").addClass(btnClass); - $(".btn-sm").addClass('active'); - $(".btn-sm").removeClass('btn-default'); - } else { - $(".btn-sm > input").attr('checked', ''); - $(".btn-sm > input").removeAttr('checked'); - $(".btn-sm > input").checked = false; - $(".btn-sm").removeClass(btnClass); - $(".btn-sm").removeClass('active'); - $(".btn-sm").addClass('btn-default'); - } - }); -}); -;/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -$(document).ready(function(){ - $(".searx_overpass_request").on( "click", function( event ) { - var overpass_url = "https://overpass-api.de/api/interpreter?data="; - var query_start = overpass_url + "[out:json][timeout:25];("; - var query_end = ");out meta;"; - - var osm_id = $(this).data('osm-id'); - var osm_type = $(this).data('osm-type'); - var result_table = $(this).data('result-table'); - var result_table_loadicon = "#" + $(this).data('result-table-loadicon'); - - // tags which can be ignored - var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ]; - - if(osm_id && osm_type && result_table) { - result_table = "#" + result_table; - var query = null; - switch(osm_type) { - case 'node': - query = query_start + "node(" + osm_id + ");" + query_end; - break; - case 'way': - query = query_start + "way(" + osm_id + ");" + query_end; - break; - case 'relation': - query = query_start + "relation(" + osm_id + ");" + query_end; - break; - default: - break; - } - if(query) { - //alert(query); - var ajaxRequest = $.ajax( query ) - .done(function( html) { - if(html && html.elements && html.elements[0]) { - var element = html.elements[0]; - var newHtml = $(result_table).html(); - for (var row in element.tags) { - if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) { - newHtml += "<tr><td>" + row + "</td><td>"; - switch(row) { - case "phone": - case "fax": - newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>"; - break; - case "email": - newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "website": - case "url": - newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "wikidata": - newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "wikipedia": - if(element.tags[row].indexOf(":") != -1) { - newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>"; - break; - } - /* jshint ignore:start */ - default: - /* jshint ignore:end */ - newHtml += element.tags[row]; - break; - } - newHtml += "</td></tr>"; - } - } - $(result_table).html(newHtml); - $(result_table).removeClass('hidden'); - $(result_table_loadicon).addClass('hidden'); - } - }) - .fail(function() { - $(result_table_loadicon).html($(result_table_loadicon).html() + "<p class=\"text-muted\">could not load data!</p>"); - }); - } - } - - // this event occour only once per element - $( this ).off( event ); - }); - - $(".searx_init_map").on( "click", function( event ) { - var leaflet_target = $(this).data('leaflet-target'); - var map_lon = $(this).data('map-lon'); - var map_lat = $(this).data('map-lat'); - var map_zoom = $(this).data('map-zoom'); - var map_boundingbox = $(this).data('map-boundingbox'); - var map_geojson = $(this).data('map-geojson'); - - require(['leaflet-0.7.3.min'], function(leaflet) { - if(map_boundingbox) { - southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); - northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]); - map_bounds = L.latLngBounds(southWest, northEast); - } - - // TODO hack - // change default imagePath - L.Icon.Default.imagePath = "./static/themes/oscar/img/map"; - - // init map - var map = L.map(leaflet_target); - - // create the tile layer with correct attribution - var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; - var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; - var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib}); - - var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'; - var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; - var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib}); - - // init map view - if(map_bounds) { - // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021 - setTimeout(function () { - map.fitBounds(map_bounds, { - maxZoom:17 - }); - }, 0); - } else if (map_lon && map_lat) { - if(map_zoom) - map.setView(new L.LatLng(map_lat, map_lon),map_zoom); - else - map.setView(new L.LatLng(map_lat, map_lon),8); - } - - map.addLayer(osmMapnik); - - var baseLayers = { - "OSM Mapnik": osmMapnik/*, - "OSM Wikimedia": osmWikimedia*/ - }; - - L.control.layers(baseLayers).addTo(map); - - - if(map_geojson) - L.geoJson(map_geojson).addTo(map); - /*else if(map_bounds) - L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/ - }); - - // this event occour only once per element - $( this ).off( event ); - }); -}); diff --git a/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js b/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js deleted file mode 100644 index e7c2abd..0000000 --- a/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -requirejs.config({ - baseUrl: './static/themes/oscar/js', - paths: { - app: '../app' - } -}); diff --git a/searx/static/themes/oscar/js/searx_src/autocompleter.js b/searx/static/themes/oscar/js/searx_src/autocompleter.js deleted file mode 100644 index 0907f8e..0000000 --- a/searx/static/themes/oscar/js/searx_src/autocompleter.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -if(searx.autocompleter) { - searx.searchResults = new Bloodhound({ - datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), - queryTokenizer: Bloodhound.tokenizers.whitespace, - remote: './autocompleter?q=%QUERY' - }); - searx.searchResults.initialize(); -} - -$(document).ready(function(){ - if(searx.autocompleter) { - $('#q').typeahead(null, { - name: 'search-results', - displayKey: function(result) { - return result; - }, - source: searx.searchResults.ttAdapter() - }); - } -}); diff --git a/searx/static/themes/oscar/js/searx_src/leaflet_map.js b/searx/static/themes/oscar/js/searx_src/leaflet_map.js deleted file mode 100644 index 3c8c616..0000000 --- a/searx/static/themes/oscar/js/searx_src/leaflet_map.js +++ /dev/null @@ -1,167 +0,0 @@ -/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -$(document).ready(function(){ - $(".searx_overpass_request").on( "click", function( event ) { - var overpass_url = "https://overpass-api.de/api/interpreter?data="; - var query_start = overpass_url + "[out:json][timeout:25];("; - var query_end = ");out meta;"; - - var osm_id = $(this).data('osm-id'); - var osm_type = $(this).data('osm-type'); - var result_table = $(this).data('result-table'); - var result_table_loadicon = "#" + $(this).data('result-table-loadicon'); - - // tags which can be ignored - var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ]; - - if(osm_id && osm_type && result_table) { - result_table = "#" + result_table; - var query = null; - switch(osm_type) { - case 'node': - query = query_start + "node(" + osm_id + ");" + query_end; - break; - case 'way': - query = query_start + "way(" + osm_id + ");" + query_end; - break; - case 'relation': - query = query_start + "relation(" + osm_id + ");" + query_end; - break; - default: - break; - } - if(query) { - //alert(query); - var ajaxRequest = $.ajax( query ) - .done(function( html) { - if(html && html.elements && html.elements[0]) { - var element = html.elements[0]; - var newHtml = $(result_table).html(); - for (var row in element.tags) { - if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) { - newHtml += "<tr><td>" + row + "</td><td>"; - switch(row) { - case "phone": - case "fax": - newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>"; - break; - case "email": - newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "website": - case "url": - newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "wikidata": - newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "wikipedia": - if(element.tags[row].indexOf(":") != -1) { - newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>"; - break; - } - /* jshint ignore:start */ - default: - /* jshint ignore:end */ - newHtml += element.tags[row]; - break; - } - newHtml += "</td></tr>"; - } - } - $(result_table).html(newHtml); - $(result_table).removeClass('hidden'); - $(result_table_loadicon).addClass('hidden'); - } - }) - .fail(function() { - $(result_table_loadicon).html($(result_table_loadicon).html() + "<p class=\"text-muted\">could not load data!</p>"); - }); - } - } - - // this event occour only once per element - $( this ).off( event ); - }); - - $(".searx_init_map").on( "click", function( event ) { - var leaflet_target = $(this).data('leaflet-target'); - var map_lon = $(this).data('map-lon'); - var map_lat = $(this).data('map-lat'); - var map_zoom = $(this).data('map-zoom'); - var map_boundingbox = $(this).data('map-boundingbox'); - var map_geojson = $(this).data('map-geojson'); - - require(['leaflet-0.7.3.min'], function(leaflet) { - if(map_boundingbox) { - southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); - northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]); - map_bounds = L.latLngBounds(southWest, northEast); - } - - // TODO hack - // change default imagePath - L.Icon.Default.imagePath = "./static/themes/oscar/img/map"; - - // init map - var map = L.map(leaflet_target); - - // create the tile layer with correct attribution - var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; - var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; - var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib}); - - var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'; - var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; - var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib}); - - // init map view - if(map_bounds) { - // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021 - setTimeout(function () { - map.fitBounds(map_bounds, { - maxZoom:17 - }); - }, 0); - } else if (map_lon && map_lat) { - if(map_zoom) - map.setView(new L.LatLng(map_lat, map_lon),map_zoom); - else - map.setView(new L.LatLng(map_lat, map_lon),8); - } - - map.addLayer(osmMapnik); - - var baseLayers = { - "OSM Mapnik": osmMapnik/*, - "OSM Wikimedia": osmWikimedia*/ - }; - - L.control.layers(baseLayers).addTo(map); - - - if(map_geojson) - L.geoJson(map_geojson).addTo(map); - /*else if(map_bounds) - L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/ - }); - - // this event occour only once per element - $( this ).off( event ); - }); -}); diff --git a/searx/static/themes/oscar/less/logicodev/code.less b/searx/static/themes/oscar/less/logicodev/code.less deleted file mode 100644 index 491b30e..0000000 --- a/searx/static/themes/oscar/less/logicodev/code.less +++ /dev/null @@ -1,101 +0,0 @@ -pre, code{ - font-family: 'Ubuntu Mono', 'Courier New', 'Lucida Console', monospace !important; -} - -.lineno{ - margin-right: 5px; -} - -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #556366; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid @orange } /* Error */ -.highlight .k { color: #BE74D5; font-weight: bold } /* Keyword */ -.highlight .o { color: #D19A66 } /* Operator */ -.highlight .cm { color: #556366; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #556366; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #556366; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #BE74D5; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #BE74D5; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #BE74D5; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #BE74D5 } /* Keyword.Pseudo */ -.highlight .kr { color: #BE74D5; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #D46C72 } /* Keyword.Type */ -.highlight .m { color: #D19A66 } /* Literal.Number */ -.highlight .s { color: #86C372 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #BE74D5 } /* Name.Builtin */ -.highlight .nc { color: #61AFEF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #D19A66 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #61AFEF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #61AFEF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #BE74D5; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #DFC06F } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #D7DAE0 } /* Text.Whitespace */ -.highlight .mf { color: #D19A66 } /* Literal.Number.Float */ -.highlight .mh { color: #D19A66 } /* Literal.Number.Hex */ -.highlight .mi { color: #D19A66 } /* Literal.Number.Integer */ -.highlight .mo { color: #D19A66 } /* Literal.Number.Oct */ -.highlight .sb { color: #86C372 } /* Literal.String.Backtick */ -.highlight .sc { color: #86C372 } /* Literal.String.Char */ -.highlight .sd { color: #86C372; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #86C372 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #86C372 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #BE74D5 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #86C372 } /* Literal.String.Single */ -.highlight .ss { color: #DFC06F } /* Literal.String.Symbol */ -.highlight .bp { color: #BE74D5 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #DFC06F } /* Name.Variable.Class */ -.highlight .vg { color: #DFC06F } /* Name.Variable.Global */ -.highlight .vi { color: #DFC06F } /* Name.Variable.Instance */ -.highlight .il { color: #D19A66 } /* Literal.Number.Integer.Long */ - -.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; - color: #556366; - - &::selection { - background: transparent; /* WebKit/Blink Browsers */ - } - &::-moz-selection { - background: transparent; /* Gecko Browsers */ - } -} - -.highlight pre { - background-color: #282C34; - color: #D7DAE0; - border: none; - margin-bottom: 25px; - font-size: 15px; - padding: 20px 10px; -} - -.highlight { - font-weight: 700; -} diff --git a/searx/static/themes/oscar/less/logicodev/infobox.less b/searx/static/themes/oscar/less/logicodev/infobox.less deleted file mode 100644 index 954f450..0000000 --- a/searx/static/themes/oscar/less/logicodev/infobox.less +++ /dev/null @@ -1,37 +0,0 @@ -.infobox { - - .panel-heading{ - background-color: @dim-gray; - - .panel-title{ - font-weight: 700; - } - } - - - p{ - font-family: "DejaVu Serif", Georgia, Cambria, "Times New Roman", Times, serif !important; - font-style: italic; - } - - .btn{ - background-color: @green; - border: none; - - a{ - color: white; - margin: 5px; - } - } - - .infobox_part { - margin-bottom: 20px; - word-wrap: break-word; - table-layout: fixed; - - } - - .infobox_part:last-child { - margin-bottom: 0; - } -} diff --git a/searx/static/themes/oscar/less/logicodev/preferences.less b/searx/static/themes/oscar/less/logicodev/preferences.less deleted file mode 100644 index 9672d50..0000000 --- a/searx/static/themes/oscar/less/logicodev/preferences.less +++ /dev/null @@ -1,3 +0,0 @@ -.table > tbody > tr > td, .table > tbody > tr > th { - vertical-align: middle !important; -} diff --git a/searx/static/themes/oscar/less/logicodev/search.less b/searx/static/themes/oscar/less/logicodev/search.less deleted file mode 100644 index d65e305..0000000 --- a/searx/static/themes/oscar/less/logicodev/search.less +++ /dev/null @@ -1,80 +0,0 @@ -.search_categories, #categories { - text-transform: capitalize; - margin-bottom: 0.5rem; - display: flex; - flex-wrap: wrap; - flex-flow: row wrap; - align-content: stretch; - - label, .input-group-addon { - flex-grow: 1; - flex-basis: auto; - font-size: 1.2rem; - font-weight: normal; - background-color: white; - border: @mild-gray 1px solid; - border-right: none; - color: @dark-gray; - padding-bottom: 0.4rem; - padding-top: 0.4rem; - text-align: center; - min-width: 50px; - } - label:last-child, .input-group-addon:last-child { - border-right: @mild-gray 1px solid; - } - - input[type="checkbox"]:checked + label { - color: @black; - font-weight: bold; - border-bottom: @light-green 5px solid; - } -} - -#main-logo{ - margin-top: 10vh; - margin-bottom: 25px; -} - -#main-logo > img { - max-width: 350px; - width: 80%; -} - -#q{ - box-shadow: none; - border-right: none; - border-color: @gray; -} - - #search_form .input-group-btn .btn{ - border-color: @gray; - } - - #search_form .input-group-btn .btn:hover{ - background-color: @green; - color: white; - } - -.custom-select { - appearance: none; - -webkit-appearance: none; - -moz-appearance: none; - font-size: 1.2rem; - font-weight:normal; - background-color: white; - border: @mild-gray 1px solid; - color: @dark-gray; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJN -AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZ -cwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGn -sAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW8 -6/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0 -ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0w -Ny0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb -7jwaAAAAAElFTkSuQmCC) 96% no-repeat; -} - -.search-margin { - margin-bottom: 0.6em; -}
\ No newline at end of file diff --git a/searx/static/themes/oscar/less/pointhi/code.less b/searx/static/themes/oscar/less/pointhi/code.less deleted file mode 100644 index 70a2a5d..0000000 --- a/searx/static/themes/oscar/less/pointhi/code.less +++ /dev/null @@ -1,79 +0,0 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ - -.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; - - &::selection { - background: transparent; /* WebKit/Blink Browsers */ - } - &::-moz-selection { - background: transparent; /* Gecko Browsers */ - } -} diff --git a/searx/static/themes/oscar/less/pointhi/infobox.less b/searx/static/themes/oscar/less/pointhi/infobox.less deleted file mode 100644 index df51b00..0000000 --- a/searx/static/themes/oscar/less/pointhi/infobox.less +++ /dev/null @@ -1,11 +0,0 @@ -.infobox { - .infobox_part { - margin-bottom: 20px; - word-wrap: break-word; - table-layout: fixed; - } - - .infobox_part:last-child { - margin-bottom: 0; - } -} diff --git a/searx/static/themes/oscar/less/pointhi/preferences.less b/searx/static/themes/oscar/less/pointhi/preferences.less deleted file mode 100644 index 9672d50..0000000 --- a/searx/static/themes/oscar/less/pointhi/preferences.less +++ /dev/null @@ -1,3 +0,0 @@ -.table > tbody > tr > td, .table > tbody > tr > th { - vertical-align: middle !important; -} diff --git a/searx/static/themes/oscar/less/pointhi/search.less b/searx/static/themes/oscar/less/pointhi/search.less deleted file mode 100644 index 5ff7336..0000000 --- a/searx/static/themes/oscar/less/pointhi/search.less +++ /dev/null @@ -1,33 +0,0 @@ -.search_categories, #categories { - text-transform: capitalize; - margin-bottom: 1.5rem; - margin-top: 1.5rem; - display: flex; - flex-wrap: wrap; - align-content: stretch; - - label, .input-group-addon { - flex-grow: 1; - flex-basis: auto; - font-size: 1.3rem; - font-weight: normal; - background-color: white; - border: #DDD 1px solid; - border-right: none; - color: #333; - padding-bottom: 0.8rem; - padding-top: 0.8rem; - text-align: center; - min-width: 50px; - } - - label:last-child, .input-group-addon:last-child { - border-right: #DDD 1px solid; - } - - input[type="checkbox"]:checked + label{ - color: black; - font-weight: bold; - background-color: #EEE; - } -} diff --git a/searx/static/themes/oscar/package.json b/searx/static/themes/oscar/package.json index 5b10fcf..8a3d487 100644 --- a/searx/static/themes/oscar/package.json +++ b/searx/static/themes/oscar/package.json @@ -1,15 +1,23 @@ { "devDependencies": { - "grunt": "~0.4.5", - "grunt-contrib-uglify": "~0.6.0", - "grunt-contrib-watch": "~0.6.1", - "grunt-contrib-concat": "~0.5.0", - "grunt-contrib-jshint": "~0.10.0", - "grunt-contrib-less": "~0.11.0" + "grunt": "^1.3.0", + "grunt-cli": "^1.3.2", + "grunt-contrib-concat": "~1.0.1", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-jshint": "~3.0.0", + "grunt-contrib-less": "~3.0.0", + "grunt-contrib-uglify": "~5.0.0", + "grunt-contrib-watch": "~1.1.0" }, "scripts": { "build": "npm install && grunt", "start": "grunt watch", "test": "grunt" + }, + "dependencies": { + "bootstrap": "^3.4.1", + "corejs-typeahead": "^1.3.1", + "jquery": "^3.6.0", + "leaflet": "^1.7.1" } } diff --git a/searx/static/themes/oscar/js/searx_src/01_init.js b/searx/static/themes/oscar/src/js/01_init.js index 690365c..e361d87 100644 --- a/searx/static/themes/oscar/js/searx_src/01_init.js +++ b/searx/static/themes/oscar/src/js/01_init.js @@ -17,6 +17,9 @@ window.searx = (function(d) { 'use strict'; + // + d.getElementsByTagName("html")[0].className = "js"; + // add data- properties var script = d.currentScript || (function() { var scripts = d.getElementsByTagName('script'); @@ -25,6 +28,7 @@ window.searx = (function(d) { return { autocompleter: script.getAttribute('data-autocompleter') === 'true', - method: script.getAttribute('data-method') + method: script.getAttribute('data-method'), + translations: JSON.parse(script.getAttribute('data-translations')) }; })(document); diff --git a/searx/static/themes/oscar/src/js/autocompleter.js b/searx/static/themes/oscar/src/js/autocompleter.js new file mode 100644 index 0000000..56293f4 --- /dev/null +++ b/searx/static/themes/oscar/src/js/autocompleter.js @@ -0,0 +1,60 @@ +/** + * searx is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * searx is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with searx. If not, see < http://www.gnu.org/licenses/ >. + * + * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> + */ + +$(document).ready(function(){ + var original_search_value = ''; + if(searx.autocompleter) { + var searchResults = new Bloodhound({ + datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), + queryTokenizer: Bloodhound.tokenizers.whitespace, + remote: { + url: './autocompleter?q=%QUERY', + wildcard: '%QUERY' + } + }); + searchResults.initialize(); + + $("#q").on('keydown', function(e) { + if(e.which == 13) { + original_search_value = $('#q').val(); + } + }); + $('#q').typeahead({ + name: 'search-results', + highlight: false, + hint: true, + displayKey: function(result) { + return result; + }, + classNames: { + input: 'tt-input', + hint: 'tt-hint', + menu: 'tt-dropdown-menu', + dataset: 'tt-dataset-search-results', + }, + }, { + name: 'autocomplete', + source: searchResults, + }); + $('#q').bind('typeahead:select', function(ev, suggestion) { + if(original_search_value) { + $('#q').val(original_search_value); + } + $("#search_form").submit(); + }); + } +}); diff --git a/searx/static/themes/oscar/js/searx_src/element_modifiers.js b/searx/static/themes/oscar/src/js/element_modifiers.js index 4264d4c..087f7d4 100644 --- a/searx/static/themes/oscar/js/searx_src/element_modifiers.js +++ b/searx/static/themes/oscar/src/js/element_modifiers.js @@ -22,6 +22,13 @@ $(document).ready(function(){ $('#q.autofocus').focus(); /** + * Empty search bar when click on reset button + */ + $("#clear_search").click(function () { + document.getElementById("q").value = ""; + }); + + /** * select full content on click if class="select-all-on-click" */ $(".select-all-on-click").click(function () { @@ -96,4 +103,15 @@ $(document).ready(function(){ $(".btn-sm").addClass('btn-default'); } }); + $(".nav-tabs").click(function(a) { + var tabs = $(a.target).parents("ul"); + tabs.children().attr("aria-selected", "false"); + $(a.target).parent().attr("aria-selected", "true"); + }); + + /** + * Layout images according to their sizes + */ + searx.image_thumbnail_layout = new searx.ImageLayout('#main_results', '#main_results .result-images', 'img.img-thumbnail', 15, 200); + searx.image_thumbnail_layout.watch(); }); diff --git a/searx/static/themes/oscar/src/js/infobox.js b/searx/static/themes/oscar/src/js/infobox.js new file mode 100644 index 0000000..cb7f1ee --- /dev/null +++ b/searx/static/themes/oscar/src/js/infobox.js @@ -0,0 +1,11 @@ +window.addEventListener('load', function() { + // Hide infobox toggle if shrunk size already fits all content. + $('.infobox').each(function() { + var infobox_body = $(this).find('.infobox_body'); + var total_height = infobox_body.prop('scrollHeight') + infobox_body.find('img.infobox_part').height(); + var max_height = infobox_body.css('max-height').replace('px', ''); + if (total_height <= max_height) { + $(this).find('.infobox_toggle').hide(); + } + }); +}); diff --git a/searx/static/themes/oscar/src/js/leaflet_map.js b/searx/static/themes/oscar/src/js/leaflet_map.js new file mode 100644 index 0000000..08233c4 --- /dev/null +++ b/searx/static/themes/oscar/src/js/leaflet_map.js @@ -0,0 +1,79 @@ +/** + * searx is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * searx is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with searx. If not, see < http://www.gnu.org/licenses/ >. + * + * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> + */ + +$(document).ready(function(){ + $(".searx_init_map").on( "click", function( event ) { + var leaflet_target = $(this).data('leaflet-target'); + var map_lon = $(this).data('map-lon'); + var map_lat = $(this).data('map-lat'); + var map_zoom = $(this).data('map-zoom'); + var map_boundingbox = $(this).data('map-boundingbox'); + var map_geojson = $(this).data('map-geojson'); + + if(map_boundingbox) { + southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); + northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]); + map_bounds = L.latLngBounds(southWest, northEast); + } + + // change default imagePath + L.Icon.Default.imagePath = "./static/themes/oscar/css/images/"; + + // init map + var map = L.map(leaflet_target); + + // create the tile layer with correct attribution + var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; + var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; + var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib}); + + var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'; + var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; + var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib}); + + // init map view + setTimeout(function() { + if(map_bounds) { + map.fitBounds(map_bounds, { + maxZoom:17 + }); + } else if (map_lon && map_lat) { + if(map_zoom) + map.setView(new L.LatLng(map_lat, map_lon),map_zoom); + else + map.setView(new L.LatLng(map_lat, map_lon),8); + } + }, 0); + + map.addLayer(osmMapnik); + + var baseLayers = { + "OSM Mapnik": osmMapnik/*, + "OSM Wikimedia": osmWikimedia*/ + }; + + L.control.layers(baseLayers).addTo(map); + + if(map_geojson) + L.geoJson(map_geojson).addTo(map); + /*else if(map_bounds) + L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/ + + // this event occour only once per element + $( this ).off( event ); + }); +}); diff --git a/searx/static/themes/oscar/src/js/toggleall.js b/searx/static/themes/oscar/src/js/toggleall.js new file mode 100644 index 0000000..b6c484e --- /dev/null +++ b/searx/static/themes/oscar/src/js/toggleall.js @@ -0,0 +1,10 @@ +$(document).ready(function(){ + $("#allow-all-engines").click(function() { + $(".onoffswitch-checkbox").each(function() { this.checked = false;}); + }); + + $("#disable-all-engines").click(function() { + $(".onoffswitch-checkbox").each(function() { this.checked = true;}); + }); +}); + diff --git a/searx/static/themes/oscar/src/less/bootstrap/bootstrap.less b/searx/static/themes/oscar/src/less/bootstrap/bootstrap.less new file mode 100644 index 0000000..d6145eb --- /dev/null +++ b/searx/static/themes/oscar/src/less/bootstrap/bootstrap.less @@ -0,0 +1,3 @@ +@import "../../../node_modules/bootstrap/less/bootstrap.less"; + +@import "typeahead.less"; diff --git a/searx/static/themes/oscar/src/less/bootstrap/typeahead.less b/searx/static/themes/oscar/src/less/bootstrap/typeahead.less new file mode 100644 index 0000000..de1c6ef --- /dev/null +++ b/searx/static/themes/oscar/src/less/bootstrap/typeahead.less @@ -0,0 +1,154 @@ +/* + * typehead.js-bootstrap3.less + * @version 0.2.3 + * https://github.com/hyspace/typeahead.js-bootstrap3.less + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +//custom mixin for .form-control-validation +.typeahead-form-control(@border-color: #ccc;) { + border-color: @border-color; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work + &:focus { + border-color: darken(@border-color, 10%); + @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%); + .box-shadow(@shadow); + } + } + + //main styles for control + .tt-input, + .tt-hint { + .twitter-typeahead &{ + //validation states + .has-warning &{ + .typeahead-form-control(@state-warning-text); + } + .has-error &{ + .typeahead-form-control(@state-danger-text); + } + .has-success &{ + .typeahead-form-control(@state-success-text); + } + } + + //border + .input-group .twitter-typeahead:first-child &{ + .border-left-radius(@border-radius-base); + } + .input-group .twitter-typeahead:last-child &{ + .border-right-radius(@border-radius-base); + } + + //sizing - small:size and border + .input-group.input-group-sm .twitter-typeahead &{ + .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); + } + .input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) &{ + border-radius: 0; + } + .input-group.input-group-sm .twitter-typeahead:first-child &{ + .border-left-radius(@border-radius-small); + .border-right-radius(0); + } + .input-group.input-group-sm .twitter-typeahead:last-child &{ + .border-left-radius(0); + .border-right-radius(@border-radius-small); + } + + //sizing - large:size and border + .input-group.input-group-lg .twitter-typeahead &{ + .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); + } + .input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) &{ + border-radius: 0; + } + .input-group.input-group-lg .twitter-typeahead:first-child &{ + .border-left-radius(@border-radius-large); + .border-right-radius(0); + } + .input-group.input-group-lg .twitter-typeahead:last-child &{ + .border-left-radius(0); + .border-right-radius(@border-radius-large); + } + } + + //for wrapper + .twitter-typeahead { + width: 100%; + .input-group &{ + //overwrite `display:inline-block` style + display: table-cell!important; + float: left; + } + } + + //particular style for each other + .twitter-typeahead .tt-hint { + color: @text-muted;//color - hint + } + .twitter-typeahead .tt-input { + z-index: 2; + //disabled status + //overwrite inline styles of .tt-query + &[disabled], + &[readonly], + fieldset[disabled] & { + cursor: not-allowed; + //overwirte inline style + background-color: @input-bg-disabled!important; + } + } + + //dropdown styles + .tt-dropdown-menu { + //dropdown menu + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + min-width: 160px; + width: 100%; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: @font-size-base; + background-color: @dropdown-bg; + border: 1px solid @dropdown-fallback-border; + border: 1px solid @dropdown-border; + border-radius: @border-radius-base; + .box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + + .tt-suggestion { + //item + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: @line-height-base; + color: @dropdown-link-color; + white-space: nowrap; + text-align: left; + cursor: pointer !important; + &.tt-cursor { + //item selected + text-decoration: none; + outline: 0; + background-color: @dropdown-link-hover-bg; + color: @dropdown-link-hover-color; + a { + //link in item selected + color: @dropdown-link-hover-color; + } + } + p { + margin: 0; + } + } + } +
\ No newline at end of file diff --git a/searx/static/themes/oscar/less/logicodev-dark/oscar.less b/searx/static/themes/oscar/src/less/logicodev-dark/oscar.less index e788b8c..1f8c559 100644 --- a/searx/static/themes/oscar/less/logicodev-dark/oscar.less +++ b/searx/static/themes/oscar/src/less/logicodev-dark/oscar.less @@ -51,7 +51,7 @@ ul.nav li a { color:#D5D8D7 !important; } -#categories *, { +#categories a, { border: 1px solid #3d3f43 !important; } @@ -71,10 +71,6 @@ ul.nav li a { border-color: #4d3f43 !important; } -.highlight { - background: #333333 !important; -} - /*nav*/ .navbar{ background:#1d1f21 none; @@ -136,6 +132,16 @@ ul.nav li a { border-color: #111 !important; } +.panel-footer { + color: #C5C8C6 !important; + background: #282a2e !important; + border-top: 1px solid #111 !important; +} + +.infobox_toggle:hover { + background: #3d3f43 !important; +} + p.btn.btn-default{ background: none; } @@ -243,3 +249,9 @@ p.btn.btn-default{ .highlight { background-color: transparent !important; } + +/* engine tooltip */ +.engine-tooltip { + border: 1px solid #3d3f43; + background: #1d1f21 ; +} diff --git a/searx/static/themes/oscar/less/logicodev/advanced.less b/searx/static/themes/oscar/src/less/logicodev/advanced.less index 4c3827b..b8e10de 100644 --- a/searx/static/themes/oscar/less/logicodev/advanced.less +++ b/searx/static/themes/oscar/src/less/logicodev/advanced.less @@ -31,8 +31,8 @@ } } -#check-advanced { - display: none; +#check-advanced:focus + label { + text-decoration: underline; } #check-advanced:checked ~ #advanced-search-container { diff --git a/searx/static/themes/oscar/less/logicodev/checkbox.less b/searx/static/themes/oscar/src/less/logicodev/checkbox.less index 6428b36..6428b36 100644 --- a/searx/static/themes/oscar/less/logicodev/checkbox.less +++ b/searx/static/themes/oscar/src/less/logicodev/checkbox.less diff --git a/searx/static/themes/oscar/src/less/logicodev/code.less b/searx/static/themes/oscar/src/less/logicodev/code.less new file mode 100644 index 0000000..3aef968 --- /dev/null +++ b/searx/static/themes/oscar/src/less/logicodev/code.less @@ -0,0 +1,14 @@ +pre, code { + font-family: 'Ubuntu Mono', 'Courier New', 'Lucida Console', monospace !important; +} + +@import "pygments.less"; + +.code-highlight pre { + margin-bottom: 25px; + padding: 20px 10px; + background-color: inherit; + color: inherit; + border: inherit; + color: #D7DAE0; +} diff --git a/searx/static/themes/oscar/less/logicodev/cursor.less b/searx/static/themes/oscar/src/less/logicodev/cursor.less index cbc1ea6..cbc1ea6 100644 --- a/searx/static/themes/oscar/less/logicodev/cursor.less +++ b/searx/static/themes/oscar/src/less/logicodev/cursor.less diff --git a/searx/static/themes/oscar/less/logicodev/footer.less b/searx/static/themes/oscar/src/less/logicodev/footer.less index d23a0cc..d23a0cc 100644 --- a/searx/static/themes/oscar/less/logicodev/footer.less +++ b/searx/static/themes/oscar/src/less/logicodev/footer.less diff --git a/searx/static/themes/oscar/src/less/logicodev/infobox.less b/searx/static/themes/oscar/src/less/logicodev/infobox.less new file mode 100644 index 0000000..c5bdfa6 --- /dev/null +++ b/searx/static/themes/oscar/src/less/logicodev/infobox.less @@ -0,0 +1,92 @@ +.infobox { + + .panel-heading{ + background-color: @dim-gray; + + .panel-title{ + font-weight: 700; + } + } + + .header_url { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + } + + + p{ + font-family: "DejaVu Serif", Georgia, Cambria, "Times New Roman", Times, serif !important; + font-style: italic; + } + + img{ + max-height: "250px"; + } + + .btn{ + background-color: @dark-blue; + border: none; + + a{ + color: white; + margin: 5px; + } + } + + .infobox_part { + margin-bottom: 20px; + word-wrap: break-word; + table-layout: fixed; + + } + + .infobox_part:last-child { + margin-bottom: 0; + } + + .infobox_toggle { + width: 100%; + text-align: center; + margin-bottom: 0px; + cursor: pointer; + } + + .infobox_toggle:hover { + background: @mild-gray; + } + + // Shrink infobox size when toggle is off + .infobox_checkbox ~ .infobox_body { + max-height: 300px; + overflow: hidden; + } + .infobox_checkbox:checked ~ .infobox_body { + max-height: none; + } + + // Show toggle button as down when infobox is shrunk + .infobox_checkbox ~ .infobox_toggle .infobox_label_down { + display: block; + } + .infobox_checkbox ~ .infobox_toggle .infobox_label_up { + display: none; + } + + // Show toggle button as up when infobox is expanded + .infobox_checkbox:checked ~ .infobox_toggle .infobox_label_up { + display: block; + } + .infobox_checkbox:checked ~ .infobox_toggle .infobox_label_down { + display: none; + } + + // Hide main image when toggle is off + .infobox_checkbox ~ .infobox_body img.infobox_part { + display: none; + } + .infobox_checkbox:checked ~ .infobox_body img.infobox_part { + display: block; + } +} diff --git a/searx/static/themes/oscar/less/logicodev/navbar.less b/searx/static/themes/oscar/src/less/logicodev/navbar.less index 6e4f9ee..6e4f9ee 100644 --- a/searx/static/themes/oscar/less/logicodev/navbar.less +++ b/searx/static/themes/oscar/src/less/logicodev/navbar.less diff --git a/searx/static/themes/oscar/less/logicodev/onoff.less b/searx/static/themes/oscar/src/less/logicodev/onoff.less index f471892..fbd2983 100644 --- a/searx/static/themes/oscar/less/logicodev/onoff.less +++ b/searx/static/themes/oscar/src/less/logicodev/onoff.less @@ -9,7 +9,21 @@ -ms-user-select: none; } .onoffswitch-checkbox { - display: none; + opacity: 0; + position: absolute; +} +.onoffswitch-checkbox:before { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + margin-right: 10px; + position: absolute; + left: 0; + bottom: 1px; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 0px; } .onoffswitch-label { display: block; @@ -44,7 +58,7 @@ top: 0; bottom: 0; right: 0px; - border: 2px solid #FFFFFF !important; + border: 2px solid #FFFFFF; border-radius: 50px !important; transition: all 0.3s ease-in 0s; } @@ -55,3 +69,6 @@ right: 71px; background-color: #A1A1A1; } +.onoffswitch-checkbox:focus + .onoffswitch-label .onoffswitch-switch { + border: 3px solid #444444; +} diff --git a/searx/static/themes/oscar/less/logicodev/oscar.less b/searx/static/themes/oscar/src/less/logicodev/oscar.less index da80d1e..da80d1e 100644 --- a/searx/static/themes/oscar/less/logicodev/oscar.less +++ b/searx/static/themes/oscar/src/less/logicodev/oscar.less diff --git a/searx/static/themes/oscar/src/less/logicodev/preferences.less b/searx/static/themes/oscar/src/less/logicodev/preferences.less new file mode 100644 index 0000000..ccd0b02 --- /dev/null +++ b/searx/static/themes/oscar/src/less/logicodev/preferences.less @@ -0,0 +1,31 @@ +.table > tbody > tr > td, .table > tbody > tr > th { + vertical-align: middle !important; +} + +.nav-tabs.nav-justified{ + margin-bottom: 20px; +} + +p { + margin: 10px 0; +} + +input.cursor-text { + margin: 10px 0; +} + +.engine-tooltip { + display: none; + position: absolute; + padding: 0.5rem 1rem; + margin: 0rem 0 0 2rem; + border: 1px solid #ddd; + background: white; + font-size: 14px; + font-weight: normal; + z-index: 1000000; +} + +th:hover .engine-tooltip, .engine-tooltip:hover { + display: inline-block; +}
\ No newline at end of file diff --git a/searx/static/themes/oscar/src/less/logicodev/pygments.less b/searx/static/themes/oscar/src/less/logicodev/pygments.less new file mode 100644 index 0000000..301c94e --- /dev/null +++ b/searx/static/themes/oscar/src/less/logicodev/pygments.less @@ -0,0 +1,99 @@ +/* + this file is generated automatically by searx_extra/update/update_pygments.py + using pygments version 2.8.0 +*/ + +.code-highlight .linenos { + -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; + + &::selection { + background: transparent; /* WebKit/Blink Browsers */ + } + &::-moz-selection { + background: transparent; /* Gecko Browsers */ + } + + margin-right: 8px; + text-align: right; +} + +.code-highlight pre { line-height: 125%; } +.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.code-highlight .hll { background-color: #ffffcc } +.code-highlight { background: #282C34; } +.code-highlight .c { color: #556366; font-style: italic } /* Comment */ +.code-highlight .err { border: 1px solid #ff0000 } /* Error */ +.code-highlight .k { color: #BE74D5; font-weight: bold } /* Keyword */ +.code-highlight .o { color: #D19A66 } /* Operator */ +.code-highlight .ch { color: #556366; font-style: italic } /* Comment.Hashbang */ +.code-highlight .cm { color: #556366; font-style: italic } /* Comment.Multiline */ +.code-highlight .cp { color: #BC7A00; font-style: italic } /* Comment.Preproc */ +.code-highlight .cpf { color: #556366; font-style: italic } /* Comment.PreprocFile */ +.code-highlight .c1 { color: #556366; font-style: italic } /* Comment.Single */ +.code-highlight .cs { color: #556366; font-style: italic } /* Comment.Special */ +.code-highlight .gd { color: #A00000 } /* Generic.Deleted */ +.code-highlight .ge { font-style: italic } /* Generic.Emph */ +.code-highlight .gr { color: #FF0000 } /* Generic.Error */ +.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.code-highlight .gi { color: #00A000 } /* Generic.Inserted */ +.code-highlight .go { color: #888888 } /* Generic.Output */ +.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.code-highlight .gs { font-weight: bold } /* Generic.Strong */ +.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.code-highlight .gt { color: #0044DD } /* Generic.Traceback */ +.code-highlight .kc { color: #BE74D5; font-weight: bold } /* Keyword.Constant */ +.code-highlight .kd { color: #BE74D5; font-weight: bold } /* Keyword.Declaration */ +.code-highlight .kn { color: #BE74D5; font-weight: bold } /* Keyword.Namespace */ +.code-highlight .kp { color: #BE74D5; font-weight: bold } /* Keyword.Pseudo */ +.code-highlight .kr { color: #BE74D5; font-weight: bold } /* Keyword.Reserved */ +.code-highlight .kt { color: #D46C72; font-weight: bold } /* Keyword.Type */ +.code-highlight .m { color: #D19A66 } /* Literal.Number */ +.code-highlight .s { color: #86C372 } /* Literal.String */ +.code-highlight .na { color: #7D9029 } /* Name.Attribute */ +.code-highlight .nb { color: #BE74D5 } /* Name.Builtin */ +.code-highlight .nc { color: #61AFEF; font-weight: bold } /* Name.Class */ +.code-highlight .no { color: #D19A66 } /* Name.Constant */ +.code-highlight .nd { color: #AA22FF } /* Name.Decorator */ +.code-highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.code-highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.code-highlight .nf { color: #61AFEF } /* Name.Function */ +.code-highlight .nl { color: #A0A000 } /* Name.Label */ +.code-highlight .nn { color: #61AFEF; font-weight: bold } /* Name.Namespace */ +.code-highlight .nt { color: #BE74D5; font-weight: bold } /* Name.Tag */ +.code-highlight .nv { color: #DFC06F } /* Name.Variable */ +.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.code-highlight .w { color: #D7DAE0 } /* Text.Whitespace */ +.code-highlight .mb { color: #D19A66 } /* Literal.Number.Bin */ +.code-highlight .mf { color: #D19A66 } /* Literal.Number.Float */ +.code-highlight .mh { color: #D19A66 } /* Literal.Number.Hex */ +.code-highlight .mi { color: #D19A66 } /* Literal.Number.Integer */ +.code-highlight .mo { color: #D19A66 } /* Literal.Number.Oct */ +.code-highlight .sa { color: #86C372 } /* Literal.String.Affix */ +.code-highlight .sb { color: #86C372 } /* Literal.String.Backtick */ +.code-highlight .sc { color: #86C372 } /* Literal.String.Char */ +.code-highlight .dl { color: #86C372 } /* Literal.String.Delimiter */ +.code-highlight .sd { color: #86C372; font-style: italic } /* Literal.String.Doc */ +.code-highlight .s2 { color: #86C372 } /* Literal.String.Double */ +.code-highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.code-highlight .sh { color: #86C372 } /* Literal.String.Heredoc */ +.code-highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.code-highlight .sx { color: #BE74D5 } /* Literal.String.Other */ +.code-highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.code-highlight .s1 { color: #86C372 } /* Literal.String.Single */ +.code-highlight .ss { color: #DFC06F } /* Literal.String.Symbol */ +.code-highlight .bp { color: #BE74D5 } /* Name.Builtin.Pseudo */ +.code-highlight .fm { color: #61AFEF } /* Name.Function.Magic */ +.code-highlight .vc { color: #DFC06F } /* Name.Variable.Class */ +.code-highlight .vg { color: #DFC06F } /* Name.Variable.Global */ +.code-highlight .vi { color: #DFC06F } /* Name.Variable.Instance */ +.code-highlight .vm { color: #DFC06F } /* Name.Variable.Magic */ +.code-highlight .il { color: #D19A66 } /* Literal.Number.Integer.Long */ diff --git a/searx/static/themes/oscar/less/logicodev/results.less b/searx/static/themes/oscar/src/less/logicodev/results.less index 5e7e133..0668dc8 100644 --- a/searx/static/themes/oscar/less/logicodev/results.less +++ b/searx/static/themes/oscar/src/less/logicodev/results.less @@ -33,12 +33,10 @@ word-wrap: break-word; color: @dark-gray; font-size: 13px; +} - - .highlight { - font-weight:bold; - } - +.result .highlight { + font-weight: bold; } .result-source { @@ -51,6 +49,11 @@ float: right; } +.result-abstract { + margin-top: 0.5em; + margin-bottom: 0.8em; +} + .external-link { color: @dark-green; font-size: 12px; @@ -64,7 +67,7 @@ // default formating of results .result-default, .result-code, .result-torrent, .result-videos, .result-map { clear: both; - padding: 2px 4px; + padding: 0.5em 4px; &:hover{ background-color: @dim-gray; } @@ -74,12 +77,39 @@ // image formating of results .result-images { float: left !important; - width: 24%; - margin: .5%; + margin: 0; + padding: 0; a { display: block; width: 100%; background-size: cover; + .img-thumbnail { + border: none !important; + padding: 0; + } + &:hover, &:focus { + outline: 0; + .img-thumbnail { + box-shadow: 5px 5px 15px 0px black; + } + } + } +} + +.result-images.js a .img-thumbnail { + max-height: inherit; + min-height: inherit; +} + +.result-images:not(.js) { + width: 25%; + padding: 3px 13px 13px 3px; + a { + .img-thumbnail { + margin: 0; + max-height: 128px; + min-height: 128px; + } } } @@ -124,9 +154,53 @@ } } +.result-metadata { + clear: both; + margin: 1em; + + td { + padding-right: 1em; + color: @gray; + } + + td:first-of-type { + color: @dark-gray; + } +} + // map formating of results .result-map { clear: both; + + .img-thumbnail { + float: right; + width: auto; + height: 120px; + border: 0; + background: inherit; + } + + .img-type { + width: 20px; + max-height: 20px; + } + + .result-map-details { + font-size: 13px; + border-collapse: separate; + border-spacing: 0 0.35rem; + + th { + font-weight: inherit; + width: 20rem; + vertical-align: top; + } + + td { + vertical-align: top; + } + } + } // code formating of results @@ -164,7 +238,7 @@ } .label-default { - color: @gray; + color: @dark-gray; background: transparent; } @@ -185,3 +259,9 @@ outline: 0 none; position: relative; } + +@media screen and (max-width: 75em) { + .img-thumbnail { + object-fit: cover; + } +} diff --git a/searx/static/themes/oscar/src/less/logicodev/search.less b/searx/static/themes/oscar/src/less/logicodev/search.less new file mode 100644 index 0000000..57adaae --- /dev/null +++ b/searx/static/themes/oscar/src/less/logicodev/search.less @@ -0,0 +1,113 @@ +.search_categories, #categories { + text-transform: capitalize; + margin-bottom: 0.5rem; + display: flex; + flex-wrap: wrap; + flex-flow: row wrap; + align-content: stretch; + + a { + height: 3rem; + flex-grow: 1; + flex-basis: auto; + border: @mild-gray 1px solid; + border-right: none; + color: @dark-gray; + padding-bottom: 0.3rem; + padding-top: 0.1rem; + text-align: center; + min-width: 50px; + } + + label, .input-group-addon { + flex-grow: 1; + flex-basis: auto; + font-size: 1.2rem; + font-weight: normal; + background-color: white; + border: none; + border-right: none; + color: @dark-gray; + padding-bottom: 0; + padding-top: 0; + text-align: center; + width: 100%; + height: 100%; + } + + a:last-child, .input-group-addon:last-child { + border-right: @mild-gray 1px solid; + } + + input[type="checkbox"]:checked + a { + color: @black; + font-weight: bold; + border-bottom: @light-green 5px solid; + } +} + +#main-logo{ + margin-top: 10vh; + margin-bottom: 25px; +} + +#main-logo > img { + max-width: 350px; + width: 80%; +} + +#q{ + box-shadow: none; + border-right: none; + border-color: @semidark-gray; +} + + #search_form .input-group-btn .btn{ + border-color: @semidark-gray; + } + + #search_form .input-group-btn .btn:hover{ + background-color: @dark-green; + color: white; + } + +.custom-select, .custom-select-rtl { + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + font-size: 1.2rem; + font-weight:normal; + background-color: white; + border: @semidark-gray 1px solid; + color: @dark-gray; + // Warning: multi-line base64 URL adds "$stdin" in the source map: https://github.com/jakubpawlowicz/clean-css/issues/593 + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGnsAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW86/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNy0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) 96% no-repeat; + padding-right: 26px; + text-overflow: ellipsis; +} + +.custom-select-rtl { + background-position-x: 4%; +} + +.search-margin { + margin-bottom: 0.6em; +} + +.visually-hidden { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + white-space: nowrap; +} +.label-danger, .btn-danger { + background: @dark-red; +} +.label-success, .btn-success { + background: @dark-green; +} +select.form-control { + border-color: @semidark-gray !important; +} diff --git a/searx/static/themes/oscar/less/logicodev/variables.less b/searx/static/themes/oscar/src/less/logicodev/variables.less index 5966ee6..4ee8df8 100644 --- a/searx/static/themes/oscar/less/logicodev/variables.less +++ b/searx/static/themes/oscar/src/less/logicodev/variables.less @@ -2,12 +2,15 @@ @gray: #A4A4A4; @dim-gray: #F6F9FA; @dark-gray: #666; +@semidark-gray: #888; @middle-gray: #F5F5F5; @mild-gray: #DDD; -@blue: #0088CC; +@dark-blue: #007AB8; +@blue: #0088CC; @red: #F35E77; @violet: #684898; -@dark-green: #069025; +@dark-green: #068922; @green: #2ecc71; -@light-green: #01D7D4; +@light-green: #01D7D4; @orange: #FFA92F; +@dark-red: #c9432f; diff --git a/searx/static/themes/oscar/less/pointhi/advanced.less b/searx/static/themes/oscar/src/less/pointhi/advanced.less index 23bfdb0..23bfdb0 100644 --- a/searx/static/themes/oscar/less/pointhi/advanced.less +++ b/searx/static/themes/oscar/src/less/pointhi/advanced.less diff --git a/searx/static/themes/oscar/less/pointhi/checkbox.less b/searx/static/themes/oscar/src/less/pointhi/checkbox.less index 6428b36..6428b36 100644 --- a/searx/static/themes/oscar/less/pointhi/checkbox.less +++ b/searx/static/themes/oscar/src/less/pointhi/checkbox.less diff --git a/searx/static/themes/oscar/src/less/pointhi/code.less b/searx/static/themes/oscar/src/less/pointhi/code.less new file mode 100644 index 0000000..86fe153 --- /dev/null +++ b/searx/static/themes/oscar/src/less/pointhi/code.less @@ -0,0 +1,2 @@ +@import "pygments.less"; + diff --git a/searx/static/themes/oscar/less/pointhi/cursor.less b/searx/static/themes/oscar/src/less/pointhi/cursor.less index cbc1ea6..cbc1ea6 100644 --- a/searx/static/themes/oscar/less/pointhi/cursor.less +++ b/searx/static/themes/oscar/src/less/pointhi/cursor.less diff --git a/searx/static/themes/oscar/less/pointhi/footer.less b/searx/static/themes/oscar/src/less/pointhi/footer.less index 0b25e73..0b25e73 100644 --- a/searx/static/themes/oscar/less/pointhi/footer.less +++ b/searx/static/themes/oscar/src/less/pointhi/footer.less diff --git a/searx/static/themes/oscar/src/less/pointhi/infobox.less b/searx/static/themes/oscar/src/less/pointhi/infobox.less new file mode 100644 index 0000000..e6a55e9 --- /dev/null +++ b/searx/static/themes/oscar/src/less/pointhi/infobox.less @@ -0,0 +1,62 @@ +.infobox { + + img { + max-height: 250px; + } + + .infobox_part { + margin-bottom: 20px; + word-wrap: break-word; + table-layout: fixed; + } + + .infobox_part:last-child { + margin-bottom: 0; + } + + .header_url { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + } + + .infobox_toggle { + width: 100%; + text-align: center; + margin-bottom: 0px; + } + + // Shrink infobox size when toggle is off + .infobox_checkbox ~ .infobox_body { + max-height: 300px; + overflow: hidden; + } + .infobox_checkbox:checked ~ .infobox_body { + max-height: none; + } + + // Show toggle button as down when infobox is shrunk + .infobox_checkbox ~ .infobox_toggle .infobox_label_down { + display: block; + } + .infobox_checkbox ~ .infobox_toggle .infobox_label_up { + display: none; + } + + // Show toggle button as up when infobox is expanded + .infobox_checkbox:checked ~ .infobox_toggle .infobox_label_up { + display: block; + } + .infobox_checkbox:checked ~ .infobox_toggle .infobox_label_down { + display: none; + } + + // Hide main image when toggle is off + .infobox_checkbox ~ .infobox_body img.infobox_part { + display: none; + } + .infobox_checkbox:checked ~ .infobox_body img.infobox_part { + display: block; + } +} diff --git a/searx/static/themes/oscar/less/pointhi/navbar.less b/searx/static/themes/oscar/src/less/pointhi/navbar.less index a057f82..a057f82 100644 --- a/searx/static/themes/oscar/less/pointhi/navbar.less +++ b/searx/static/themes/oscar/src/less/pointhi/navbar.less diff --git a/searx/static/themes/oscar/less/pointhi/onoff.less b/searx/static/themes/oscar/src/less/pointhi/onoff.less index 72b289a..72b289a 100644 --- a/searx/static/themes/oscar/less/pointhi/onoff.less +++ b/searx/static/themes/oscar/src/less/pointhi/onoff.less diff --git a/searx/static/themes/oscar/less/pointhi/oscar.less b/searx/static/themes/oscar/src/less/pointhi/oscar.less index fc1c525..6f92a07 100644 --- a/searx/static/themes/oscar/less/pointhi/oscar.less +++ b/searx/static/themes/oscar/src/less/pointhi/oscar.less @@ -1,3 +1,5 @@ +@import "variables.less"; + @import "footer.less"; @import "checkbox.less"; @@ -18,4 +20,6 @@ @import "navbar.less"; +@import "code.less"; + @import "preferences.less"; diff --git a/searx/static/themes/oscar/src/less/pointhi/preferences.less b/searx/static/themes/oscar/src/less/pointhi/preferences.less new file mode 100644 index 0000000..f3a6bee --- /dev/null +++ b/searx/static/themes/oscar/src/less/pointhi/preferences.less @@ -0,0 +1,19 @@ +.table > tbody > tr > td, .table > tbody > tr > th { + vertical-align: middle !important; +} + +.engine-tooltip { + display: none; + position: absolute; + padding: 0.5rem 1rem; + margin: 0rem 0 0 2rem; + border: 1px solid #ddd; + background: white; + font-size: 14px; + font-weight: normal; + z-index: 1000000; +} + +th:hover .engine-tooltip, .engine-tooltip:hover { + display: inline-block; +} diff --git a/searx/static/themes/oscar/src/less/pointhi/pygments.less b/searx/static/themes/oscar/src/less/pointhi/pygments.less new file mode 100644 index 0000000..25a921c --- /dev/null +++ b/searx/static/themes/oscar/src/less/pointhi/pygments.less @@ -0,0 +1,99 @@ +/* + this file is generated automatically by searx_extra/update/update_pygments.py + using pygments version 2.8.0 +*/ + +.code-highlight .linenos { + -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; + + &::selection { + background: transparent; /* WebKit/Blink Browsers */ + } + &::-moz-selection { + background: transparent; /* Gecko Browsers */ + } + + margin-right: 8px; + text-align: right; +} + +.code-highlight pre { line-height: 125%; } +.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.code-highlight .hll { background-color: #ffffcc } +.code-highlight { background: #f8f8f8; } +.code-highlight .c { color: #408080; font-style: italic } /* Comment */ +.code-highlight .err { border: 1px solid #FF0000 } /* Error */ +.code-highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.code-highlight .o { color: #666666 } /* Operator */ +.code-highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.code-highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.code-highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.code-highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.code-highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.code-highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.code-highlight .gd { color: #A00000 } /* Generic.Deleted */ +.code-highlight .ge { font-style: italic } /* Generic.Emph */ +.code-highlight .gr { color: #FF0000 } /* Generic.Error */ +.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.code-highlight .gi { color: #00A000 } /* Generic.Inserted */ +.code-highlight .go { color: #888888 } /* Generic.Output */ +.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.code-highlight .gs { font-weight: bold } /* Generic.Strong */ +.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.code-highlight .gt { color: #0044DD } /* Generic.Traceback */ +.code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.code-highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.code-highlight .kt { color: #B00040 } /* Keyword.Type */ +.code-highlight .m { color: #666666 } /* Literal.Number */ +.code-highlight .s { color: #BA2121 } /* Literal.String */ +.code-highlight .na { color: #7D9029 } /* Name.Attribute */ +.code-highlight .nb { color: #008000 } /* Name.Builtin */ +.code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.code-highlight .no { color: #880000 } /* Name.Constant */ +.code-highlight .nd { color: #AA22FF } /* Name.Decorator */ +.code-highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.code-highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.code-highlight .nf { color: #0000FF } /* Name.Function */ +.code-highlight .nl { color: #A0A000 } /* Name.Label */ +.code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.code-highlight .nv { color: #19177C } /* Name.Variable */ +.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.code-highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.code-highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.code-highlight .mf { color: #666666 } /* Literal.Number.Float */ +.code-highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.code-highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.code-highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.code-highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.code-highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.code-highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.code-highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.code-highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.code-highlight .sx { color: #008000 } /* Literal.String.Other */ +.code-highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.code-highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.code-highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.code-highlight .vc { color: #19177C } /* Name.Variable.Class */ +.code-highlight .vg { color: #19177C } /* Name.Variable.Global */ +.code-highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.code-highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ diff --git a/searx/static/themes/oscar/less/pointhi/results.less b/searx/static/themes/oscar/src/less/pointhi/results.less index 13266c0..f6a2a02 100644 --- a/searx/static/themes/oscar/less/pointhi/results.less +++ b/searx/static/themes/oscar/src/less/pointhi/results.less @@ -107,3 +107,7 @@ outline: 0 none; position: relative; } + +.highlight { + font-weight: 700; +} diff --git a/searx/static/themes/oscar/src/less/pointhi/search.less b/searx/static/themes/oscar/src/less/pointhi/search.less new file mode 100644 index 0000000..bb1cd89 --- /dev/null +++ b/searx/static/themes/oscar/src/less/pointhi/search.less @@ -0,0 +1,56 @@ +.search_categories, #categories { + text-transform: capitalize; + margin-bottom: 1.5rem; + margin-top: 1.5rem; + display: flex; + flex-wrap: wrap; + align-content: stretch; + + a { + flex-grow: 1; + flex-basis: auto; + border: @mild-gray 1px solid; + border-right: none; + color: @dark-gray; + padding-bottom: 0.4rem; + padding-top: 0.4rem; + text-align: center; + min-width: 50px; + } + + label, .input-group-addon { + flex-grow: 1; + flex-basis: auto; + font-size: 1.3rem; + font-weight: normal; + background-color: white; + border: #DDD 1px solid; + border-right: none; + color: #333; + padding-bottom: 0.8rem; + padding-top: 0.8rem; + text-align: center; + width: 100%; + height: 100%; + } + + a:last-child, .input-group-addon:last-child { + border-right: #DDD 1px solid; + } + + input[type="checkbox"]:checked + label{ + color: black; + font-weight: bold; + background-color: #EEE; + } +} + +.visually-hidden { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + white-space: nowrap; /* added line */ +} diff --git a/searx/static/themes/pix-art/img/favicon.png b/searx/static/themes/pix-art/img/favicon.png Binary files differdeleted file mode 100644 index 3818d3d..0000000 --- a/searx/static/themes/pix-art/img/favicon.png +++ /dev/null diff --git a/searx/static/themes/pix-art/img/preference-icon-pixel.png b/searx/static/themes/pix-art/img/preference-icon-pixel.png Binary files differdeleted file mode 100644 index 424e01e..0000000 --- a/searx/static/themes/pix-art/img/preference-icon-pixel.png +++ /dev/null diff --git a/searx/static/themes/pix-art/img/search-icon-pixel.png b/searx/static/themes/pix-art/img/search-icon-pixel.png Binary files differdeleted file mode 100644 index 8235882..0000000 --- a/searx/static/themes/pix-art/img/search-icon-pixel.png +++ /dev/null diff --git a/searx/static/themes/pix-art/img/searx-pixel-small.png b/searx/static/themes/pix-art/img/searx-pixel-small.png Binary files differdeleted file mode 100644 index 75b476c..0000000 --- a/searx/static/themes/pix-art/img/searx-pixel-small.png +++ /dev/null diff --git a/searx/static/themes/pix-art/img/searx-pixel.png b/searx/static/themes/pix-art/img/searx-pixel.png Binary files differdeleted file mode 100644 index 6aee581..0000000 --- a/searx/static/themes/pix-art/img/searx-pixel.png +++ /dev/null diff --git a/searx/static/themes/pix-art/js/searx.js b/searx/static/themes/pix-art/js/searx.js deleted file mode 100644 index 5eb0af9..0000000 --- a/searx/static/themes/pix-art/js/searx.js +++ /dev/null @@ -1,141 +0,0 @@ -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]; - } -}
\ No newline at end of file diff --git a/searx/static/themes/pix-art/less/definitions.less b/searx/static/themes/pix-art/less/definitions.less deleted file mode 100644 index 0ac0cc9..0000000 --- a/searx/static/themes/pix-art/less/definitions.less +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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; diff --git a/searx/static/themes/pix-art/less/mixins.less b/searx/static/themes/pix-art/less/mixins.less deleted file mode 100644 index dbccce6..0000000 --- a/searx/static/themes/pix-art/less/mixins.less +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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/themes/pix-art/less/search.less b/searx/static/themes/pix-art/less/search.less deleted file mode 100644 index f5ac33e..0000000 --- a/searx/static/themes/pix-art/less/search.less +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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 - } -} diff --git a/searx/static/themes/pix-art/less/style.less b/searx/static/themes/pix-art/less/style.less deleted file mode 100644 index a2088e9..0000000 --- a/searx/static/themes/pix-art/less/style.less +++ /dev/null @@ -1,451 +0,0 @@ -/* - * 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; -} diff --git a/searx/static/themes/simple/.gitignore b/searx/static/themes/simple/.gitignore new file mode 100644 index 0000000..07e6e47 --- /dev/null +++ b/searx/static/themes/simple/.gitignore @@ -0,0 +1 @@ +/node_modules diff --git a/searx/static/themes/simple/fonts/ion.css b/searx/static/themes/simple/fonts/ion.css new file mode 100644 index 0000000..ebf6c62 --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.css @@ -0,0 +1,139 @@ +/* Generated by grunt-webfont */ + + +@font-face { + font-family:"ion"; + src:url("../fonts/ion.eot?ce7a0ead692560b4405a96d5b8471f51"); + src:url("../fonts/ion.eot?#iefix") format("embedded-opentype"), + url("../fonts/ion.woff2?ce7a0ead692560b4405a96d5b8471f51") format("woff2"), + url("../fonts/ion.woff?ce7a0ead692560b4405a96d5b8471f51") format("woff"), + url("../fonts/ion.ttf?ce7a0ead692560b4405a96d5b8471f51") format("truetype"), + url("../fonts/ion.svg?ce7a0ead692560b4405a96d5b8471f51#ion") format("svg"); + font-weight:normal; + font-style:normal; +} + +.ion-icon { + + font-family:"ion"; + + display:inline-block; + vertical-align:middle; + line-height:1; + font-weight:normal; + font-style:normal; + speak:none; + text-decoration:inherit; + text-transform:none; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; +} + + +/* Icons */ + + +.ion-navicon-round:before { + content:"\f101"; +} + + +.ion-search:before { + content:"\f102"; +} + + +.ion-play:before { + content:"\f103"; +} + + +.ion-link:before { + content:"\f104"; +} + + +.ion-chevron-up:before { + content:"\f105"; +} + + +.ion-chevron-left:before { + content:"\f106"; +} + + +.ion-chevron-right:before { + content:"\f107"; +} + + +.ion-arrow-down-a:before { + content:"\f108"; +} + + +.ion-arrow-up-a:before { + content:"\f109"; +} + + +.ion-arrow-swap:before { + content:"\f10a"; +} + + +.ion-arrow-dropdown:before { + content:"\f10b"; +} + + +.ion-globe:before { + content:"\f10c"; +} + + +.ion-time:before { + content:"\f10d"; +} + + +.ion-location:before { + content:"\f10e"; +} + + +.ion-warning:before { + content:"\f10f"; +} + + +.ion-error:before { + content:"\f110"; +} + + +.ion-film-outline:before { + content:"\f111"; +} + + +.ion-music-note:before { + content:"\f112"; +} + + +.ion-more-vertical:before { + content:"\f113"; +} + + +.ion-magnet:before { + content:"\f114"; +} + + +.ion-close:before { + content:"\f115"; +} diff --git a/searx/static/themes/simple/fonts/ion.eot b/searx/static/themes/simple/fonts/ion.eot Binary files differnew file mode 100644 index 0000000..96b3ee9 --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.eot diff --git a/searx/static/themes/simple/fonts/ion.html b/searx/static/themes/simple/fonts/ion.html new file mode 100644 index 0000000..d922379 --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.html @@ -0,0 +1,268 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8"> + <title>ion</title> + <style> + body { + margin:0; + padding:10px 20px; + background:#fff; + color:#222; + } + h1, div, footer { + font-family:"Helvetica Neue", Arial, sans-serif; + } + h1 { + margin:0 0 20px; + font-size:32px; + font-weight:normal; + } + h1 small { + font-size: 0.8em; + padding-left: 2em; + } + .icons { + margin-bottom:40px; + -webkit-column-count:5; + -moz-column-count:5; + column-count:5; + -webkit-column-gap:20px; + -moz-column-gap:20px; + column-gap:20px; + } + .icons__item, + .icons__item i { + line-height:2em; + cursor:pointer; + overflow:hidden; + } + .icons__item:hover { + color:#3c90be; + } + .icons__item i { + display:inline-block; + width:32px; + text-align:center; + } + .icons__item:hover i { + -webkit-transform:scale(1.5); + transform:scale(1.5); + } + footer { + margin-top:40px; + font-size:14px; + color:#999; + } + + /* Generated by grunt-webfont */ + + +@font-face { + font-family:"ion"; + src:url("ion.eot?ce7a0ead692560b4405a96d5b8471f51"); + src:url("ion.eot?#iefix") format("embedded-opentype"), + url("ion.woff2?ce7a0ead692560b4405a96d5b8471f51") format("woff2"), + url("ion.woff?ce7a0ead692560b4405a96d5b8471f51") format("woff"), + url("ion.ttf?ce7a0ead692560b4405a96d5b8471f51") format("truetype"), + url("ion.svg?ce7a0ead692560b4405a96d5b8471f51#ion") format("svg"); + font-weight:normal; + font-style:normal; +} + +.ion-icon { + + font-family:"ion"; + + display:inline-block; + vertical-align:middle; + line-height:1; + font-weight:normal; + font-style:normal; + speak:none; + text-decoration:inherit; + text-transform:none; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; +} + + +/* Icons */ + + +.ion-navicon-round:before { + content:"\f101"; +} + + +.ion-search:before { + content:"\f102"; +} + + +.ion-play:before { + content:"\f103"; +} + + +.ion-link:before { + content:"\f104"; +} + + +.ion-chevron-up:before { + content:"\f105"; +} + + +.ion-chevron-left:before { + content:"\f106"; +} + + +.ion-chevron-right:before { + content:"\f107"; +} + + +.ion-arrow-down-a:before { + content:"\f108"; +} + + +.ion-arrow-up-a:before { + content:"\f109"; +} + + +.ion-arrow-swap:before { + content:"\f10a"; +} + + +.ion-arrow-dropdown:before { + content:"\f10b"; +} + + +.ion-globe:before { + content:"\f10c"; +} + + +.ion-time:before { + content:"\f10d"; +} + + +.ion-location:before { + content:"\f10e"; +} + + +.ion-warning:before { + content:"\f10f"; +} + + +.ion-error:before { + content:"\f110"; +} + + +.ion-film-outline:before { + content:"\f111"; +} + + +.ion-music-note:before { + content:"\f112"; +} + + +.ion-more-vertical:before { + content:"\f113"; +} + + +.ion-magnet:before { + content:"\f114"; +} + + +.ion-close:before { + content:"\f115"; +} + + </style> + </head> + <body> + <h1>ion</h1> + + <div class="icons" id="icons"> + + <div class="icons__item" data-name="navicon-round"><i class="ion-icon ion-navicon-round"></i> ion-navicon-round</div> + + <div class="icons__item" data-name="search"><i class="ion-icon ion-search"></i> ion-search</div> + + <div class="icons__item" data-name="play"><i class="ion-icon ion-play"></i> ion-play</div> + + <div class="icons__item" data-name="link"><i class="ion-icon ion-link"></i> ion-link</div> + + <div class="icons__item" data-name="chevron-up"><i class="ion-icon ion-chevron-up"></i> ion-chevron-up</div> + + <div class="icons__item" data-name="chevron-left"><i class="ion-icon ion-chevron-left"></i> ion-chevron-left</div> + + <div class="icons__item" data-name="chevron-right"><i class="ion-icon ion-chevron-right"></i> ion-chevron-right</div> + + <div class="icons__item" data-name="arrow-down-a"><i class="ion-icon ion-arrow-down-a"></i> ion-arrow-down-a</div> + + <div class="icons__item" data-name="arrow-up-a"><i class="ion-icon ion-arrow-up-a"></i> ion-arrow-up-a</div> + + <div class="icons__item" data-name="arrow-swap"><i class="ion-icon ion-arrow-swap"></i> ion-arrow-swap</div> + + <div class="icons__item" data-name="arrow-dropdown"><i class="ion-icon ion-arrow-dropdown"></i> ion-arrow-dropdown</div> + + <div class="icons__item" data-name="globe"><i class="ion-icon ion-globe"></i> ion-globe</div> + + <div class="icons__item" data-name="time"><i class="ion-icon ion-time"></i> ion-time</div> + + <div class="icons__item" data-name="location"><i class="ion-icon ion-location"></i> ion-location</div> + + <div class="icons__item" data-name="warning"><i class="ion-icon ion-warning"></i> ion-warning</div> + + <div class="icons__item" data-name="error"><i class="ion-icon ion-error"></i> ion-error</div> + + <div class="icons__item" data-name="film-outline"><i class="ion-icon ion-film-outline"></i> ion-film-outline</div> + + <div class="icons__item" data-name="music-note"><i class="ion-icon ion-music-note"></i> ion-music-note</div> + + <div class="icons__item" data-name="more-vertical"><i class="ion-icon ion-more-vertical"></i> ion-more-vertical</div> + + <div class="icons__item" data-name="magnet"><i class="ion-icon ion-magnet"></i> ion-magnet</div> + + <div class="icons__item" data-name="close"><i class="ion-icon ion-close"></i> ion-close</div> + + </div> + + + + <h1>Usage</h1> + <pre><code><i class="ion-icon ion-<span id="name">name</span>"></i></code></pre> + + + <footer>Generated by <a href="https://github.com/sapegin/grunt-webfont">grunt-webfont</a>.</footer> + + <script> + (function() { + document.getElementById('icons').onclick = function(e) { + e = e || window.event; + var name = e.target.getAttribute('data-name') || e.target.parentNode.getAttribute('data-name'); + document.getElementById('name').innerHTML = name; + + } + })(); + </script> + </body> +</html> diff --git a/searx/static/themes/simple/fonts/ion.svg b/searx/static/themes/simple/fonts/ion.svg new file mode 100644 index 0000000..97ca930 --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.svg @@ -0,0 +1,105 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<!-- +2018-8-11: Created with FontForge (http://fontforge.org) +--> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> +<metadata> +Created by FontForge 20170924 at Sat Aug 11 14:26:20 2018 + By alexandre,,, + +</metadata> +<defs> +<font id="ion" horiz-adv-x="512" > + <font-face + font-family="ion" + font-weight="400" + font-stretch="normal" + units-per-em="512" + panose-1="2 0 5 9 0 0 0 0 0 0" + ascent="448" + descent="-64" + bbox="27.2368 -31.9632 479.993 415.9" + underline-thickness="25.6" + underline-position="-51.2" + unicode-range="U+F101-F115" + /> + <missing-glyph /> + <glyph glyph-name="arrow-down-a" unicode="" +d="M256.5 -0.5l-192 192h112v192h160v-192h112z" /> + <glyph glyph-name="arrow-dropdown" unicode="" +d="M128 256h256l-128 -128z" /> + <glyph glyph-name="arrow-swap" unicode="" +d="M64 120c0 4.40039 3.59961 8 8 8h248v64l128 -96l-128 -96v64h-248c-4.40039 0 -8 3.59961 -8 8v48zM448 264c0 -4.40039 -3.59961 -8 -8 -8h-248v-64l-128 96l128 96v-64h248c4.40039 0 8 -3.59961 8 -8v-48z" /> + <glyph glyph-name="arrow-up-a" unicode="" +d="M256.5 383.5l192 -192h-112v-192h-160v192h-112z" /> + <glyph glyph-name="chevron-left" unicode="" +d="M213.7 192l167.2 -174.2c4.19922 -4.2998 4.09961 -11.3994 -0.200195 -15.7998l-29.9004 -30.5996c-4.2998 -4.40039 -11.2998 -4.5 -15.5 -0.200195l-204.2 212.7c-2.09961 2.19922 -3.09961 5.09961 -3 8.09961c-0.199219 2.90039 0.800781 5.90039 3 8.09961 +l204.2 212.601c4.2002 4.2998 11.2002 4.2002 15.5 -0.200195l29.9004 -30.5996c4.2998 -4.40039 4.39941 -11.5 0.200195 -15.8008l-167.2 -174.1v0v0z" /> + <glyph glyph-name="chevron-right" unicode="" +d="M298.3 192v0v0l-167.2 174.1c-4.19922 4.30078 -4.09961 11.4004 0.200195 15.8008l29.9004 30.5996c4.2998 4.40039 11.2998 4.5 15.5 0.200195l204.2 -212.7c2.19922 -2.2002 3.19922 -5.2002 3 -8.09961c0.0996094 -3 -0.900391 -5.90039 -3 -8.10059l-204.2 -212.6 +c-4.2002 -4.2998 -11.2002 -4.2002 -15.5 0.200195l-29.9004 30.5996c-4.2998 4.40039 -4.39941 11.5 -0.200195 15.7998z" /> + <glyph glyph-name="chevron-up" unicode="" +d="M256 234.3l-174.2 -167.2c-4.2998 -4.19922 -11.3994 -4.09961 -15.7998 0.200195l-30.5996 29.9004c-4.40039 4.2998 -4.5 11.2998 -0.200195 15.5l212.7 204.2c2.19922 2.09961 5.09961 3.09961 8.09961 3c2.90039 0.199219 5.90039 -0.800781 8.09961 -3l212.7 -204.2 +c4.2998 -4.2002 4.2002 -11.2002 -0.200195 -15.5l-30.5996 -29.9004c-4.40039 -4.2998 -11.5 -4.39941 -15.7998 -0.200195l-174.2 167.2v0v0z" /> + <glyph glyph-name="close" unicode="" +d="M405 311.202l-119.202 -119.202l119.202 -119.202l-29.7979 -29.7979l-119.202 119.202l-119.202 -119.202l-29.7979 29.7979l119.202 119.202l-119.202 119.202l29.7979 29.7979l119.202 -119.202l119.202 119.202z" /> + <glyph glyph-name="error" unicode="" +d="M256 400c114.4 0 208 -93.6006 208 -208s-93.5996 -208 -208 -208s-208 93.6006 -208 208s93.5996 208 208 208zM280 88v40h-48v-40h48zM280 176v128h-48v-128h48z" /> + <glyph glyph-name="film-outline" unicode="" +d="M56 360h400v-336h-400v336zM128 40v48h-56v-48h56zM128 104v48h-56v-48h56zM128 168v48h-56v-48h56zM128 232v48h-56v-48h56zM128 296v48h-56v-48h56zM368 40v144h-224v-144h224zM368 200v144h-224v-144h224zM440 40v48h-56v-48h56zM440 104v48h-56v-48h56zM440 168v48 +h-56v-48h56zM440 232v48h-56v-48h56zM440 296v48h-56v-48h56z" /> + <glyph glyph-name="globe" unicode="" +d="M256 400c114.875 0 208 -93.125 208 -208s-93.125 -208 -208 -208c-114.876 0 -208 93.125 -208 208s93.124 208 208 208zM234.451 15.001c6.04297 15.0449 19.9453 28.6484 7.27344 39.1172c-8.17285 6.75 -15.6123 13.6279 -23.1104 21.125 +c-2.47461 2.47363 -9.9082 19.7109 -8.35156 22.3916c5.10254 8.78613 5.76367 14.8613 8.12988 24.7236c2.94336 12.2627 -3.33398 15.4434 -13.3828 21.8389c-15.2256 9.68848 -28.9629 22.4844 -43.3213 33.4941c-7.11719 5.45508 -17.4365 10.0986 -20.0195 18.9521 +c-2.64062 9.05078 -3.97363 20.2598 -9.40039 28.0781c-13.9277 20.0752 -11.5791 34.9678 -9.93945 58.7627c0.449219 6.52637 -1.30371 15.6572 -2.01367 24.1748c-27.5654 -32.2354 -42.6016 -72.7891 -42.6016 -115.659c0 -47.6221 18.5439 -92.3926 52.2178 -126.067 +c28.541 -28.54 65.0557 -46.2061 104.52 -50.9316zM382.067 65.9326c23.0352 23.0381 38.9873 51.2695 46.7686 82.0527c-8.34668 -1.19141 -18.3838 2.22754 -18.3838 2.22754s-21.7363 23.707 -23.5244 44.5723c-1.85645 21.667 0.498047 38.3945 -2.89551 56.8105 +c-2.87988 15.624 -19.2803 31.5 -26.6729 46.3018c-6.9209 13.8555 -13.7334 27.7031 -20.2646 41.7451c2.25098 -0.848633 4.90039 -1.40234 6.96484 -2.62305c4.99902 0.636719 9.43066 1.22949 13.4629 1.59082c-22.5381 15.6758 -48.2725 25.8418 -75.5225 29.7998 +v-8.33887l3.55273 -9.27734l-13.7783 -12.9951l-8.67578 2.79492l-9.92383 10.2334l-9.94336 11.8008l-14.084 5.66016c-15.7236 -2.36133 -30.9346 -6.78711 -45.3105 -13.1523c0.360352 -2.30762 0.662109 -4.64453 0.662109 -7.13281 +c7.17383 2.98926 15.2764 5.04883 22.4502 8.03906c2.96289 1.23438 12.7529 -7.1748 15.6221 -8.96777c-4.0957 -4.70996 -20.5576 -15.4434 -21.3574 -21.3574c-0.316406 -2.33984 6.50586 -6.06348 6.45117 -9.69141 +c-0.0878906 -5.74609 -0.173828 -11.4912 -0.259766 -17.2373c3.24414 2.76172 20.0342 20.3672 21.9404 20.8594c12.7256 3.2832 34.3916 -17.7646 36.249 -25.1934c1.8584 -7.42871 -21.6514 -23.6826 -32.6113 -34.0469 +c-8.39941 -7.94434 -24.8086 -12.5137 -19.8037 -24.2285c1.62695 -3.80957 10.0508 -20.0156 5.21191 -24.0586c-5.92188 -4.94824 -14.7686 8.97656 -17.3418 12.0938c-8.15332 9.87695 -25.626 6.02539 -37.9082 6.47852c0 -17.4209 -0.757812 -31.1885 14.9229 -42.9971 +c15.1943 -11.4434 29.5967 -24.7061 47.0771 -32.3389c12.7637 -5.57129 35.7158 6.53613 47.0205 -1.41699c15.8672 -11.165 29.3066 -21.624 47.1611 -29.375c7.93359 -3.44531 32.418 -19.8828 25.3525 -30.7812c-4.96582 -7.66211 -9.87305 -14.8848 -13.5771 -23.2168 +c-3.70703 -8.34375 -12.5957 -18.876 -19.6924 -24.3525c-8.15918 -6.29199 -16.9551 -17.1455 -21.8955 -29.3623c34.8574 6.5957 66.9229 23.4482 92.5566 49.0811z" /> + <glyph glyph-name="link" unicode="" +d="M256.5 240h-0.5v0h0.5zM368.5 288c44.2002 0 79.5 -35.2998 79.5 -79.5v-32c0 -44.2002 -35.2998 -80.5 -79.5 -80.5h-112c-32.7002 0 -61 19.7998 -73.5996 48c-4.40039 10 -6.90039 21 -6.90039 32.5v31.5h48v-31.5c0 -17.5996 14.9004 -32.5 32.5 -32.5h112 +c17.5996 0 31.5 14.9004 31.5 32.5v32c0 17.5996 -13.9004 31.5 -31.5 31.5h-0.5h-16.4004c-5.59961 31 -31.5996 48 -31.5996 48h48.5zM329.6 240c4.10059 -9.59961 6.40039 -20.2998 6.40039 -31.5v-32v-0.5h-48v0.5v32c0 17.5996 -13.9004 31.5 -31.5 31.5h-0.5h-111.5 +c-17.5996 0 -32.5 -13.9004 -32.5 -31.5v-32c0 -17.5996 14.9004 -32.5 32.5 -32.5h15.4004c6.2998 -31 32.0996 -48 32.0996 -48h-47.5c-44.2002 0 -80.5 36.2998 -80.5 80.5v32c0 44.2002 36.2998 79.5 80.5 79.5h112c33 0 61 -19.7002 73.0996 -48z" /> + <glyph glyph-name="location" unicode="" +d="M256 384c65.9004 0 119.3 -53.7002 119.3 -120c0 -114.6 -119.3 -264 -119.3 -264s-119.3 149.4 -119.3 264c0 66.2998 53.3994 120 119.3 120zM256 205.8c31.2002 0 56.4004 25.4004 56.4004 56.7002c0 31.4004 -25.2002 56.7998 -56.4004 56.7998 +c-31.0996 0 -56.4004 -25.5 -56.4004 -56.7998s25.2002 -56.7002 56.4004 -56.7002z" /> + <glyph glyph-name="magnet" unicode="" +d="M27.7061 117.644h86.2139v-67.7236h-86.2256zM184.326 327c0 -0.199219 0.166992 -0.366211 0.367188 -0.366211c27.7676 0 67.3604 -3.08398 67.3604 -42.7246v-141.625c0 -0.197266 0.163086 -0.362305 0.358398 -0.366211 +c28.75 -0.636719 57.4912 0.0107422 86.2236 0c0.208984 -0.000976562 0.366211 0.183594 0.367188 0.364258c0.238281 50.8672 0 101.591 0 150.867c-0.250977 43.4795 -13.5273 70.627 -43.2588 92.6426c-33.1963 25.7178 -71.71 27.2451 -112.575 27.3818 +c-40.8711 -0.136719 -79.3877 -1.66406 -112.583 -27.3818c-29.7207 -22.0166 -42.9971 -49.1611 -43.248 -92.6445c0 -49.2715 -0.227539 -99.999 0 -150.876c0.000976562 -0.208984 0.185547 -0.365234 0.367188 -0.365234c28.7324 0.0224609 57.4854 -0.625 86.2236 0 +c0.196289 0.00390625 0.358398 0.170898 0.358398 0.366211v141.625c0 39.6406 39.6045 42.7363 67.3604 42.7363c0.200195 0 0.367188 0.166992 0.367188 0.366211s-0.166992 0.366211 -0.367188 0.366211c-27.6299 0 -68.0938 -3.06348 -68.0938 -43.4688v-141.266 +c-28.2832 -0.604492 -56.9688 0.0244141 -85.4844 0.0078125c-0.223633 50.5547 0.00195312 101.386 0.00195312 150.508c0.249023 43.3125 13.4043 70.168 42.957 92.0605c32.9863 25.5547 71.2646 27.0957 112.144 27.2324 +c40.8623 -0.136719 79.1436 -1.67773 112.13 -27.2324c29.5645 -21.8926 42.7188 -48.7461 42.9678 -92.0625c0 -49.1631 0.238281 -99.6865 0.00195312 -150.495c-28.3008 0.00585938 -56.9746 -0.62793 -85.4844 -0.0078125v141.267 +c0 40.4043 -40.4521 43.457 -68.0938 43.457c-0.200195 0 -0.367188 -0.166992 -0.367188 -0.366211zM184.692 327.005c27.7061 0 67.7236 -3.07227 67.7236 -43.1006v-141.615c28.7422 -0.639648 57.4834 0.0117188 86.2256 0c0.232422 50.8633 0 101.586 0 150.854 +c-0.255859 43.4033 -13.4746 70.3994 -43.1133 92.3574c-33.0938 25.6348 -71.4932 27.1709 -112.36 27.3105c-40.8672 -0.139648 -79.2666 -1.67578 -112.36 -27.3105c-29.6377 -21.958 -42.8574 -48.9541 -43.1016 -92.3574c0 -49.2686 -0.232422 -99.9912 0 -150.866 +c28.7422 0.0234375 57.4834 -0.62793 86.2139 0v141.615c0 40.0293 40.0293 43.1123 67.7236 43.1123zM252.463 117.644h86.2021v-67.7236h-86.2021v67.7236z" /> + <glyph glyph-name="more-vertical" unicode="" +d="M296 312c0 -22.002 -17.998 -40 -40 -40s-40 17.998 -40 40s17.998 40 40 40s40 -17.998 40 -40zM296 72c0 -22.002 -17.998 -40 -40 -40s-40 17.998 -40 40s17.998 40 40 40s40 -17.998 40 -40zM296 192c0 -22.002 -17.998 -40 -40 -40s-40 17.998 -40 40 +s17.998 40 40 40s40 -17.998 40 -40z" /> + <glyph glyph-name="music-note" unicode="" +d="M426 415.9c12.0996 0 22 -9.5 22.0996 -21.2002v-302.8c0 -24.7002 -3 -42.9004 -12 -54.9004h-0.199219c-9.10059 -15 -25 -21 -43.2002 -21h-37.2002c-28.2998 0 -51.2002 19.9004 -51.2002 48s22.9004 48 51.2002 48h60.5v192l-208 -38v-232 +c0 -8.2998 -3.40039 -27 -13 -41.0996c-1 -1.80078 -2.09961 -3.40039 -3.40039 -5c-0.5 -0.600586 -0.899414 -1.5 -1.5 -2.10059c-0.0996094 -0.0996094 -0.299805 -0.0996094 -0.399414 -0.200195c-9.40039 -10.5996 -23 -17.5 -38.2998 -17.5h-36.2002 +c-28.2002 0 -51.2998 20 -51.2998 48s23.0996 48 51.0996 48v-0.0996094h61v286.5c1 14.5 13.5 27.9004 27.2998 31.5996l217.601 33.2002s2.89941 0.600586 5.09961 0.600586z" /> + <glyph glyph-name="navicon-round" unicode="" +d="M417.4 224c16.8994 0 30.5996 -14.2998 30.5996 -32s-13.7002 -32 -30.5996 -32h-322.801c-16.8994 0 -30.5996 14.2998 -30.5996 32s13.7002 32 30.5996 32h322.801zM417.4 352c16.8994 0 30.5996 -14.2998 30.5996 -32s-13.7002 -32 -30.5996 -32h-322.801 +c-16.8994 0 -30.5996 14.2998 -30.5996 32s13.7002 32 30.5996 32h322.801zM417.4 96c16.8994 0 30.5996 -14.2998 30.5996 -32s-13.7002 -32 -30.5996 -32h-322.801c-16.8994 0 -30.5996 14.2998 -30.5996 32s13.7002 32 30.5996 32h322.801z" /> + <glyph glyph-name="play" unicode="" +d="M405.2 215.1c6.59961 -5.59961 10.7998 -13.7998 10.7998 -23.0996s-4.2002 -17.5996 -10.7998 -23.0996l-278.101 -165.5c-3.69922 -2 -7.09961 -3.40039 -11.1992 -3.40039c-10.9004 0 -19.8008 9 -19.8008 20h-0.0996094v344h0.0996094c0 11 8.90039 20 19.8008 20 +c4 0 7.5 -1.2002 10.8994 -3.2002z" /> + <glyph glyph-name="search" unicode="" +d="M445 61.2998c4 -4 4 -10.3994 0 -14.5l-43.2998 -43.7998c-1.90039 -2 -4.60059 -3.09961 -7.2998 -3.09961c-2.7002 0 -5.40039 1.19922 -7.30078 3.09961l-84.3994 85.5996c-24.6006 -14.6992 -52.2002 -22.3994 -80.1006 -22.3994 +c-87.3994 0 -158.6 71.2998 -158.6 158.899c0 87.6006 71.2002 158.9 158.6 158.9c87.4004 0 158.601 -71.2998 158.601 -158.9c0 -27 -7.2002 -53.7998 -21 -77.8994zM222.6 322.1c-53.3994 0 -96.7998 -43.5 -96.7998 -97s43.4004 -97 96.7998 -97 +c53.4004 0 96.8008 43.5 96.8008 97s-43.4004 97 -96.8008 97z" /> + <glyph glyph-name="time" unicode="" +d="M256 405c117.149 0 213 -95.8506 213 -213s-94.7891 -213 -213 -213s-213 95.8506 -213 213s94.7891 213 213 213zM256 21.5996c93.7178 0 170.4 76.6826 170.4 170.4s-76.6826 170.4 -170.4 170.4s-170.4 -76.6836 -170.4 -170.4s76.6826 -170.4 170.4 -170.4z +M266.65 298.5v-111.824l95.8496 -56.4434l-15.9746 -26.625l-111.825 67.0928v127.8h31.9502z" /> + <glyph glyph-name="warning" unicode="" +d="M476.7 25.7998c2.7998 -4.89941 4.7998 -13 1.7998 -17.8994c-2.90039 -4.90039 -8.2002 -7.90039 -14 -7.90039h-417.1c-5.80078 0 -11.1006 3 -14 7.90039c-2.90039 4.89941 -0.900391 12.8994 1.89941 17.8994l206.601 349.5c2.7998 5 8.19922 8.7002 14.0996 8.7002 +c5.7998 0 11.2002 -3.7002 14.0996 -8.7002zM288 48v48h-64v-48h64zM288 128v144h-64v-144h64z" /> + </font> +</defs></svg> diff --git a/searx/static/themes/simple/fonts/ion.ttf b/searx/static/themes/simple/fonts/ion.ttf Binary files differnew file mode 100644 index 0000000..ccc5482 --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.ttf diff --git a/searx/static/themes/simple/fonts/ion.woff b/searx/static/themes/simple/fonts/ion.woff Binary files differnew file mode 100644 index 0000000..0b7fe87 --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.woff diff --git a/searx/static/themes/simple/fonts/ion.woff2 b/searx/static/themes/simple/fonts/ion.woff2 Binary files differnew file mode 100644 index 0000000..30b902d --- /dev/null +++ b/searx/static/themes/simple/fonts/ion.woff2 diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js index 50e870f..7d6cb01 100644 --- a/searx/static/themes/simple/gruntfile.js +++ b/searx/static/themes/simple/gruntfile.js @@ -11,7 +11,7 @@ module.exports = function(grunt) { } }, jshint: { - files: ['js/searx_src/*.js', 'js/searx_header/*.js'], + files: ['js/searx_src/*.js', 'js/searx_header/*.js', '../__common__/js/*.js'], options: { reporterOutput: "", proto: true, @@ -30,13 +30,13 @@ module.exports = function(grunt) { }, files: { 'js/searx.head.js': ['js/searx_head/*.js'], - 'js/searx.js': ['js/searx_src/*.js'] + 'js/searx.js': ['js/searx_src/*.js', '../__common__/js/*.js'] } } }, uglify: { options: { - banner: '/*! simple/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n', + banner: '/*! simple/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | <%= process.env.GIT_URL %> */\n', output: { comments: 'some' }, @@ -57,7 +57,7 @@ module.exports = function(grunt) { development: { options: { paths: ["less"], - banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' + banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | <%= process.env.GIT_URL %> */\n' }, files: { "css/searx.css": "less/style.less", @@ -67,7 +67,7 @@ module.exports = function(grunt) { production: { options: { paths: ["less"], - banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' + banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | <%= process.env.GIT_URL %> */\n' }, files: { "css/searx.min.css": "less/style.less", @@ -141,8 +141,11 @@ module.exports = function(grunt) { } }); - grunt.loadNpmTasks('grunt-contrib-uglify', '/usr/lib/nodejs'); - grunt.loadNpmTasks('grunt-contrib-concat', '/usr/lib/nodejs'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + + grunt.registerTask('test', ['jshint']); grunt.registerTask('default', ['concat', 'uglify']); }; diff --git a/searx/static/themes/simple/js/searx.head.js b/searx/static/themes/simple/js/searx.head.js index 3ac61c8..e696440 100644 --- a/searx/static/themes/simple/js/searx.head.js +++ b/searx/static/themes/simple/js/searx.head.js @@ -32,7 +32,7 @@ search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true', infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true', static_path: script.getAttribute('data-static-path'), - no_item_found: script.getAttribute('data-no-item-found') + translations: JSON.parse(script.getAttribute('data-translations')), } // update the css diff --git a/searx/static/themes/simple/js/searx_head/00_init.js b/searx/static/themes/simple/js/searx_head/00_init.js index 3ac61c8..e696440 100644 --- a/searx/static/themes/simple/js/searx_head/00_init.js +++ b/searx/static/themes/simple/js/searx_head/00_init.js @@ -32,7 +32,7 @@ search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true', infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true', static_path: script.getAttribute('data-static-path'), - no_item_found: script.getAttribute('data-no-item-found') + translations: JSON.parse(script.getAttribute('data-translations')), } // update the css diff --git a/searx/static/themes/simple/js/searx_src/searx_mapresult.js b/searx/static/themes/simple/js/searx_src/searx_mapresult.js index 869d07d..2ccdbd1 100644 --- a/searx/static/themes/simple/js/searx_src/searx_mapresult.js +++ b/searx/static/themes/simple/js/searx_src/searx_mapresult.js @@ -19,93 +19,6 @@ 'use strict'; searx.ready(function () { - searx.on('.searx_overpass_request', 'click', function(event) { - // no more request - this.classList.remove("searx_overpass_request"); - - // - var overpass_url = "https://overpass-api.de/api/interpreter?data="; - var query_start = overpass_url + "[out:json][timeout:25];("; - var query_end = ");out meta;"; - - var osm_id = this.dataset.osmId; - var osm_type = this.dataset.osmType; - var result_table = d.querySelector("#" + this.dataset.resultTable); - var result_table_loadicon = d.querySelector("#" + this.dataset.resultTableLoadicon); - - // tags which can be ignored - var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ]; - - if(osm_id && osm_type && result_table) { - var query = null; - switch(osm_type) { - case 'node': - query = query_start + "node(" + osm_id + ");" + query_end; - break; - case 'way': - query = query_start + "way(" + osm_id + ");" + query_end; - break; - case 'relation': - query = query_start + "relation(" + osm_id + ");" + query_end; - break; - default: - break; - } - if(query) { - // console.log(query); - searx.http( 'GET', query ).then(function(html, contentType) { - html = JSON.parse(html); - if(html && html.elements && html.elements[0]) { - var element = html.elements[0]; - var newHtml = ""; - for (var row in element.tags) { - if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) { - newHtml += "<tr><td>" + row + "</td><td>"; - switch(row) { - case "phone": - case "fax": - newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>"; - break; - case "email": - newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "website": - case "url": - newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "wikidata": - newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>"; - break; - case "wikipedia": - if(element.tags[row].indexOf(":") != -1) { - newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>"; - break; - } - /* jshint ignore:start */ - default: - /* jshint ignore:end */ - newHtml += element.tags[row]; - break; - } - newHtml += "</td></tr>"; - } - } - result_table_loadicon.parentNode.removeChild(result_table_loadicon); - result_table.classList.remove('invisible'); - result_table.querySelector("tbody").innerHTML = newHtml; - } - }) - .catch(function() { - result_table_loadicon.classList.remove('invisible'); - result_table_loadicon.innerHTML = "could not load data!"; - }); - } - } - - // this event occour only once per element - event.preventDefault(); - }); - searx.on('.searx_init_map', 'click', function(event) { // no more request this.classList.remove("searx_init_map"); diff --git a/searx/static/themes/simple/js/searx_src/searx_results.js b/searx/static/themes/simple/js/searx_src/searx_results.js index b13da83..fe00efc 100644 --- a/searx/static/themes/simple/js/searx_src/searx_results.js +++ b/searx/static/themes/simple/js/searx_src/searx_results.js @@ -18,7 +18,7 @@ 'use strict'; searx.ready(function() { - searx.image_thumbnail_layout = new searx.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 200); + searx.image_thumbnail_layout = new searx.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 10, 200); searx.image_thumbnail_layout.watch(); searx.on('.btn-collapse', 'click', function(event) { diff --git a/searx/static/themes/simple/js/searx_src/searx_search.js b/searx/static/themes/simple/js/searx_src/searx_search.js index 580d98d..7ca658a 100644 --- a/searx/static/themes/simple/js/searx_src/searx_search.js +++ b/searx/static/themes/simple/js/searx_src/searx_search.js @@ -17,7 +17,7 @@ (function(w, d, searx) { 'use strict'; - var firstFocus = true, qinput_id = "q", qinput; + var firstFocus = true, qinput_id = "q.autofocus", qinput; function placeCursorAtEnd(element) { if (element.setSelectionRange) { @@ -73,8 +73,12 @@ if (searx.autocompleter) { searx.autocomplete = AutoComplete.call(w, { Url: "./autocompleter", - EmptyMessage: searx.no_item_found, + EmptyMessage: searx.translations.no_item_found, HttpMethod: searx.method, + HttpHeaders: { + "Content-type": "application/x-www-form-urlencoded", + "X-Requested-With": "XMLHttpRequest" + }, MinChars: 4, Delay: 300, }, "#" + qinput_id); diff --git a/searx/static/themes/simple/less/code.less b/searx/static/themes/simple/less/code.less index a688dd9..b732103 100644 --- a/searx/static/themes/simple/less/code.less +++ b/searx/static/themes/simple/less/code.less @@ -1,83 +1,8 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ - -.highlight pre { +.code-highlight pre { overflow: auto; + background-color: inherit; + color: inherit; + border: inherit; } -.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; - - &::selection { - background: transparent; /* WebKit/Blink Browsers */ - } - &::-moz-selection { - background: transparent; /* Gecko Browsers */ - } -} +@import "pygments.less"; diff --git a/searx/static/themes/simple/less/preferences.less b/searx/static/themes/simple/less/preferences.less index e1e88b5..26c4f6d 100644 --- a/searx/static/themes/simple/less/preferences.less +++ b/searx/static/themes/simple/less/preferences.less @@ -93,6 +93,23 @@ width: 100%; } } + + + .engine-tooltip { + display: none; + position: absolute; + padding: 0.5rem 1rem; + margin: 0rem 0 0 2rem; + border: 1px solid #ddd; + background: white; + font-size: 14px; + font-weight: normal; + z-index: 1000000; + } + + th:hover .engine-tooltip, .engine-tooltip:hover { + display: inline-block; + } } diff --git a/searx/static/themes/simple/less/pygments.less b/searx/static/themes/simple/less/pygments.less new file mode 100644 index 0000000..25a921c --- /dev/null +++ b/searx/static/themes/simple/less/pygments.less @@ -0,0 +1,99 @@ +/* + this file is generated automatically by searx_extra/update/update_pygments.py + using pygments version 2.8.0 +*/ + +.code-highlight .linenos { + -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; + + &::selection { + background: transparent; /* WebKit/Blink Browsers */ + } + &::-moz-selection { + background: transparent; /* Gecko Browsers */ + } + + margin-right: 8px; + text-align: right; +} + +.code-highlight pre { line-height: 125%; } +.code-highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.code-highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.code-highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.code-highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.code-highlight .hll { background-color: #ffffcc } +.code-highlight { background: #f8f8f8; } +.code-highlight .c { color: #408080; font-style: italic } /* Comment */ +.code-highlight .err { border: 1px solid #FF0000 } /* Error */ +.code-highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.code-highlight .o { color: #666666 } /* Operator */ +.code-highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.code-highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.code-highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.code-highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.code-highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.code-highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.code-highlight .gd { color: #A00000 } /* Generic.Deleted */ +.code-highlight .ge { font-style: italic } /* Generic.Emph */ +.code-highlight .gr { color: #FF0000 } /* Generic.Error */ +.code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.code-highlight .gi { color: #00A000 } /* Generic.Inserted */ +.code-highlight .go { color: #888888 } /* Generic.Output */ +.code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.code-highlight .gs { font-weight: bold } /* Generic.Strong */ +.code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.code-highlight .gt { color: #0044DD } /* Generic.Traceback */ +.code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.code-highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.code-highlight .kt { color: #B00040 } /* Keyword.Type */ +.code-highlight .m { color: #666666 } /* Literal.Number */ +.code-highlight .s { color: #BA2121 } /* Literal.String */ +.code-highlight .na { color: #7D9029 } /* Name.Attribute */ +.code-highlight .nb { color: #008000 } /* Name.Builtin */ +.code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.code-highlight .no { color: #880000 } /* Name.Constant */ +.code-highlight .nd { color: #AA22FF } /* Name.Decorator */ +.code-highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.code-highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.code-highlight .nf { color: #0000FF } /* Name.Function */ +.code-highlight .nl { color: #A0A000 } /* Name.Label */ +.code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.code-highlight .nv { color: #19177C } /* Name.Variable */ +.code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.code-highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.code-highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.code-highlight .mf { color: #666666 } /* Literal.Number.Float */ +.code-highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.code-highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.code-highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.code-highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.code-highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.code-highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.code-highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.code-highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.code-highlight .sx { color: #008000 } /* Literal.String.Other */ +.code-highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.code-highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.code-highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.code-highlight .vc { color: #19177C } /* Name.Variable.Class */ +.code-highlight .vg { color: #19177C } /* Name.Variable.Global */ +.code-highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.code-highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ diff --git a/searx/static/themes/simple/less/style.less b/searx/static/themes/simple/less/style.less index 9f69f7a..64f5e6a 100644 --- a/searx/static/themes/simple/less/style.less +++ b/searx/static/themes/simple/less/style.less @@ -299,6 +299,38 @@ article.result-images[data-vim-selected]::before { } } +.result-map { + + img.image { + float: right !important; + height: 100px !important; + width: auto !important; + } + + table { + font-size: .9em; + width: auto; + border-collapse: separate; + border-spacing: 0 0.35rem; + + th { + font-weight: inherit; + width: 17rem; + vertical-align: top; + text-align: left; + } + + td { + vertical-align: top; + text-align: left; + } + } +} + +.hidden { + display: none !important; +} + .torrent_result { border-left: 10px solid @color-result-torrent-border; padding-left: 3px; @@ -719,3 +751,7 @@ article.result-images[data-vim-selected]::before { } } + +pre code { + white-space: pre-wrap; +} |