mirror of
https://github.com/DefectingCat/DefectingCat.github.io
synced 2025-07-16 01:01:38 +00:00
1 line
1.6 KiB
JavaScript
1 line
1.6 KiB
JavaScript
var searchFunc=function(t,e,n){"use strict";var i=document.getElementById(e),a=document.getElementById(n);a.innerHTML='<div class="m-auto text-center"><div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div><br/>Loading...</div>',$.ajax({url:t,dataType:"xml",success:function(t){var e=$("entry",t).map((function(){return{title:$("title",this).text(),content:$("content",this).text(),url:$("url",this).text()}})).get();a.innerHTML="",i.addEventListener("input",(function(){var t="",n=this.value.trim().toLowerCase().split(/[\s-]+/);if(a.innerHTML="",this.value.trim().length<=0)return;e.forEach((function(e){var i=!0;e.title&&""!==e.title.trim()||(e.title="Untitled");var a=e.title.trim(),r=a.toLowerCase(),s=e.content.trim().replace(/<[^>]+>/g,""),l=s.toLowerCase(),c=e.url,o=-1,u=-1,d=-1;if(""!==l?n.forEach((function(t,e){o=r.indexOf(t),u=l.indexOf(t),o<0&&u<0?i=!1:(u<0&&(u=0),0===e&&(d=u))})):i=!1,i){t+="<a href='"+c+"' class='list-group-item list-group-item-action font-weight-bolder search-list-title'>"+a+"</a>";var v=s;if(d>=0){var h=d-20,m=d+80;h<0&&(h=0),0===h&&(m=100),m>v.length&&(m=v.length);var f=v.substring(h,m);n.forEach((function(t){var e=new RegExp(t,"gi");f=f.replace(e,'<span class="search-word">'+t+"</span>")})),t+="<p class='search-list-content'>"+f+"...</p>"}}}));const i=$("#local-search-input");if(-1===t.indexOf("list-group-item"))return i.addClass("invalid").removeClass("valid");i.addClass("valid").removeClass("invalid"),a.innerHTML=t}))}}),$(document).on("click","#local-search-close",(function(){$("#local-search-input").val("").removeClass("invalid").removeClass("valid"),$("#local-search-result").html("")}))}; |