UNPKG

@mhg/blog

Version:
3 lines (2 loc) 7.07 kB
"use strict";function _regenerator(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function o(r,n,a,o){var u=n&&n.prototype instanceof c?n:c,s=Object.create(u.prototype);return _regeneratorDefine2(s,"_invoke",function(r,n,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return o=t,c=0,u=e,d.n=r,i}};function h(r,n){for(c=r,u=n,t=0;!f&&s&&!a&&t<l.length;t++){var a,o=l[t],h=d.p,p=o[2];r>3?(a=p===n)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=e):o[0]<=h&&((a=r<2&&h<o[1])?(c=0,d.v=n,d.n=o[1]):h<p&&(a=r<3||o[0]>n||n>p)&&(o[4]=r,o[5]=n,d.n=p,c=0))}if(a||r>1)return i;throw f=!0,n}return function(a,l,p){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,p),c=l,u=p;(t=c<2?e:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),h(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=o["return"])&&t.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=e}else if((t=(f=d.n<0)?u:r.call(n,d))!==i)break}catch(t){o=e,c=1,u=t}finally{s=1}}return{value:t,done:f}}}(r,a,o),!0),s}var i={};function c(){}function u(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,(function(){return this})),t),f=s.prototype=c.prototype=Object.create(l);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,_regeneratorDefine2(e,a,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=s,_regeneratorDefine2(f,"constructor",s),_regeneratorDefine2(s,"constructor",u),u.displayName="GeneratorFunction",_regeneratorDefine2(s,a,"GeneratorFunction"),_regeneratorDefine2(f),_regeneratorDefine2(f,a,"Generator"),_regeneratorDefine2(f,n,(function(){return this})),_regeneratorDefine2(f,"toString",(function(){return"[object Generator]"})),(_regenerator=function(){return{w:o,m:d}})()}function _regeneratorDefine2(e,t,r,n){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}_regeneratorDefine2=function(e,t,r,n){function o(t,r){_regeneratorDefine2(e,t,(function(e){return this._invoke(t,r,e)}))}t?a?a(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,t,r,n)}function asyncGeneratorStep(e,t,r,n,a,o,i){try{var c=e[o](i),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,a)}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function i(e){asyncGeneratorStep(o,n,a,i,c,"next",e)}function c(e){asyncGeneratorStep(o,n,a,i,c,"throw",e)}i(void 0)}))}}var SearchService=function(){var e={queryText:null,data:null,template:'<div id="u-search">\n <div class="modal">\n <header class="modal-header" class="clearfix">\n <form id="u-search-modal-form" class="u-search-form" name="uSearchModalForm">\n <input type="text" id="u-search-modal-input" class="u-search-input" />\n <button type="submit" id="u-search-modal-btn-submit" class="u-search-btn-submit">\n <span class="fa-solid fa-search"></span>\n </button>\n </form>\n <a id="u-search-btn-close" class="btn-close"> <span class="fa-solid fa-times"></span> </a>\n </header>\n <main class="modal-body">\n <ul class="modal-results"></ul>\n </main>\n </div>\n <div id="modal-overlay" class="modal-overlay"></div>\n</div>\n'};return e.init=_asyncToGenerator(_regenerator().m((function t(){var r;return _regenerator().w((function(t){for(;;)switch(t.n){case 0:if((r=document.createElement("div")).innerHTML+=e.template,document.body.append(r),document.querySelectorAll(".u-search-form").forEach((function(t){t.addEventListener("submit",e.onSubmit,!1)})),document.querySelector("#u-search-modal-input").addEventListener("input",e.onSubmit),document.querySelector("#u-search-btn-close").addEventListener("click",e.close,!1),document.querySelector("#modal-overlay").addEventListener("click",e.close,!1),e.data){t.n=2;break}return t.n=1,e.fetchData();case 1:e.data=t.v;case 2:return t.a(2)}}),t)}))),e.onSubmit=function(t){t.preventDefault();var r=t.target.querySelector(".u-search-input");e.queryText=r?r.value:t.target.value,e.queryText&&e.search()},e.search=_asyncToGenerator(_regenerator().m((function r(){var t;return _regenerator().w((function(r){for(;;)switch(r.n){case 0:if(document.querySelectorAll(".u-search-input").forEach((function(t){t.value=e.queryText})),document.querySelector("#u-search").style.display="block",e.data){r.n=2;break}return r.n=1,e.fetchData();case 1:e.data=r.v;case 2:t="",t+=e.buildResultList(e.data.pages),""===(t+=e.buildResultList(e.data.posts))&&(t='<div id="resule-hits-empty"><i class="fa-solid fa-box-open"></i><p>'.concat(volantis.GLOBAL_CONFIG.languages.search.hits_empty.replace(/\$\{query}/,e.queryText),"</p></div>")),document.querySelector("#u-search .modal-results").innerHTML=t,window.pjax&&pjax.refresh(document.querySelector("#u-search")),document.addEventListener("keydown",(function n(t){"Escape"===t.code&&(e.close(),document.removeEventListener("keydown",n))}));case 3:return r.a(2)}}),r)}))),e.close=function(){document.querySelector("#u-search").style.display="none"},e.fetchData=function(){return fetch(volantis.GLOBAL_CONFIG.search.dataPath).then((function(e){return e.text()})).then((function(e){return JSON.parse(e)}))},e.buildResultList=function(t){var r="";return t.forEach((function(t){t.text&&(t.text=t.text.replace(/12345\d*/g,"")),!t.title&&t.text&&(t.title=t.text.trim().slice(0,15)),e.contentSearch(t)&&(r+=e.buildResult(t.permalink,t.title,t.digest))})),r},e.contentSearch=function(t){var r=t.title.trim().toLowerCase(),n=t.text.trim().toLowerCase(),a=e.queryText.trim().toLowerCase().split(/[-\s]+/),o=!1,i=-1,c=-1,u=-1;return r&&n&&a.forEach((function(e,s){if(i=r.indexOf(e),c=n.indexOf(e),i<0&&c<0?o=!1:(o=!0,c<0&&(c=0),0===s&&(u=c)),o){n=t.text.trim();var l=0,f=0;if(u>=0){f=0===(l=Math.max(u-40,0))?Math.min(200,n.length):Math.min(u+120,n.length);var d=n.substring(l,f);a.forEach((function(e){var t=new RegExp(e,"gi");d=d.replace(t,"<b mark>"+e+"</b>")})),t.digest=d+"......"}else f=Math.min(200,n.length),t.digest=n.trim().substring(0,f)}})),o},e.buildResult=function(t,r,n){var a="";return a+="<li>",a+="<a class='result' href='"+e.getUrlRelativePath(t)+"?keyword="+e.queryText+"'>",a+="<span class='title'>"+r+"</span>",""!==n&&(a+="<span class='digest'>"+n+"</span>"),a+="</a>",a+="</li>"},e.getUrlRelativePath=function(e){var t=e.split("//"),r=t[1].indexOf("/"),n=t[1].substring(r);return-1!=n.indexOf("?")&&(n=n.split("?")[0]),n},{init:function(){e.init()},setQueryText:function(t){e.queryText=t},search:function(){e.search()}}}();Object.freeze(SearchService),SearchService.init(),document.addEventListener("pjax:success",SearchService.init),document.addEventListener("pjax:send",(function(){document.querySelector("#u-search").style.display="none"})); //# sourceMappingURL=../../maps/js/search/hexo.js.map