From 0d12a3497d2ef894a9306803970e3e435df41681 Mon Sep 17 00:00:00 2001 From: me Date: Sun, 3 Jan 2021 02:52:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E6=B8=B2=E6=9F=93=E5=BC=95?= =?UTF-8?q?=E6=93=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 91c8412..6387354 100644 --- a/index.js +++ b/index.js @@ -13,7 +13,7 @@ const OPT = { "recentlySize" : 6,//最近文章数 "readMoreLength":150,//阅读更多截取长度 "cacheTime" : 60*60*24*0.5, //网页缓存时长(秒),建议=文章更新频率 - "themeURL" : "https://raw.githubusercontent.com/gdtool/cloudflare-workers-blog/master/themes/default/", // 模板地址,以 "/"" 结尾 + "themeURL" : "https://raw.githubusercontent.com/gdtool/cloudflare-workers-blog/master/themes/default2.0/", // 模板地址,以 "/"" 结尾 "html404" : `404`,//404页面代码 "codeBeforHead":``,//其他代码,显示在前 "codeBeforBody":``,//其他代码,显示在前 @@ -29,5 +29,9 @@ const OPT = { Disallow: /admin`//robots.txt设置 }; -!function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){"use strict";async function i(t,e,r){let i=await m("index"),s=await a(t,e),g=await l(t,e),d=await n(t,e),h=await c(t,e),w=await async function(t,e,r){let i=await m("articleList.html"),a=await m("articleListNewer.html"),l=await m("articleListOlder.html"),n=await m("articleListItem.html"),c=await m("articleListItemImg.html"),s=await m("articleListItemTags.html"),g=await m("articleListItemCategory.html"),d=await async function(t,e,r=OPT.pageSize){t=decodeURI(t),e=e<=1?1:e;let i=await o("SYSTEM_INDEX_LIST",!0),a=[];for(var l=0,n=i.length;l-1||i[l].category.indexOf(t)>-1)&&a.push(i[l]);a=u(a,"id");let c=!(a.length>r*e),s=[];for(l=(e-1)*r,n=Math.min(e*r,a.length);le*t),a=[];for(var l=(t-1)*e,n=Math.min(t*e,r.length);ll?-1:al?1:0}))}function d(t){if("string"==typeof t)try{var e=JSON.parse(t);return!("object"!=typeof e||!e)}catch(t){return!1}}async function h(t){const{headers:e}=t,r=e.get("content-type")||"";if(r.includes("application/json")){let e=JSON.stringify(await t.json()),r=JSON.parse(e),a={category:[]};for(var i=0;i{t.respondWith(async function(t){let e=t.request,r=new URL(t.request.url);null==OPT.privateBlog&&(OPT.privateBlog=!1);let w=r.pathname.trim("/").split("/");if(("admin"===w[0]||!0===OPT.privateBlog)&&!function(t){const e=t.headers.get("Authorization");if(!e||!/^Basic [A-Za-z0-9._~+/-]+=*$/i.test(e))return!1;const[r,i]=function(t){try{return atob(t.split(" ").pop()).split(":")}catch(t){return[]}}(e);return r===OPT.user&&i===OPT.password}(t.request))return new Response("Unauthorized",{headers:{"WWW-Authenticate":'Basic realm="cfblog"',"Access-Control-Allow-Origin":"*"},status:401});if(console.log(r.pathname),"/robots.txt"==r.pathname)return new Response(OPT.robots+"\nSitemap: https://"+OPT.siteDomain+"/sitemap.xml",{headers:{"content-type":"text/plain;charset=UTF-8"},status:200});if("/favicon.ico"==r.pathname)return new Response("404",{headers:{"content-type":"text/plain;charset=UTF-8"},status:404});let f="",p="",y="";0==w.length||""==w[0]?(f="page",p="1"):(f=w[0],p=void 0===w[1]?1:w[1],y=void 0===w[2]?1:w[2]);const T=caches.default,S="https://"+OPT.siteDomain+"/"+f+"/"+p+"/"+y,I=new Request(S,e);let L=await T.match(I);if(L)return L;if("sitemap.xml"==f)L=new Response(await async function(){console.log("进入函数 getSiteMap");let t=await o("SYSTEM_INDEX_LIST",!0),e='\n';for(var r=0,i=t.length;r",e+="\n\t\thttps://"+OPT.siteDomain+"/article/"+t[r].id+"/"+t[r].link+".html",e+="\n\t\t"+t[r].createDate.substr(0,10)+"",e+="\n\t\t"+(void 0===t[r].changefreq?"daily":t[r].changefreq)+"",e+="\n\t\t"+(void 0===t[r].priority?"0.5":t[r].priority)+"",e+="\n\t";return e+="\n",e}(),{headers:{"content-type":"text/xml;charset=UTF-8"},status:200});else{let e=await async function(t){let e=new URL(t.url).pathname.trim("/").split("/"),r="",w="",f="";0==e.length||""==e[0]?(r="page",w="1"):(r=e[0],w=void 0===e[1]?1:e[1],f=void 0===e[2]?1:e[2]);if("page"==r&&parseInt(w)>0)return await async function(t,e){let r=await m("index"),i=await a(t,e),o=await l(t,e),g=await n(t,e),u=await c(t,e),d=await async function(t,e){let r=await m("articleList.html"),i=await m("articleListNewer.html"),a=await m("articleListOlder.html"),l=await m("articleListItem.html"),n=await m("articleListItemImg.html"),c=await m("articleListItemTags.html"),o=await m("articleListItemCategory.html"),g=await s(e),u=g[0],d=g[1];1==e&&(a="");d&&(i="");i=i.r("articleListNewer.url","/page/"+(e+1)).r("articleListNewer.title","下一页"),a=a.r("articleListOlder.url","/page/"+(e-1)).r("articleListOlder.title","上一页");let h="\n";for(var w=0,f=u.length;w1?"page"+e+" - ":"")+OPT.siteName)}(r,parseInt(w));if("category"==r&&w.length>0)return await i(r,w,parseInt(f));if("tags"==r&&w.length>0)return await i(r,w,parseInt(f));if("article"==r&&w.length>0)return await async function(t,e){let r=await m("index"),i=await a(t,e),s=await l(t,e),g=await n(t,e),u=await c(t,e),[d,h,w]=await async function(t){let e=await m("articleSingle.html"),r=await m("articleSingleNewer.html"),i=await m("articleSingleOlder.html"),a=(await m("articleSingleComment.html"),await m("articleSingleArticle.html")),l=await m("articleSingleArticleTags.html"),n=await m("articleSingleArticleCategory.html"),c=await async function(t){t=("00000"+parseInt(t)).substr(-6);let e=await o("SYSTEM_INDEX_LIST",!0),r=-1;for(var i=0,a=e.length;i")).r("articleSingleArticle.contentText",s.contentText.substr(0,OPT.readMoreLength)+"... ").r("articleSingleArticle.contentMD",s.contentMD).r("articleSingleArticle.createDate",s.createDate.substr(0,10)).r("articleSingleArticle.url","/article/"+s.id+"/"+s.link+".html").r("articleSingleArticle.id",s.id).r("articleSingleArticle.link",s.link).r("articleSingleArticle.img",s.img).r("articleSingleArticleTags.html",h).r("articleSingleArticleCategory.html",y),[e.r("articleSingleNewer.html",r).r("articleSingleOlder.html",i).r("articleSingleArticle.html",d).r("articleSingleComment.html",OPT.commentCode),w.trim(","),s.title]}(e);return r.r("widgetMenu.html",i).r("widgetCategory.html",s).r("widgetTags.html",g).r("widgetRecently.html",u).r("articleSingle.html",d).r("opt.keyWords",decodeURI(h)).r("title",decodeURI(w)+" - "+OPT.siteName)}(r,w);if("search"!=r)return"admin"==r?async function(t,e){new URL(t.url);if(1==e.length||"list"==e[1]){let t=await m("admin/index"),e=await o("SYSTEM_VALUE_WidgetCategory",!0),r=await o("SYSTEM_VALUE_WidgetMenu",!0);return t.r("categoryJson",JSON.stringify(e)).r("menuJson",JSON.stringify(r))}if("publish"==e[1]){let t=await o("SYSTEM_INDEX_LIST",!0),e=[];for(var r=0;r","script>"))}if("saveConfig"==e[1]){const e=await h(t);let r=e.WidgetCategory,i=e.WidgetMenu;return d(r)&&d(i)?(await g("SYSTEM_VALUE_WidgetCategory",r),await g("SYSTEM_VALUE_WidgetMenu",i),'{"msg":"saved","rst":true}'):'{"msg":"Not a JSON object","rst":false}'}if("saveAddNew"==e[1]){const e=await h(t);let r=e.title,i=e.img,a=e.link,l=e.createDate,n=e.category,c=e.tags,s=void 0===e.priority?"0.5":e.priority,m=void 0===e.changefreq?"daily":e.changefreq,u=e["content-markdown-doc"],d=e["content-html-code"],w="",f="";if(r.length>0&&l.length>0&&n.length>0&&u.length>0&&d.length>0){f=await async function(){let t=await o("SYSTEM_INDEX_NUM");return""===t||null===t||"[]"===t||void 0===t?(await g("SYSTEM_INDEX_NUM",1),"000001"):(await g("SYSTEM_INDEX_NUM",parseInt(t)+1),("00000"+(parseInt(t)+1)).substr(-6))}(),w=d.replace(/<\/?[^>]*>/g,"").trim().substring(0,OPT.readMoreLength);let t={id:f,title:r,img:i,link:a,createDate:l,category:n,tags:c,contentMD:u,contentHtml:d,contentText:w,priority:s,changefreq:m};await g(f,JSON.stringify(t));let e={id:f,title:r,img:i,link:a,createDate:l,category:n,tags:c,contentText:w,priority:s,changefreq:m},h=await o("SYSTEM_INDEX_LIST",!0),p=[];return p.push(e),p=p.concat(h),await g("SYSTEM_INDEX_LIST",JSON.stringify(p)),'{"msg":"added OK","rst":true,"id":"'+f+'"}'}return'{"msg":"信息不全","rst":false}'}if("delete"==e[1]){let t=e[2];if(6==t.length){await CFBLOG.delete(t);let e=await o("SYSTEM_INDEX_LIST",!0);for(r=0;r0&&n.length>0&&c.length>0&&m.length>0&&d.length>0){p=d.replace(/<\/?[^>]*>/g,"").trim().substring(0,OPT.readMoreLength);let t={id:y,title:i,img:a,link:l,createDate:n,category:c,tags:s,contentMD:m,contentHtml:d,contentText:p,priority:w,changefreq:f};await g(y,JSON.stringify(t));let e={id:y,title:i,img:a,link:l,createDate:n,category:c,tags:s,contentText:p,priority:w,changefreq:f},h=await o("SYSTEM_INDEX_LIST",!0);for(r=0;r-1||n[a].category.indexOf(t)>-1)&&i.push(n[a]);i=g(i,"id");let o=!(i.length>r*e),c=[];for(a=(e-1)*r,s=Math.min(e*r,i.length);ae*t),i=[];for(var a=(t-1)*e,s=Math.min(t*e,r.length);aa?-1:ia?1:0}))}function p(t){if("string"==typeof t)try{var e=JSON.parse(t);return!("object"!=typeof e||!e)}catch(t){return!1}}async function h(t){const{headers:e}=t,r=e.get("content-type")||"";if(r.includes("application/json")){let e=JSON.stringify(await t.json()),r=JSON.parse(e),i={category:[]};for(var n=0;n{t.respondWith(async function(t){let e=t.request,r=new URL(t.request.url);null==OPT.privateBlog&&(OPT.privateBlog=!1);let a=r.pathname.trim("/").split("/");if(("admin"===a[0]||!0===OPT.privateBlog)&&!function(t){const e=t.headers.get("Authorization");if(!e||!/^Basic [A-Za-z0-9._~+/-]+=*$/i.test(e))return!1;const[r,n]=function(t){try{return atob(t.split(" ").pop()).split(":")}catch(t){return[]}}(e);return r===OPT.user&&n===OPT.password}(t.request))return new Response("Unauthorized",{headers:{"WWW-Authenticate":'Basic realm="cfblog"',"Access-Control-Allow-Origin":"*"},status:401});if(console.log(r.pathname),"/robots.txt"==r.pathname)return new Response(OPT.robots+"\nSitemap: https://"+OPT.siteDomain+"/sitemap.xml",{headers:{"content-type":"text/plain;charset=UTF-8"},status:200});if("/favicon.ico"==r.pathname)return new Response("404",{headers:{"content-type":"text/plain;charset=UTF-8"},status:404});let f="",d="",w="";0==a.length||""==a[0]?(f="page",d="1"):(f=a[0],d=void 0===a[1]?1:a[1],w=void 0===a[2]?1:a[2]);const y=caches.default,S="https://"+OPT.siteDomain+"/"+f+"/"+d+"/"+w,m=new Request(S,e);let T=await y.match(m);if(T)return T;if("sitemap.xml"==f)T=new Response(await async function(){console.log("进入函数 getSiteMap");let t=await l("SYSTEM_INDEX_LIST",!0),e='\n';for(var r=0,n=t.length;r",e+="\n\t\thttps://"+OPT.siteDomain+"/article/"+t[r].id+"/"+t[r].link+".html",e+="\n\t\t"+t[r].createDate.substr(0,10)+"",e+="\n\t\t"+(void 0===t[r].changefreq?"daily":t[r].changefreq)+"",e+="\n\t\t"+(void 0===t[r].priority?"0.5":t[r].priority)+"",e+="\n\t";return e+="\n",e}(),{headers:{"content-type":"text/xml;charset=UTF-8"},status:200});else{let e=await async function(t){let e=new URL(t.url).pathname.trim("/").split("/"),r="",a="",f="";0==e.length||""==e[0]?(r="page",a="1"):(r=e[0],a=void 0===e[1]?1:e[1],f=void 0===e[2]?1:e[2]);if("page"==r&&parseInt(a)>0)return await async function(t,e){let r=await u("index"),i=await l("SYSTEM_VALUE_WidgetMenu",!0),a=await l("SYSTEM_VALUE_WidgetCategory",!0),s=await l("SYSTEM_VALUE_WidgetTags",!0),o=await l("SYSTEM_VALUE_WidgetLink",!0),c=await l("SYSTEM_INDEX_LIST",!0),g=c.slice(0,OPT.recentlySize);for(var p=0;p=c.length&&(d=[]);let w=(e>1?"page "+e+" - ":"")+OPT.siteName,y=OPT.keyWords,S={};S.widgetMenuList=i,S.widgetCategoryList=a,S.widgetTagsList=s,S.widgetLinkList=o,S.widgetRecentlyList=g,S.articleList=h,S.pageNewer=f,S.pageOlder=d,S.title=w,S.keyWords=y;let m=OPT;return m.password="",m.user="",m.cacheToken="",m.cacheZoneId="",S.OPT=m,n.render(r,S)}(0,parseInt(a));if("category"==r&&a.length>0)return await i(r,a,parseInt(f));if("tags"==r&&a.length>0)return await i(r,a,parseInt(f));if("article"==r&&a.length>0)return await async function(t,e,r){let i=await u("article"),a=await l("SYSTEM_VALUE_WidgetMenu",!0),o=await l("SYSTEM_VALUE_WidgetCategory",!0),c=await l("SYSTEM_VALUE_WidgetTags",!0),g=await l("SYSTEM_VALUE_WidgetLink",!0),p=(await l("SYSTEM_INDEX_LIST",!0)).slice(0,OPT.recentlySize);for(var h=0;h","script>"))}if("saveConfig"==e[1]){const e=await h(t);let r=e.WidgetCategory,n=e.WidgetMenu,i=e.WidgetLink;return p(r)&&p(n)?(await c("SYSTEM_VALUE_WidgetCategory",r),await c("SYSTEM_VALUE_WidgetMenu",n),await c("SYSTEM_VALUE_WidgetLink",i),'{"msg":"saved","rst":true}'):'{"msg":"Not a JSON object","rst":false}'}if("saveAddNew"==e[1]){const e=await h(t);let r=e.title,n=e.img,i=e.link,a=e.createDate,s=e.category,o=e.tags,u=void 0===e.priority?"0.5":e.priority,g=void 0===e.changefreq?"daily":e.changefreq,p=e["content-markdown-doc"],f=e["content-html-code"],d="",w="";if(r.length>0&&a.length>0&&s.length>0&&p.length>0&&f.length>0){w=await async function(){let t=await l("SYSTEM_INDEX_NUM");return""===t||null===t||"[]"===t||void 0===t?(await c("SYSTEM_INDEX_NUM",1),"000001"):(await c("SYSTEM_INDEX_NUM",parseInt(t)+1),("00000"+(parseInt(t)+1)).substr(-6))}(),d=f.replace(/<\/?[^>]*>/g,"").trim().substring(0,OPT.readMoreLength);let t={id:w,title:r,img:n,link:i,createDate:a,category:s,tags:o,contentMD:p,contentHtml:f,contentText:d,priority:u,changefreq:g};await c(w,JSON.stringify(t));let e={id:w,title:r,img:n,link:i,createDate:a,category:s,tags:o,contentText:d,priority:u,changefreq:g},h=await l("SYSTEM_INDEX_LIST",!0),y=[];return y.push(e),y=y.concat(h),await c("SYSTEM_INDEX_LIST",JSON.stringify(y)),'{"msg":"added OK","rst":true,"id":"'+w+'"}'}return'{"msg":"信息不全","rst":false}'}if("delete"==e[1]){let t=e[2];if(6==t.length){await CFBLOG.delete(t);let e=await l("SYSTEM_INDEX_LIST",!0);for(r=0;r0&&s.length>0&&o.length>0&&p.length>0&&f.length>0){y=f.replace(/<\/?[^>]*>/g,"").trim().substring(0,OPT.readMoreLength);let t={id:S,title:n,img:i,link:a,createDate:s,category:o,tags:u,contentMD:p,contentHtml:f,contentText:y,priority:d,changefreq:w};await c(S,JSON.stringify(t));let e={id:S,title:n,img:i,link:a,createDate:s,category:o,tags:u,contentText:y,priority:d,changefreq:w},h=await l("SYSTEM_INDEX_LIST",!0);for(r=0;r":">",'"':""","'":"'","/":"/","`":"`","=":"="},c=/\s*/,u=/\s+/,g=/\s*=/,p=/\s*\}/,h=/#|\^|\/|>|\{|&|=|!/;function f(t){this.string=t,this.tail=t,this.pos=0}function d(t,e){this.view=t,this.cache={".":this.view},this.parent=e}function w(){this.templateCache={_cache:{},set:function(t,e){this._cache[t]=e},get:function(t){return this._cache[t]},clear:function(){this._cache={}}}}f.prototype.eos=function(){return""===this.tail},f.prototype.scan=function(t){var e=this.tail.match(t);if(!e||0!==e.index)return"";var r=e[0];return this.tail=this.tail.substring(r.length),this.pos+=r.length,r},f.prototype.scanUntil=function(t){var e,r=this.tail.search(t);switch(r){case-1:e=this.tail,this.tail="";break;case 0:e="";break;default:e=this.tail.substring(0,r),this.tail=this.tail.substring(r)}return this.pos+=e.length,e},d.prototype.push=function(t){return new d(t,this)},d.prototype.lookup=function(t){var e,n,a,s=this.cache;if(s.hasOwnProperty(t))e=s[t];else{for(var o,l,c,u=this,g=!1;u;){if(t.indexOf(".")>0)for(o=u.view,l=t.split("."),c=0;null!=o&&c0?i[i.length-1][4]:r;break;default:n.push(e)}return r}(function(t){for(var e,r,n=[],i=0,a=t.length;i"===s?o=this.renderPartial(a,e,r,i):"&"===s?o=this.unescapedValue(a,e):"name"===s?o=this.escapedValue(a,e,i):"text"===s&&(o=this.rawValue(a)),void 0!==o&&(l+=o);return l},w.prototype.renderSection=function(t,n,i,a,s){var o=this,l="",c=n.lookup(t[1]);if(c){if(e(c))for(var u=0,g=c.length;u0||!r)&&(i[a]=n+i[a]);return i.join("\n")},w.prototype.renderPartial=function(t,e,n,i){if(n){var a=this.getConfigTags(i),s=r(n)?n(t[1]):n[t[1]];if(null!=s){var o=t[6],l=t[5],c=t[4],u=s;0==l&&c&&(u=this.indentPartial(s,c,o));var g=this.parse(u,a);return this.renderTokens(g,e,n,u,i)}}},w.prototype.unescapedValue=function(t,e){var r=e.lookup(t[1]);if(null!=r)return r},w.prototype.escapedValue=function(t,e,r){var n=this.getConfigEscape(r)||y.escape,i=e.lookup(t[1]);if(null!=i)return"number"==typeof i&&n===y.escape?String(i):n(i)},w.prototype.rawValue=function(t){return t[1]},w.prototype.getConfigTags=function(t){return e(t)?t:t&&"object"==typeof t?t.tags:void 0},w.prototype.getConfigEscape=function(t){return t&&"object"==typeof t&&!e(t)?t.escape:void 0};var y={name:"mustache.js",version:"4.1.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(t){S.templateCache=t},get templateCache(){return S.templateCache}},S=new w;return y.clearCache=function(){return S.clearCache()},y.parse=function(t,e){return S.parse(t,e)},y.render=function(t,r,n,i){if("string"!=typeof t)throw new TypeError('Invalid template! Template should be a "string" but "'+(e(a=t)?"array":typeof a)+'" was given as the first argument for mustache#render(template, view, partials)');var a;return S.render(t,r,n,i)},y.escape=function(t){return String(t).replace(/[&<>"'`=\/]/g,(function(t){return l[t]}))},y.Scanner=f,y.Context=d,y.Writer=w,y}()}]);