hexo-adsense 1.0.26 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/LICENSE +0 -0
- package/dist/index.cjs +757 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +740 -0
- package/dist/index.mjs +740 -0
- package/dist/source/adblock.css +2 -0
- package/{lib → dist}/source/adblock.js +0 -0
- package/{lib → dist}/source/article-ads.css +0 -0
- package/dist/source/article-ads.js +1 -0
- package/{lib/source/article-ads.js → dist/source/article-ads.old.js} +0 -0
- package/{lib → dist}/source/blogger-redirect.html +0 -0
- package/{lib → dist}/source/https.js +0 -0
- package/{lib → dist}/source/in_article_ads_test.html +0 -0
- package/package.json +122 -37
- package/{README.md → readme.md} +29 -11
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -85
- package/lib/packages/hexo-cli-extras/lib/env.d.ts +0 -3
- package/lib/packages/hexo-cli-extras/lib/env.js +0 -49
- package/lib/packages/hexo-extend-injector2/index.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/index.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -64
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -28
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -32
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -8
- package/lib/packages/hexo-extend-injector2/lib/default-config.d.ts +0 -39
- package/lib/packages/hexo-extend-injector2/lib/default-config.js +0 -46
- package/lib/packages/hexo-extend-injector2/lib/filter.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/filter.js +0 -22
- package/lib/packages/hexo-extend-injector2/lib/helper/injector.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/helper/injector.js +0 -5
- package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/injector.d.ts +0 -29
- package/lib/packages/hexo-extend-injector2/lib/injector.js +0 -125
- package/lib/packages/hexo-extend-injector2/lib/load.d.ts +0 -3
- package/lib/packages/hexo-extend-injector2/lib/load.js +0 -37
- package/lib/packages/hexo-extend-injector2/lib/next-point.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/next-point.js +0 -18
- package/lib/packages/hexo-extend-injector2/lib/next.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/next.js +0 -99
- package/lib/packages/hexo-extend-injector2/lib/order.d.ts +0 -5
- package/lib/packages/hexo-extend-injector2/lib/order.js +0 -8
- package/lib/source/adblock.css +0 -2
- package/lib/src/article-ads.d.ts +0 -20
- package/lib/src/article-ads.js +0 -304
- package/lib/src/checkLocalHost.d.ts +0 -10
- package/lib/src/checkLocalHost.js +0 -37
- package/lib/src/config.d.ts +0 -13
- package/lib/src/config.js +0 -42
- package/lib/src/html-parser.d.ts +0 -9
- package/lib/src/html-parser.js +0 -26
- package/lib/src/log.d.ts +0 -1
- package/lib/src/log.js +0 -11
- package/lib/src/logger.d.ts +0 -3
- package/lib/src/logger.js +0 -25
- package/lib/src/md5.d.ts +0 -2
- package/lib/src/md5.js +0 -165
- package/lib/src/safestringify.d.ts +0 -2
- package/lib/src/safestringify.js +0 -125
- package/lib/src/utils.d.ts +0 -31
- package/lib/src/utils.js +0 -159
- package/lib/src/versionParser.d.ts +0 -27
- package/lib/src/versionParser.js +0 -40
- package/packages/hexo-cli-extras/.eslintrc +0 -13
- package/packages/hexo-cli-extras/LICENSE.md +0 -20
- package/packages/hexo-cli-extras/README.md +0 -146
- package/packages/hexo-cli-extras/docs/basic.gif +0 -0
- package/packages/hexo-cli-extras/docs/gui.gif +0 -0
- package/packages/hexo-cli-extras/docs/remove.png +0 -0
- package/packages/hexo-cli-extras/docs/rename.png +0 -0
- package/packages/hexo-cli-extras/index.js +0 -48
- package/packages/hexo-cli-extras/lib/edit.js +0 -209
- package/packages/hexo-cli-extras/lib/env.js +0 -52
- package/packages/hexo-cli-extras/lib/extensions.js +0 -23
- package/packages/hexo-cli-extras/lib/integrate.js +0 -87
- package/packages/hexo-cli-extras/lib/isolate.js +0 -179
- package/packages/hexo-cli-extras/lib/remove.js +0 -145
- package/packages/hexo-cli-extras/lib/rename.js +0 -171
- package/packages/hexo-cli-extras/package.json +0 -34
- package/packages/hexo-extend-injector2/.eslintrc +0 -4
- package/packages/hexo-extend-injector2/.github/workflows/linter.yml +0 -27
- package/packages/hexo-extend-injector2/.github/workflows/tester.yml +0 -24
- package/packages/hexo-extend-injector2/.vscode/settings.json +0 -10
- package/packages/hexo-extend-injector2/LICENSE +0 -165
- package/packages/hexo-extend-injector2/README-ZH.md +0 -189
- package/packages/hexo-extend-injector2/README.md +0 -191
- package/packages/hexo-extend-injector2/USAGE.md +0 -38
- package/packages/hexo-extend-injector2/index.js +0 -14
- package/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -79
- package/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -13
- package/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -29
- package/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -42
- package/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -10
- package/packages/hexo-extend-injector2/lib/default-config.js +0 -52
- package/packages/hexo-extend-injector2/lib/filter.js +0 -24
- package/packages/hexo-extend-injector2/lib/helper/injector.js +0 -6
- package/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -14
- package/packages/hexo-extend-injector2/lib/injector.js +0 -128
- package/packages/hexo-extend-injector2/lib/load.js +0 -45
- package/packages/hexo-extend-injector2/lib/next-point.js +0 -19
- package/packages/hexo-extend-injector2/lib/next.js +0 -87
- package/packages/hexo-extend-injector2/lib/order.js +0 -9
- package/packages/hexo-extend-injector2/package.json +0 -49
- package/packages/hexo-extend-injector2/renovate.json +0 -6
- package/packages/hexo-extend-injector2/test/.eslintrc +0 -3
- package/packages/hexo-extend-injector2/test/index.js +0 -18
- package/packages/hexo-extend-injector2/test/lib/bundle/bundle-css.js +0 -86
- package/packages/hexo-extend-injector2/test/lib/bundle/bundle-js.js +0 -36
- package/packages/hexo-extend-injector2/test/lib/bundle/test.css +0 -3
- package/packages/hexo-extend-injector2/test/lib/bundle/test.js +0 -5
- package/packages/hexo-extend-injector2/test/lib/helper/injector.js +0 -45
- package/packages/hexo-extend-injector2/test/lib/helper/next-inject.js +0 -69
- package/packages/hexo-extend-injector2/test/lib/hexo-compatible.js +0 -250
- package/packages/hexo-extend-injector2/test/lib/hexo-injector.js +0 -37
- package/packages/hexo-extend-injector2/test/lib/injector.js +0 -93
- package/packages/memoize/CHANGELOG.md +0 -82
- package/packages/memoize/CHANGES +0 -124
- package/packages/memoize/LICENSE +0 -15
- package/packages/memoize/README.md +0 -503
- package/packages/memoize/ext/async.js +0 -154
- package/packages/memoize/ext/dispose.js +0 -33
- package/packages/memoize/ext/max-age.js +0 -90
- package/packages/memoize/ext/max.js +0 -27
- package/packages/memoize/ext/promise.js +0 -147
- package/packages/memoize/ext/ref-counter.js +0 -48
- package/packages/memoize/index.js +0 -34
- package/packages/memoize/lib/configure-map.js +0 -182
- package/packages/memoize/lib/methods.js +0 -32
- package/packages/memoize/lib/registered-extensions.js +0 -1
- package/packages/memoize/lib/resolve-length.js +0 -15
- package/packages/memoize/lib/resolve-normalize.js +0 -17
- package/packages/memoize/lib/resolve-resolve.js +0 -21
- package/packages/memoize/lib/weak.js +0 -134
- package/packages/memoize/methods-plain.js +0 -3
- package/packages/memoize/methods.js +0 -3
- package/packages/memoize/normalizers/get-1.js +0 -29
- package/packages/memoize/normalizers/get-fixed.js +0 -71
- package/packages/memoize/normalizers/get-primitive-fixed.js +0 -16
- package/packages/memoize/normalizers/get.js +0 -90
- package/packages/memoize/normalizers/primitive.js +0 -9
- package/packages/memoize/package.json +0 -60
- package/packages/memoize/plain.js +0 -37
- package/packages/memoize/profile.js +0 -107
- package/packages/memoize/repository.md +0 -1
- package/packages/memoize/weak-plain.js +0 -3
- package/packages/memoize/weak.js +0 -3
- package/unused.md +0 -12
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#levelmaxblock{background:rgba(20,20,20,.39);position:fixed;margin:auto;left:0;right:0;top:0;bottom:0;overflow:auto;z-index:999999}#levelmaxblock .header{margin:0 0 15px 0}#levelmaxblock .header h2{color:#222;font-size:1.5rem}#levelmaxblock .inner{background:#fff;color:#222;box-shadow:0 0 2rem -1rem rgba(0,0,0,.5);text-align:center;width:100%;max-width:640px;padding:30px;margin:7% auto 2% auto;animation:fadeInDown 1s}#levelmaxblock button{padding:10px 20px;border:0;background:#fff;color:#e74c3c;margin:20px 5px;cursor:pointer;border-radius:3px;font-size:13px;font-weight:600;border:2px solid #e74c3c;transition:initial}#levelmaxblock button:hover{background:#2c3e50;color:#fff;outline:0;border-color:#2c3e50}#levelmaxblock button.active,#levelmaxblock button:hover.active{background:#e74c3c;color:#fff;border-color:#e74c3c;outline:0}#levelmaxblock .caranya{background:#fff;text-align:left;color:#000;padding:20px;height:250px;overflow:auto;line-height:30px;border:1px solid rgba(0,0,0,.05)}#levelmaxblock .caranya div{display:none}#levelmaxblock .caranya div.active{display:block;animation:fadeInUp .5s}#levelmaxblock ol{margin-left:20px}@media (max-width:768px){#levelmaxblock .inner{width:calc(100% - 20px);margin:10px auto;padding:15px}}
|
|
2
|
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFkYmxvY2suY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGVBQ0UsV0FBQSxtQkFDQSxTQUFBLE1BQ0EsT0FBQSxLQUNBLEtBQUEsRUFDQSxNQUFBLEVBQ0EsSUFBQSxFQUNBLE9BQUEsRUFDQSxTQUFBLEtBQ0EsUUFBQSxPQUVGLHVCQUNFLE9BQUEsRUFBQSxFQUFBLEtBQUEsRUFFRiwwQkFDRSxNQUFBLEtBQ0EsVUFBQSxPQUVGLHNCQUNFLFdBQUEsS0FDQSxNQUFBLEtBQ0EsV0FBQSxFQUFBLEVBQUEsS0FBQSxNQUFBLGVBQ0EsV0FBQSxPQUNBLE1BQUEsS0FDQSxVQUFBLE1BQ0EsUUFBQSxLQUNBLE9BQUEsR0FBQSxLQUFBLEdBQUEsS0FDQSxVQUFBLFdBQUEsR0FFRixzQkFDRSxRQUFBLEtBQUEsS0FDQSxPQUFBLEVBQ0EsV0FBQSxLQUNBLE1BQUEsUUFDQSxPQUFBLEtBQUEsSUFDQSxPQUFBLFFBQ0EsY0FBQSxJQUNBLFVBQUEsS0FDQSxZQUFBLElBQ0EsT0FBQSxJQUFBLE1BQUEsUUFDQSxXQUFBLFFBRUYsNEJBQ0UsV0FBQSxRQUNBLE1BQUEsS0FDQSxRQUFBLEVBQ0EsYUFBQSxRQUVGLDZCQUNBLG1DQUNFLFdBQUEsUUFDQSxNQUFBLEtBQ0EsYUFBQSxRQUNBLFFBQUEsRUFFRix3QkFDRSxXQUFBLEtBQ0EsV0FBQSxLQUNBLE1BQUEsS0FDQSxRQUFBLEtBQ0EsT0FBQSxNQUNBLFNBQUEsS0FDQSxZQUFBLEtBQ0EsT0FBQSxJQUFBLE1BQUEsZ0JBRUYsNEJBQ0UsUUFBQSxLQUVGLG1DQUNFLFFBQUEsTUFDQSxVQUFBLFNBQUEsSUFFRixrQkFDRSxZQUFBLEtBRUYseUJBQ0Usc0JBQ0UsTUFBQSxrQkFDQSxPQUFBLEtBQUEsS0FDQSxRQUFBIiwiZmlsZSI6ImFkYmxvY2suY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQWRibG9jayAqL1xuI2xldmVsbWF4YmxvY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuMzkpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1hcmdpbjogYXV0bztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgei1pbmRleDogOTk5OTk5O1xufVxuI2xldmVsbWF4YmxvY2sgLmhlYWRlciB7XG4gIG1hcmdpbjogMCAwIDE1cHggMDtcbn1cbiNsZXZlbG1heGJsb2NrIC5oZWFkZXIgaDIge1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG4jbGV2ZWxtYXhibG9jayAuaW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzIyMjtcbiAgYm94LXNoYWRvdzogMCAwIDJyZW0gLTFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXJnaW46IDclIGF1dG8gMiUgYXV0bztcbiAgYW5pbWF0aW9uOiBmYWRlSW5Eb3duIDFzO1xufVxuI2xldmVsbWF4YmxvY2sgYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjZTc0YzNjO1xuICBtYXJnaW46IDIwcHggNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTc0YzNjO1xuICB0cmFuc2l0aW9uOiBpbml0aWFsO1xufVxuI2xldmVsbWF4YmxvY2sgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzJjM2U1MDtcbiAgY29sb3I6ICNmZmY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzJjM2U1MDtcbn1cbiNsZXZlbG1heGJsb2NrIGJ1dHRvbi5hY3RpdmUsXG4jbGV2ZWxtYXhibG9jayBidXR0b246aG92ZXIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2U3NGMzYztcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2U3NGMzYztcbiAgb3V0bGluZTogbm9uZTtcbn1cbiNsZXZlbG1heGJsb2NrIC5jYXJhbnlhIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbiNsZXZlbG1heGJsb2NrIC5jYXJhbnlhIGRpdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jbGV2ZWxtYXhibG9jayAuY2FyYW55YSBkaXYuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFuaW1hdGlvbjogZmFkZUluVXAgMC41cztcbn1cbiNsZXZlbG1heGJsb2NrIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2xldmVsbWF4YmxvY2sgLmlubmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxufVxuIl19 */
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const isBrowser=new Function("try {return this===window;}catch(e){ return false;}"),hexoAdsenseConfig=JSON.parse(document.getElementById("hexo-adsense-config").textContent);function insertAfter(e,t){if(t&&e){let n=t.parentNode;n.lastChild==t?n.appendChild(e):n.insertBefore(e,t.nextSibling)}else console.error("cannot insert element")}function replaceWith(e,t){if(t.parentNode)t.parentNode.replaceChild(e,t);else{console.log(t,"parent null"),document.createElement("div").appendChild(t)}}let createElementFromHTML=function(e){if(e instanceof HTMLElement)return e;var t=document.createElement("div");return t.innerHTML=e.trim(),t.firstChild};function ranumb(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function newMethod(){const e=document.getElementById("hexo-adsense-hidden");let t=e.querySelectorAll('[hexo-adsense="ads-content"]'),n=document.querySelectorAll("article");if(n.length>0&&t.length>0){let o;if(1==n.length){console.log("webpage is post");let l=n.item(0);const r=l.querySelectorAll("*[hexo-adsense-fill]");if(r.length>0)for(let e=0;e<r.length;e++){const n=r[e];void 0!==t[e]&&n.appendChild(t[e])}if(t=e.querySelectorAll('[hexo-adsense="ads-content"]'),t.length>0){const e=l.querySelectorAll("h1,h2,h3,h4,h5,h6,pre");if(e.length>0){let n=Array.apply(null,{length:e.length}).map(Number.call,Number);for(let l=0;l<t.length;l++){o=t[l];const r=shuffleArr2(n).next().value;if("number"==typeof r){const t=e.item(r);insertAfter(createElementFromHTML(o),t)}}}}if(t=e.querySelectorAll('[hexo-adsense="ads-content"]'),t.length>0){const e=l.querySelectorAll("br,hr");if(e.length>0){const n=shuffleArr2(Array.apply(null,{length:e.length}).map(Number.call,Number));for(let l=0;l<t.length;l++){o=t[l];const r=n.next().value;if("number"==typeof r){const t=e.item(r);if(["blockquote","img","a","pre","code","em","strong","i","u"].includes(t.parentNode.tagName.toLowerCase())){l--;continue}replaceWith(createElementFromHTML(o),t)}}}}}else{console.log("webpage is not post"),n.length||(n=document.querySelectorAll('[class*="recent-post-item"]'));const e=shuffleArr2(Array.apply(null,{length:n.length}).map(Number.call,Number));for(let l=0;l<t.length;l++){o=t[l];const r=e.next().value;if("number"==typeof r){n.item(r).appendChild(createElementFromHTML(o))}}}adsensePush()}}function shuffleArr(e){for(var t,n=e.length,o=0;n--;)o=Math.floor(Math.random()*(n+1)),t=e[n],e[n]=e[o],e[o]=t;return e}function*shuffleArr2(e){for(var t=e.length;t--;)yield e.splice(Math.floor(Math.random()*(t+1)),1)[0]}function adsensePush(){for(let e=0;e<document.querySelectorAll('[hexo-adsense="ads-content"]').length;e++)(adsbygoogle=window.adsbygoogle||[]).push({google_ad_client:hexoAdsenseConfig.pub})}isBrowser()?(window.__tcfapi=(e,t,n)=>{"checkConsent"===e&&n(!0),"addEventListener"===e&&n({eventStatus:"tcloaded",gdprApplies:!1},!0)},"function"==typeof document.addEventListener?document.addEventListener("DOMContentLoaded",newMethod):"function"==typeof window.attachEvent?window.attachEvent("onload",newMethod):window.onload=newMethod):module.exports={replaceWith:replaceWith,insertAfter:insertAfter};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,19 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hexo-adsense",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Hexo adsense support",
|
|
5
|
-
"main": "
|
|
6
|
-
"types": "
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"module": "dist/index.mjs",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"require": {
|
|
11
|
+
"default": "./dist/index.cjs",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"import": {
|
|
15
|
+
"default": "./dist/index.mjs",
|
|
16
|
+
"types": "./dist/index.d.mts"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"type": "module",
|
|
7
21
|
"scripts": {
|
|
8
22
|
"lint": "eslint --ext .js,.jsx,.ts,.d.ts,.tsx ./",
|
|
9
23
|
"lint:fix": "eslint --fix --ext .js,.jsx,.ts,.d.ts,.tsx ./",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
24
|
+
"build": "tsc -b tsconfig.build.json && rollup -c && gulp",
|
|
25
|
+
"clean": "rimraf -rf dist tmp && npm run build",
|
|
26
|
+
"update": "npx npm-check-updates -u -x hexo,chalk",
|
|
27
|
+
"patch": "npm version patch",
|
|
28
|
+
"minor": "npm version minor",
|
|
29
|
+
"major": "npm version major",
|
|
30
|
+
"prepare": "husky",
|
|
31
|
+
"prepack": "node package-switch.cjs production",
|
|
32
|
+
"pack": "node packer.cjs --yarn",
|
|
33
|
+
"clone:docs": "git clone https://github.com/dimaslanjaka/docs.git .deploy_git"
|
|
12
34
|
},
|
|
13
35
|
"files": [
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
36
|
+
"dist/"
|
|
37
|
+
],
|
|
38
|
+
"workspaces": [
|
|
39
|
+
"test/demo"
|
|
17
40
|
],
|
|
18
41
|
"keywords": [
|
|
19
42
|
"hexo",
|
|
@@ -21,6 +44,7 @@
|
|
|
21
44
|
"adsense",
|
|
22
45
|
"in-article-ads"
|
|
23
46
|
],
|
|
47
|
+
"homepage": "https://www.webmanajemen.com/docs/hexo-adsense",
|
|
24
48
|
"author": {
|
|
25
49
|
"name": "Dimas Lanjaka",
|
|
26
50
|
"email": "dimaslanjaka@gmail.com",
|
|
@@ -29,42 +53,103 @@
|
|
|
29
53
|
"license": "ISC",
|
|
30
54
|
"repository": "dimaslanjaka/hexo-adsense",
|
|
31
55
|
"dependencies": {
|
|
56
|
+
"ansi-colors": "^4.1.3",
|
|
32
57
|
"bluebird": "^3.7.2",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"hexo-
|
|
36
|
-
"hexo-
|
|
37
|
-
"hexo-log": "^
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
58
|
+
"fs-extra": "^11.2.0",
|
|
59
|
+
"glob": "^11.0.0",
|
|
60
|
+
"hexo-fs": "^4.1.3",
|
|
61
|
+
"hexo-is": "^2.0.1",
|
|
62
|
+
"hexo-log": "^4.1.0",
|
|
63
|
+
"hexo-util": "^3.3.0",
|
|
64
|
+
"jsdom": "^25.0.1",
|
|
65
|
+
"lodash": "^4.17.21",
|
|
66
|
+
"minimatch": "^10.0.1",
|
|
67
|
+
"minimist": "^1.2.8",
|
|
68
|
+
"moment": "^2.30.1",
|
|
69
|
+
"node-html-parser": "^6.1.13",
|
|
42
70
|
"object-assign": "^4.1.1",
|
|
43
|
-
"
|
|
71
|
+
"prettier": "^3.3.3",
|
|
72
|
+
"sbg-utility": "^2.0.5",
|
|
73
|
+
"terser": "^5.36.0",
|
|
74
|
+
"underscore": "^1.13.7"
|
|
44
75
|
},
|
|
45
76
|
"devDependencies": {
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"eslint": "^
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
77
|
+
"@babel/core": "^7.26.0",
|
|
78
|
+
"@babel/preset-env": "^7.26.0",
|
|
79
|
+
"@babel/preset-typescript": "^7.26.0",
|
|
80
|
+
"@eslint/eslintrc": "^3.1.0",
|
|
81
|
+
"@eslint/js": "^9.13.0",
|
|
82
|
+
"@rollup/plugin-babel": "^6.0.4",
|
|
83
|
+
"@rollup/plugin-commonjs": "^28.0.1",
|
|
84
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
85
|
+
"@rollup/plugin-node-resolve": "^15.3.0",
|
|
86
|
+
"@rollup/plugin-typescript": "^12.1.1",
|
|
87
|
+
"@types/babel__core": "^7",
|
|
88
|
+
"@types/babel__preset-env": "^7",
|
|
89
|
+
"@types/bluebird": "^3",
|
|
90
|
+
"@types/fs-extra": "^11",
|
|
91
|
+
"@types/gulp": "^4.0.17",
|
|
92
|
+
"@types/gulp-sourcemaps": "^0.0.38",
|
|
93
|
+
"@types/jsdom": "^21.1.7",
|
|
94
|
+
"@types/lodash": "^4",
|
|
95
|
+
"@types/minimist": "^1",
|
|
96
|
+
"@types/node": "^22.8.1",
|
|
97
|
+
"@types/object-assign": "^4",
|
|
98
|
+
"@types/underscore": "^1",
|
|
99
|
+
"@typescript-eslint/eslint-plugin": "^8.11.0",
|
|
100
|
+
"@typescript-eslint/parser": "^8.11.0",
|
|
101
|
+
"cross-spawn": "^7.0.3",
|
|
102
|
+
"eslint": "^9.13.0",
|
|
103
|
+
"eslint-config-prettier": "^9.1.0",
|
|
104
|
+
"eslint-plugin-import": "^2.31.0",
|
|
105
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
106
|
+
"git-command-helper": "^2.0.2",
|
|
107
|
+
"globals": "^15.11.0",
|
|
108
|
+
"gulp": "^5.0.0",
|
|
109
|
+
"gulp-autoprefixer": "^9.0.0",
|
|
56
110
|
"gulp-clean-css": "^4.3.0",
|
|
57
|
-
"gulp-html-minifier-terser": "^
|
|
111
|
+
"gulp-html-minifier-terser": "^7.1.0",
|
|
58
112
|
"gulp-sourcemaps": "^3.0.0",
|
|
59
113
|
"gulp-terser": "^2.1.0",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
114
|
+
"hexo": "^7.3.0",
|
|
115
|
+
"hexo-server": "^3.0.0",
|
|
116
|
+
"husky": "^9.1.6",
|
|
117
|
+
"lint-staged": "^15.2.10",
|
|
118
|
+
"nodemon": "^3.1.7",
|
|
119
|
+
"rimraf": "^6.0.1",
|
|
120
|
+
"rollup": "4.24.0",
|
|
121
|
+
"rollup-plugin-dts": "^6.1.1",
|
|
122
|
+
"ts-node": "^10.9.2",
|
|
123
|
+
"typescript": "^5.6.3"
|
|
64
124
|
},
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
"
|
|
125
|
+
"packageManager": "yarn@4.5.1",
|
|
126
|
+
"resolutions": {
|
|
127
|
+
"@types/git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/pre-release/release/git-command-helper.tgz",
|
|
128
|
+
"@types/hexo": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo.tgz",
|
|
129
|
+
"binary-collections": "https://github.com/dimaslanjaka/bin/raw/fcd1121/releases/bin.tgz",
|
|
130
|
+
"cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/private/release/cross-spawn.tgz",
|
|
131
|
+
"git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/pre-release/release/git-command-helper.tgz",
|
|
132
|
+
"hexo": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo.tgz",
|
|
133
|
+
"hexo-asset-link": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo-asset-link.tgz",
|
|
134
|
+
"hexo-cli": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo-cli.tgz",
|
|
135
|
+
"hexo-front-matter": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo-front-matter.tgz",
|
|
136
|
+
"hexo-generator-redirect": "https://github.com/dimaslanjaka/hexo-generator-redirect/raw/0885394/release/hexo-generator-redirect.tgz",
|
|
137
|
+
"hexo-is": "https://github.com/dimaslanjaka/hexo-is/raw/master/release/hexo-is.tgz",
|
|
138
|
+
"hexo-log": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo-log.tgz",
|
|
139
|
+
"hexo-post-parser": "https://github.com/dimaslanjaka/hexo-post-parser/raw/d9f3a9ba3585188dfb30159ff588b709f0238326/release/hexo-post-parser.tgz",
|
|
140
|
+
"hexo-renderers": "https://github.com/dimaslanjaka/hexo-renderers/raw/0534154ea2bbc4a06fe347861e8ebfc7a722c10f/release/hexo-renderers.tgz",
|
|
141
|
+
"hexo-seo": "https://github.com/dimaslanjaka/hexo-seo/raw/7729b4246934d7319c4bcacbbe01a3748b5f5056/release/hexo-seo.tgz",
|
|
142
|
+
"hexo-server": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo-server.tgz",
|
|
143
|
+
"hexo-shortcodes": "https://github.com/dimaslanjaka/hexo-shortcodes/raw/f70a1c0/release/hexo-shortcodes.tgz",
|
|
144
|
+
"hexo-util": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/hexo-util.tgz",
|
|
145
|
+
"instant-indexing": "https://github.com/dimaslanjaka/static-blog-generator/raw/master/packages/instant-indexing/release/instant-indexing.tgz",
|
|
146
|
+
"markdown-it": "https://github.com/dimaslanjaka/markdown-it/raw/17ccc825cbb3e4c6d59edada5f6d93f27075d752/release/markdown-it.tgz",
|
|
147
|
+
"nodejs-package-types": "https://github.com/dimaslanjaka/nodejs-package-types/raw/a2e797bc27975cba20ef4c87547841e6341bfcf4/release/nodejs-package-types.tgz",
|
|
148
|
+
"sbg-api": "https://github.com/dimaslanjaka/static-blog-generator/raw/74a402210be05e3452a386f90b80521e1182a724/packages/sbg-api/release/sbg-api.tgz",
|
|
149
|
+
"sbg-cli": "https://github.com/dimaslanjaka/static-blog-generator/raw/0164b0d2e4ba5453890af8ec4863b2a09e043815/packages/sbg-cli/release/sbg-cli.tgz",
|
|
150
|
+
"sbg-server": "https://github.com/dimaslanjaka/static-blog-generator/raw/master/packages/sbg-server/release/sbg-server.tgz",
|
|
151
|
+
"sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/c7e82cae850b9fd6c1829ff6d30ef3ee8987019b/packages/sbg-utility/release/sbg-utility.tgz",
|
|
152
|
+
"static-blog-generator": "https://github.com/dimaslanjaka/static-blog-generator/raw/master/packages/static-blog-generator/release/static-blog-generator.tgz",
|
|
153
|
+
"warehouse": "https://github.com/dimaslanjaka/hexo/raw/monorepo-v7/releases/warehouse.tgz"
|
|
69
154
|
}
|
|
70
155
|
}
|
package/{README.md → readme.md}
RENAMED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
# hexo-adsense
|
|
2
2
|
Hexo adsense support
|
|
3
3
|
|
|
4
|
-
> first development finished on 12 November 2021
|
|
5
|
-
|
|
6
4
|
# Features
|
|
7
5
|
- can display adsense to all pages except specific posts or pages (multiple supported)
|
|
8
6
|
- can only display adsense to specific posts or pages
|
|
9
7
|
- adsense javascript enchantments (lazy adsense included)
|
|
10
8
|
- support display adsense on localhost
|
|
9
|
+
- random display banner ads
|
|
10
|
+
- automated display in random positions of pseudo html elements (such as headers (`</h[n]>`), new line `<br/>`, after pretext `<pre/>`) useful for increasing **RPM** and **CTR** Adsense Prices.
|
|
11
|
+
|
|
12
|
+
# Demos
|
|
13
|
+
- [My Blog www.webmanajemen.com](https://www.webmanajemen.com/NodeJS/eslint-prettier-typescript-vscode.html)
|
|
14
|
+
|
|
15
|
+
try reload page
|
|
11
16
|
|
|
12
17
|
# Installation
|
|
13
18
|
Using Git Repository (Development)
|
|
@@ -20,18 +25,22 @@ npm i hexo-adsense
|
|
|
20
25
|
```
|
|
21
26
|
|
|
22
27
|
### _config.yml
|
|
28
|
+
|
|
23
29
|
```yaml
|
|
30
|
+
# https://github.com/dimaslanjaka/hexo-adsense
|
|
24
31
|
adsense:
|
|
25
32
|
# enable(true) or disable(false)
|
|
26
33
|
enable: true
|
|
27
34
|
# ca-pub-xxxx
|
|
28
|
-
pub: ca-pub-
|
|
29
|
-
# in-article
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
pub: ca-pub-01234567989xx
|
|
36
|
+
# enable in-article
|
|
37
|
+
# boolean = by scanning source_dir/_data/hexo-adsense/*.html
|
|
38
|
+
# array of files = only read spesific html files
|
|
39
|
+
article_ads: true
|
|
33
40
|
# ads field
|
|
34
|
-
|
|
41
|
+
# post = only post
|
|
42
|
+
# site = all pages and posts
|
|
43
|
+
field: "site"
|
|
35
44
|
# auto redirect to https
|
|
36
45
|
https: true
|
|
37
46
|
# block user with adblock enabled
|
|
@@ -106,23 +115,32 @@ tags:
|
|
|
106
115
|
- tags2
|
|
107
116
|
```
|
|
108
117
|
|
|
118
|
+
## Footnote
|
|
119
|
+
first development finished on 12 November 2021
|
|
120
|
+
|
|
109
121
|
# Website using Hexo NodeJS Blogging System
|
|
110
122
|
|
|
111
|
-
[](https://github.com/dimaslanjaka/static-blog-generator-hexo/actions/workflows/test.yml)
|
|
112
124
|
[](https://github.com/dimaslanjaka/dimaslanjaka.github.io/tree/compiler)
|
|
113
|
-
[](https://webmanajemen.com)
|
|
114
126
|
|
|
115
127
|
## hexo-adsense
|
|
116
128
|
[](https://badge.fury.io/js/hexo-adsense)
|
|
117
129
|
[](https://npmjs.com/package/hexo-adsense)
|
|
118
130
|
[](https://npmjs.com/package/hexo-adsense)
|
|
131
|
+

|
|
132
|
+

|
|
119
133
|
|
|
120
134
|
## hexo-seo
|
|
121
135
|
[](https://badge.fury.io/js/hexo-seo)
|
|
122
136
|
[](https://npmjs.com/package/hexo-seo)
|
|
123
137
|
[](https://npmjs.com/package/hexo-seo)
|
|
138
|
+

|
|
139
|
+

|
|
124
140
|
|
|
125
141
|
## hexo-blogger-xml
|
|
126
142
|
[](https://badge.fury.io/js/hexo-blogger-xml)
|
|
127
143
|
[](https://npmjs.com/package/hexo-blogger-xml)
|
|
128
|
-
[](https://npmjs.com/package/hexo-blogger-xml)
|
|
144
|
+
[](https://npmjs.com/package/hexo-blogger-xml)
|
|
145
|
+

|
|
146
|
+

|
package/lib/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/index.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/* global hexo */
|
|
2
|
-
"use strict";
|
|
3
|
-
var injector2 = require("./packages/hexo-extend-injector2/index");
|
|
4
|
-
var fs = require("fs");
|
|
5
|
-
var path = require("path");
|
|
6
|
-
var getConfig = require("./src/config");
|
|
7
|
-
var isDevelopment = require("./src/config")(hexo).development;
|
|
8
|
-
var assign = require("object-assign");
|
|
9
|
-
var log = require("hexo-log")({
|
|
10
|
-
debug: false,
|
|
11
|
-
silent: false
|
|
12
|
-
});
|
|
13
|
-
if (typeof hexo == "undefined" || typeof hexo.config.adsense == "undefined") {
|
|
14
|
-
//console.log("[hexo-adsense] Not hexo process, skipping..");
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
var injector = injector2(hexo); // will make it as plugin
|
|
18
|
-
var config = getConfig(hexo);
|
|
19
|
-
if (config.pub.length < 1) {
|
|
20
|
-
log.error("adsense ca-pub (adsense.pub) not configured in _config.yml");
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
// only apply these function on production
|
|
24
|
-
if (!isDevelopment) {
|
|
25
|
-
//log.debug("is remote");
|
|
26
|
-
// add redirect https
|
|
27
|
-
if (typeof config.https == "boolean") {
|
|
28
|
-
if (config.https) {
|
|
29
|
-
injector.register("body-end", function () {
|
|
30
|
-
var https_js = fs.readFileSync(path.join(__dirname, "source/https.js")).toString();
|
|
31
|
-
return "<script>" + https_js + "</script>";
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
// add adblock blocker
|
|
36
|
-
if (typeof config.adblock == "boolean") {
|
|
37
|
-
if (config.adblock) {
|
|
38
|
-
var adblock_css_1 = fs.readFileSync(path.join(__dirname, "source/adblock.css")).toString();
|
|
39
|
-
var adblock_js_1 = fs.readFileSync(path.join(__dirname, "source/adblock.js")).toString();
|
|
40
|
-
injector.register("body-end", function () {
|
|
41
|
-
return "<style>" + adblock_css_1 + "</style><script>" + adblock_js_1 + "</script>";
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
injector.register("head_end", function () {
|
|
47
|
-
var adsenseConfigObject;
|
|
48
|
-
if (isDevelopment) {
|
|
49
|
-
adsenseConfigObject = JSON.stringify(assign(config, hexo.env), null, 2);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
adsenseConfigObject = JSON.stringify(assign(config, hexo.env));
|
|
53
|
-
}
|
|
54
|
-
return "<script id=\"hexo-adsense-config\" type=\"application/json\">" + adsenseConfigObject + "</script>";
|
|
55
|
-
});
|
|
56
|
-
if (config.enable) {
|
|
57
|
-
// adsense enabled to all pages
|
|
58
|
-
injector.register("head-end", {
|
|
59
|
-
value: "<script async src=\"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1165447249910969\" crossorigin=\"anonymous\"></script>"
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
if (typeof config.article_ads != "undefined") {
|
|
63
|
-
/*
|
|
64
|
-
injector.register("body-end", function () {
|
|
65
|
-
let adshtml = [];
|
|
66
|
-
if (Array.isArray(config.article_ads)) {
|
|
67
|
-
adshtml = config.article_ads;
|
|
68
|
-
}
|
|
69
|
-
if (adshtml.length) {
|
|
70
|
-
return require("./lib/article-ads").endbodycode(adshtml, hexo);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
*/
|
|
74
|
-
//log.log("hexo-adsense article ads process starting...");
|
|
75
|
-
if (config.field === "post") {
|
|
76
|
-
// only on post
|
|
77
|
-
//log.log("after_post_render");
|
|
78
|
-
hexo.extend.filter.register("after_post_render", require("./src/article-ads").after_post_render);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
//log.log("after_render:html");
|
|
82
|
-
// entire html
|
|
83
|
-
hexo.extend.filter.register("after_render:html", require("./src/article-ads").after_render_html);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var Hexo = require("hexo");
|
|
3
|
-
var memoize = require("underscore").memoize;
|
|
4
|
-
var argv = require("minimist")(process.argv.slice(2));
|
|
5
|
-
/**
|
|
6
|
-
* Check is production or development
|
|
7
|
-
* @param {Hexo} inHexo
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
var getEnv = memoize(function (inHexo) {
|
|
11
|
-
var DEV = "development";
|
|
12
|
-
var PRD = "production";
|
|
13
|
-
// --development
|
|
14
|
-
var arg = typeof argv["development"] == "boolean" && argv["development"];
|
|
15
|
-
// set NODE_ENV = "development"
|
|
16
|
-
var env = process.env.NODE_ENV && process.env.NODE_ENV.toString().toLowerCase() === "development";
|
|
17
|
-
// define is development
|
|
18
|
-
var isDev = arg || env;
|
|
19
|
-
if (inHexo) {
|
|
20
|
-
if (isDev)
|
|
21
|
-
return DEV;
|
|
22
|
-
if (typeof inHexo.env.args.development == "boolean" && inHexo.env.args.development)
|
|
23
|
-
return DEV;
|
|
24
|
-
if (inHexo.env.args._ && inHexo.env.args._.length > 0) {
|
|
25
|
-
for (var i = 0; i < inHexo.env.args._.length; i++) {
|
|
26
|
-
if (inHexo.env.args._[i] == "s" || inHexo.env.args._[i] == "server")
|
|
27
|
-
return DEV;
|
|
28
|
-
if (inHexo.env.args._[i] == "d" || inHexo.env.args._[i] == "deploy")
|
|
29
|
-
return PRD;
|
|
30
|
-
if (inHexo.env.args._[i] == "g" || inHexo.env.args._[i] == "generate")
|
|
31
|
-
return PRD;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
});
|
|
37
|
-
var isDev = memoize(function (hexo) {
|
|
38
|
-
return getEnv(hexo) == "development";
|
|
39
|
-
});
|
|
40
|
-
var isProd = memoize(function (hexo) {
|
|
41
|
-
return getEnv(hexo) == "production";
|
|
42
|
-
});
|
|
43
|
-
module.exports = {
|
|
44
|
-
env: function (inHexo) {
|
|
45
|
-
return getEnv(inHexo);
|
|
46
|
-
},
|
|
47
|
-
isProd: isProd,
|
|
48
|
-
isDev: isDev
|
|
49
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
// const { resolve } = require('path');
|
|
3
|
-
module.exports = function (ctx) {
|
|
4
|
-
// If initialized, return the result
|
|
5
|
-
if (ctx.extend.injector2) {
|
|
6
|
-
return ctx.extend.injector2;
|
|
7
|
-
}
|
|
8
|
-
// If not in the main plugin directory, relocate to the main plugin directory
|
|
9
|
-
// const load = require(resolve(ctx.plugin_dir, 'hexo-extend-injector2/lib/load'));
|
|
10
|
-
var load = require('./lib/load');
|
|
11
|
-
return load(ctx);
|
|
12
|
-
};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var handleDataPre = require('./handle-data-pre');
|
|
3
|
-
var cssGenerator = require('./css-generator');
|
|
4
|
-
var loadCss = function (ctx, injector, config) {
|
|
5
|
-
var generator = ctx.extend.generator;
|
|
6
|
-
var options = config.options, file = config.file, env = config.env;
|
|
7
|
-
var REGISTER_CSS = injector.order.REGISTER_CSS;
|
|
8
|
-
var url_for = require('hexo-util').url_for.bind(ctx);
|
|
9
|
-
if (file.link === 'preload') {
|
|
10
|
-
injector.register('head-end', {
|
|
11
|
-
value: "<link rel=\"preload\" as=\"style\" href=\"" + url_for(file.path) + "\" />",
|
|
12
|
-
priority: REGISTER_CSS
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
if (file.link === 'load') {
|
|
16
|
-
injector.register('head-end', {
|
|
17
|
-
value: "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + url_for(file.path) + "\" />",
|
|
18
|
-
priority: REGISTER_CSS
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
generator.register("css-bundler-" + env, function () {
|
|
22
|
-
return {
|
|
23
|
-
path: file.path,
|
|
24
|
-
data: cssGenerator(injector, env, options)
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
module.exports = function (ctx, injector) {
|
|
29
|
-
var config = injector.config.css;
|
|
30
|
-
if (!config.enable)
|
|
31
|
-
return;
|
|
32
|
-
var filter = ctx.extend.filter;
|
|
33
|
-
var _a = injector.order, REGISTER_VARIABLE = _a.REGISTER_VARIABLE, REGISTER_STYLE = _a.REGISTER_STYLE;
|
|
34
|
-
filter.register('injector2:register-variable', function (data) {
|
|
35
|
-
data.priority = REGISTER_VARIABLE;
|
|
36
|
-
injector.register('css', data);
|
|
37
|
-
});
|
|
38
|
-
filter.register('injector2:register-style', function (data) {
|
|
39
|
-
data.priority = REGISTER_STYLE;
|
|
40
|
-
injector.register('css', data);
|
|
41
|
-
});
|
|
42
|
-
if (typeof config.path === 'string') {
|
|
43
|
-
var path = config.path;
|
|
44
|
-
config.path = {
|
|
45
|
-
"default": {
|
|
46
|
-
path: path,
|
|
47
|
-
link: 'load'
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
var isLoadCss = {};
|
|
52
|
-
filter.register('injector2:register-css', function (data) {
|
|
53
|
-
var env = data.env || 'default';
|
|
54
|
-
data.env = env;
|
|
55
|
-
var file = config.path[env];
|
|
56
|
-
var options = config.options;
|
|
57
|
-
if (file && !isLoadCss[env]) {
|
|
58
|
-
loadCss(ctx, injector, { options: options, env: env, file: file });
|
|
59
|
-
isLoadCss[env] = true;
|
|
60
|
-
}
|
|
61
|
-
handleDataPre(ctx, data, ['.css', '.sass', '.styl']);
|
|
62
|
-
data.predicate = function (ctx, options) { return options.env === env; };
|
|
63
|
-
});
|
|
64
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var CleanCSS = require('clean-css');
|
|
3
|
-
module.exports = function (injector, env, options) { return function () {
|
|
4
|
-
return Promise.all(injector.get('css', { env: env }).toPromise())
|
|
5
|
-
.then(function (values) { return values.join('\n'); })
|
|
6
|
-
.then(function (source) {
|
|
7
|
-
var output = new CleanCSS(options).minify(source);
|
|
8
|
-
if (output.error)
|
|
9
|
-
throw output.error;
|
|
10
|
-
return output.styles;
|
|
11
|
-
});
|
|
12
|
-
}; };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
/**
|
|
3
|
-
* 兼容以前的版本 v0.2
|
|
4
|
-
* injector.register('css', {text: '.book{font-size:2rem}'});
|
|
5
|
-
* injector.register('css', {path: 'xxxx.css'});
|
|
6
|
-
*/
|
|
7
|
-
var resolve = require('path').resolve;
|
|
8
|
-
module.exports = function (ctx, data, suffixes) {
|
|
9
|
-
if (suffixes === void 0) { suffixes = []; }
|
|
10
|
-
if (data.path) {
|
|
11
|
-
data.value = function () { return ctx.render.render({ path: resolve(ctx.base_dir, data.path) }); };
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (data.text) {
|
|
15
|
-
data.value = data.text;
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (typeof data.value === 'string') {
|
|
19
|
-
var str_1 = data.value;
|
|
20
|
-
for (var _i = 0, suffixes_1 = suffixes; _i < suffixes_1.length; _i++) {
|
|
21
|
-
var suffix = suffixes_1[_i];
|
|
22
|
-
if (str_1.endsWith(suffix)) {
|
|
23
|
-
data.value = function () { return ctx.render.render({ path: resolve(ctx.base_dir, str_1) }); };
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var handleDataPre = require('./handle-data-pre');
|
|
3
|
-
var jsGenerator = require('./js-generator');
|
|
4
|
-
var loadJsScript = function (ctx, injector, config) {
|
|
5
|
-
var generator = ctx.extend.generator;
|
|
6
|
-
var REGISTER_JS = injector.order.REGISTER_JS;
|
|
7
|
-
var url_for = require('hexo-util').url_for.bind(ctx);
|
|
8
|
-
injector.register('body-end', {
|
|
9
|
-
value: "<script src=\"" + url_for(config.path) + "\"></script>",
|
|
10
|
-
priority: REGISTER_JS
|
|
11
|
-
});
|
|
12
|
-
generator.register('js-bundler', function () {
|
|
13
|
-
return {
|
|
14
|
-
path: config.path,
|
|
15
|
-
data: jsGenerator(injector, config.options)
|
|
16
|
-
};
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
module.exports = function (ctx, injector) {
|
|
20
|
-
var config = injector.config.js;
|
|
21
|
-
if (!config.enable)
|
|
22
|
-
return;
|
|
23
|
-
var filter = ctx.extend.filter;
|
|
24
|
-
var isLoadJsScript = false;
|
|
25
|
-
filter.register('injector2:register-js', function (data) {
|
|
26
|
-
if (!isLoadJsScript) {
|
|
27
|
-
loadJsScript(ctx, injector, config);
|
|
28
|
-
isLoadJsScript = true;
|
|
29
|
-
}
|
|
30
|
-
handleDataPre(ctx, data, ['.js']);
|
|
31
|
-
});
|
|
32
|
-
};
|