/** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later */ if(window.searxng=function(t){"use strict";t.getElementsByTagName("html")[0].className="js";var e=t.currentScript||(e=t.getElementsByTagName("script"))[e.length-1];return{autocompleter:"true"===e.getAttribute("data-autocompleter"),method:e.getAttribute("data-method"),translations:JSON.parse(e.getAttribute("data-translations")),plugins:JSON.parse(e.getAttribute("data-plugins"))}}(document), /** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * (C) 2014 by Thomas Pointhuber, * SPDX-License-Identifier: AGPL-3.0-or-later */ $(document).ready(function(){var t,n="";searxng.autocompleter&&((t=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:{url:"./autocompleter?q=%QUERY",wildcard:"%QUERY"}})).initialize(),$("#q").on("keydown",function(t){13==t.which&&(n=$("#q").val())}),$("#q").typeahead({name:"search-results",highlight:!1,hint:!0,displayKey:function(t){return t},classNames:{input:"tt-input",hint:"tt-hint",menu:"tt-dropdown-menu",dataset:"tt-dataset-search-results"}},{name:"autocomplete",source:t}),$("#q").bind("typeahead:select",function(t,e){n&&$("#q").val(n),$("#search_form").submit()}))}), /** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * (C) 2014 by Thomas Pointhuber, * SPDX-License-Identifier: AGPL-3.0-or-later */ $(document).ready(function(){$("#q.autofocus").focus(),$("#clear_search").click(function(){document.getElementById("q").value=""}),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var t=$(this).data("btn-text-collapsed"),e=$(this).data("btn-text-not-collapsed");""!==t&&""!==e&&(new_html=$(this).hasClass("collapsed")?$(this).html().replace(t,e):$(this).html().replace(e,t),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var t="btn-"+$(this).data("btn-class"),e=$(this).data("btn-label-default"),n=$(this).data("btn-label-toggled");""!==n&&(new_html=$(this).hasClass("btn-default")?$(this).html().replace(e,n):$(this).html().replace(n,e),$(this).html(new_html)),$(this).toggleClass(t),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var t=$(this).data("target"),e=$(t+" > iframe"),t=e.attr("src");void 0!==t&&!1!==t||e.attr("src",e.data("src"))}),$(".btn-sm").dblclick(function(){var t="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(t),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(t),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))}),$(".nav-tabs").click(function(t){$(t.target).parents("ul").children().attr("aria-selected","false"),$(t.target).parent().attr("aria-selected","true")}),searxng.image_thumbnail_layout=new searxng.ImageLayout("#main_results","#main_results .result-images","img.img-thumbnail",15,3,200),searxng.image_thumbnail_layout.watch()}), /** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later */ window.addEventListener("load",function(){$(".infobox").each(function(){var t=$(this).find(".infobox_body");t.prop("scrollHeight")+t.find("img.infobox_part").height()<=t.css("max-height").replace("px","")&&$(this).find(".infobox_toggle").hide()})}), /** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * (C) 2014 by Thomas Pointhuber, * SPDX-License-Identifier: AGPL-3.0-or-later */ $(document).ready(function(){$(".searxng_init_map").on("click",function(t){var e=$(this).data("leaflet-target"),n=$(this).data("map-lon"),a=$(this).data("map-lat"),i=$(this).data("map-zoom"),o=$(this).data("map-boundingbox"),s=$(this).data("map-geojson");o&&(southWest=L.latLng(o[0],o[2]),northEast=L.latLng(o[1],o[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/css/images/";var r=L.map(e),e=new L.TileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{minZoom:1,maxZoom:19,attribution:'Map data © OpenStreetMap contributors'});new L.TileLayer("https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",{minZoom:1,maxZoom:19,attribution:'Wikimedia maps beta | Maps data © OpenStreetMap contributors'});setTimeout(function(){map_bounds?r.fitBounds(map_bounds,{maxZoom:17}):n&&a&&(i?r.setView(new L.LatLng(a,n),i):r.setView(new L.LatLng(a,n),8))},0),r.addLayer(e),L.control.layers({"OSM Mapnik":e}).addTo(r),s&&L.geoJson(s).addTo(r),$(this).off(t)})}), /** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later */ $(document).ready(function(){let o=null;document.querySelector('body[class="preferences_endpoint"]')&&$("[data-engine-name]").hover(function(){null==o&&$.ajax("engine_descriptions.json",dataType="json").done(function(t){o=t;for(var[e,n]of Object.entries(t))for(const i of $('[data-engine-name="'+e+'"] .description')){var a=" ("+searxng.translations.Source+": "+n[1]+")";i.innerHTML=n[0]+a}})})}), /** * @license * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later */ $(document).ready(function(){$("#allow-all-engines").click(function(){$(".onoffswitch-checkbox").each(function(){this.checked=!1})}),$("#disable-all-engines").click(function(){$(".onoffswitch-checkbox").each(function(){this.checked=!0})})}), /** * * Google Image Layout v0.0.1 * Description, by Anh Trinh. * Heavily modified for searx * 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. * * @example Example usage of searxng.ImageLayout class. * searxng.image_thumbnail_layout = new searxng.ImageLayout( * '#urls', // container_selector * '#urls .result-images', // results_selector * 'img.image_thumbnail', // img_selector * 14, // verticalMargin * 6, // horizontalMargin * 200 // maxHeight * ); * searxng.image_thumbnail_layout.watch(); */ function(r,c){function t(t,e,n,a,i,o){this.container_selector=t,this.results_selector=e,this.img_selector=n,this.verticalMargin=a,this.horizontalMargin=i,this.maxHeight=o,this.isAlignDone=!0}t.prototype._getHeigth=function(t,e){for(var n,a=0,i=0;it.clientHeight}function loadNextPage(){var t=$("#pagination form:last").serialize();t&&($("#pagination").html('
'),$.ajax({type:"POST",url:$("#search_form").prop("action"),data:t,dataType:"html",success:function(t){t=$(t);$("#pagination").remove(),$("#main_results").append("
"),$("#main_results").append(t.find(".result")),$("#main_results").append(t.find("#pagination")),hasScrollbar()||loadNextPage()}}))}$(document).ready(function(){var t=$(window);hasScrollbar()||loadNextPage(),t.scroll(function(){$("#pagination button").css("visibility","hidden"),$(document).height()-t.height()-t.scrollTop()<150&&loadNextPage()})});const Na=document.createElement("style");Na.textContent=` @keyframes rotate-forever { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } } .loading-spinner { animation-duration: 0.75s; animation-iteration-count: infinite; animation-name: rotate-forever; animation-timing-function: linear; height: 30px; width: 30px; border: 8px solid #666; border-right-color: transparent; border-radius: 50% !important; margin: 0 auto; } #pagination button { visibility: hidden; } `,document.head.append(Na)}function getHttpRequest(){return httpRequest="POST",urlParams=new URLSearchParams(window.location.search),urlParams.has("method")&&(httpRequest=urlParams.get("method")),httpRequest}if(searxng.plugins["searx.plugins.search_on_category_select"]&&$(document).ready(function(){$("#q").length&&($("#categories label").click(function(t){return $('#categories input[type="checkbox"]').each(function(t,e){$(e).prop("checked",!1)}),$(document.getElementById($(this).attr("for"))).prop("checked",!0),$("#q").val()&&("GET"==getHttpRequest()&&$("#search_form").attr("action",$("#search_form").serialize()),$("#search_form").submit()),!1}),$("#time-range").change(function(t){$("#q").val()&&("GET"==getHttpRequest()&&$("#search_form").attr("action",$("#search_form").serialize()),$("#search_form").submit())}),$("#language").change(function(t){$("#q").val()&&("GET"==getHttpRequest()&&$("#search_form").attr("action",$("#search_form").serialize()),$("#search_form").submit())}))}),searxng.plugins["searx.plugins.vim_hotkeys"]){$(document).ready(function(){n("top")(),$(".result").on("click",function(){n($(this))()});var u={27:{key:"Escape",fun:function(){document.activeElement&&document.activeElement.blur()},des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:function(){$("input#q").focus()},des:"focus on the search input",cat:"Control"},66:{key:"b",fun:e(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:e(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:e(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:e(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:a(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:a(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:n("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:n("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:t(0),des:"go to previous page",cat:"Results"},78:{key:"n",fun:t(1),des:"go to next page",cat:"Results"},79:{key:"o",fun:i(!1),des:"open search result",cat:"Results"},84:{key:"t",fun:i(!0),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:function(){document.location.reload(!1)},des:"reload page from the server",cat:"Control"},72:{key:"h",fun:function(){var t=$("#vim-hotkeys-help");if(t.length)t.toggleClass("hidden");else{var e,n={};for(e in u){var a=u[e];n[a.cat]=n[a.cat]||[],n[a.cat].push(a)}var i=Object.keys(n).sort(function(t,e){return n[e].length-n[t].length});if(0!==i.length){var o='
';o+='
',o+='
',o+='
',o+="

How to navigate searx with Vim-like hotkeys

",o+="
",o+="
";for(var s=0;s',o+='
',o+='
'+l[0].cat+"
",o+='
',o+='
    ',l)o+="
  • "+l[r].key+" "+l[r].des+"
  • ";o+="
",o+="
",o+="
",o+="
",d&&!c||(o+="
")}o+="",o+="",$("body").append(o)}}},des:"toggle help window",cat:"Other"}};function h(t,e){for(var n=t[e]();!n.is(".result")&&0!==n.length;)n=n[e]();return n}function n(u){return function(){var t,e,n,a,i=$(".result[data-vim-selected]");if(0!==i.length||0!==(i=$(".result:first")).length){if("string"!=typeof u)c=u;else switch(u){case"visible":for(var o=$(window).scrollTop(),s=o+$(window).height(),r=$(".result"),l=0;l