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.
Files changed (157) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE +0 -0
  3. package/dist/index.cjs +757 -0
  4. package/dist/index.d.cts +2 -0
  5. package/dist/index.d.mts +2 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.js +740 -0
  8. package/dist/index.mjs +740 -0
  9. package/dist/source/adblock.css +2 -0
  10. package/{lib → dist}/source/adblock.js +0 -0
  11. package/{lib → dist}/source/article-ads.css +0 -0
  12. package/dist/source/article-ads.js +1 -0
  13. package/{lib/source/article-ads.js → dist/source/article-ads.old.js} +0 -0
  14. package/{lib → dist}/source/blogger-redirect.html +0 -0
  15. package/{lib → dist}/source/https.js +0 -0
  16. package/{lib → dist}/source/in_article_ads_test.html +0 -0
  17. package/package.json +122 -37
  18. package/{README.md → readme.md} +29 -11
  19. package/lib/index.d.ts +0 -1
  20. package/lib/index.js +0 -85
  21. package/lib/packages/hexo-cli-extras/lib/env.d.ts +0 -3
  22. package/lib/packages/hexo-cli-extras/lib/env.js +0 -49
  23. package/lib/packages/hexo-extend-injector2/index.d.ts +0 -2
  24. package/lib/packages/hexo-extend-injector2/index.js +0 -12
  25. package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.d.ts +0 -2
  26. package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -64
  27. package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.d.ts +0 -2
  28. package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -12
  29. package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.d.ts +0 -2
  30. package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -28
  31. package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.d.ts +0 -2
  32. package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -32
  33. package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.d.ts +0 -2
  34. package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -8
  35. package/lib/packages/hexo-extend-injector2/lib/default-config.d.ts +0 -39
  36. package/lib/packages/hexo-extend-injector2/lib/default-config.js +0 -46
  37. package/lib/packages/hexo-extend-injector2/lib/filter.d.ts +0 -2
  38. package/lib/packages/hexo-extend-injector2/lib/filter.js +0 -22
  39. package/lib/packages/hexo-extend-injector2/lib/helper/injector.d.ts +0 -2
  40. package/lib/packages/hexo-extend-injector2/lib/helper/injector.js +0 -5
  41. package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.d.ts +0 -2
  42. package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -12
  43. package/lib/packages/hexo-extend-injector2/lib/injector.d.ts +0 -29
  44. package/lib/packages/hexo-extend-injector2/lib/injector.js +0 -125
  45. package/lib/packages/hexo-extend-injector2/lib/load.d.ts +0 -3
  46. package/lib/packages/hexo-extend-injector2/lib/load.js +0 -37
  47. package/lib/packages/hexo-extend-injector2/lib/next-point.d.ts +0 -2
  48. package/lib/packages/hexo-extend-injector2/lib/next-point.js +0 -18
  49. package/lib/packages/hexo-extend-injector2/lib/next.d.ts +0 -2
  50. package/lib/packages/hexo-extend-injector2/lib/next.js +0 -99
  51. package/lib/packages/hexo-extend-injector2/lib/order.d.ts +0 -5
  52. package/lib/packages/hexo-extend-injector2/lib/order.js +0 -8
  53. package/lib/source/adblock.css +0 -2
  54. package/lib/src/article-ads.d.ts +0 -20
  55. package/lib/src/article-ads.js +0 -304
  56. package/lib/src/checkLocalHost.d.ts +0 -10
  57. package/lib/src/checkLocalHost.js +0 -37
  58. package/lib/src/config.d.ts +0 -13
  59. package/lib/src/config.js +0 -42
  60. package/lib/src/html-parser.d.ts +0 -9
  61. package/lib/src/html-parser.js +0 -26
  62. package/lib/src/log.d.ts +0 -1
  63. package/lib/src/log.js +0 -11
  64. package/lib/src/logger.d.ts +0 -3
  65. package/lib/src/logger.js +0 -25
  66. package/lib/src/md5.d.ts +0 -2
  67. package/lib/src/md5.js +0 -165
  68. package/lib/src/safestringify.d.ts +0 -2
  69. package/lib/src/safestringify.js +0 -125
  70. package/lib/src/utils.d.ts +0 -31
  71. package/lib/src/utils.js +0 -159
  72. package/lib/src/versionParser.d.ts +0 -27
  73. package/lib/src/versionParser.js +0 -40
  74. package/packages/hexo-cli-extras/.eslintrc +0 -13
  75. package/packages/hexo-cli-extras/LICENSE.md +0 -20
  76. package/packages/hexo-cli-extras/README.md +0 -146
  77. package/packages/hexo-cli-extras/docs/basic.gif +0 -0
  78. package/packages/hexo-cli-extras/docs/gui.gif +0 -0
  79. package/packages/hexo-cli-extras/docs/remove.png +0 -0
  80. package/packages/hexo-cli-extras/docs/rename.png +0 -0
  81. package/packages/hexo-cli-extras/index.js +0 -48
  82. package/packages/hexo-cli-extras/lib/edit.js +0 -209
  83. package/packages/hexo-cli-extras/lib/env.js +0 -52
  84. package/packages/hexo-cli-extras/lib/extensions.js +0 -23
  85. package/packages/hexo-cli-extras/lib/integrate.js +0 -87
  86. package/packages/hexo-cli-extras/lib/isolate.js +0 -179
  87. package/packages/hexo-cli-extras/lib/remove.js +0 -145
  88. package/packages/hexo-cli-extras/lib/rename.js +0 -171
  89. package/packages/hexo-cli-extras/package.json +0 -34
  90. package/packages/hexo-extend-injector2/.eslintrc +0 -4
  91. package/packages/hexo-extend-injector2/.github/workflows/linter.yml +0 -27
  92. package/packages/hexo-extend-injector2/.github/workflows/tester.yml +0 -24
  93. package/packages/hexo-extend-injector2/.vscode/settings.json +0 -10
  94. package/packages/hexo-extend-injector2/LICENSE +0 -165
  95. package/packages/hexo-extend-injector2/README-ZH.md +0 -189
  96. package/packages/hexo-extend-injector2/README.md +0 -191
  97. package/packages/hexo-extend-injector2/USAGE.md +0 -38
  98. package/packages/hexo-extend-injector2/index.js +0 -14
  99. package/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -79
  100. package/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -13
  101. package/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -29
  102. package/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -42
  103. package/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -10
  104. package/packages/hexo-extend-injector2/lib/default-config.js +0 -52
  105. package/packages/hexo-extend-injector2/lib/filter.js +0 -24
  106. package/packages/hexo-extend-injector2/lib/helper/injector.js +0 -6
  107. package/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -14
  108. package/packages/hexo-extend-injector2/lib/injector.js +0 -128
  109. package/packages/hexo-extend-injector2/lib/load.js +0 -45
  110. package/packages/hexo-extend-injector2/lib/next-point.js +0 -19
  111. package/packages/hexo-extend-injector2/lib/next.js +0 -87
  112. package/packages/hexo-extend-injector2/lib/order.js +0 -9
  113. package/packages/hexo-extend-injector2/package.json +0 -49
  114. package/packages/hexo-extend-injector2/renovate.json +0 -6
  115. package/packages/hexo-extend-injector2/test/.eslintrc +0 -3
  116. package/packages/hexo-extend-injector2/test/index.js +0 -18
  117. package/packages/hexo-extend-injector2/test/lib/bundle/bundle-css.js +0 -86
  118. package/packages/hexo-extend-injector2/test/lib/bundle/bundle-js.js +0 -36
  119. package/packages/hexo-extend-injector2/test/lib/bundle/test.css +0 -3
  120. package/packages/hexo-extend-injector2/test/lib/bundle/test.js +0 -5
  121. package/packages/hexo-extend-injector2/test/lib/helper/injector.js +0 -45
  122. package/packages/hexo-extend-injector2/test/lib/helper/next-inject.js +0 -69
  123. package/packages/hexo-extend-injector2/test/lib/hexo-compatible.js +0 -250
  124. package/packages/hexo-extend-injector2/test/lib/hexo-injector.js +0 -37
  125. package/packages/hexo-extend-injector2/test/lib/injector.js +0 -93
  126. package/packages/memoize/CHANGELOG.md +0 -82
  127. package/packages/memoize/CHANGES +0 -124
  128. package/packages/memoize/LICENSE +0 -15
  129. package/packages/memoize/README.md +0 -503
  130. package/packages/memoize/ext/async.js +0 -154
  131. package/packages/memoize/ext/dispose.js +0 -33
  132. package/packages/memoize/ext/max-age.js +0 -90
  133. package/packages/memoize/ext/max.js +0 -27
  134. package/packages/memoize/ext/promise.js +0 -147
  135. package/packages/memoize/ext/ref-counter.js +0 -48
  136. package/packages/memoize/index.js +0 -34
  137. package/packages/memoize/lib/configure-map.js +0 -182
  138. package/packages/memoize/lib/methods.js +0 -32
  139. package/packages/memoize/lib/registered-extensions.js +0 -1
  140. package/packages/memoize/lib/resolve-length.js +0 -15
  141. package/packages/memoize/lib/resolve-normalize.js +0 -17
  142. package/packages/memoize/lib/resolve-resolve.js +0 -21
  143. package/packages/memoize/lib/weak.js +0 -134
  144. package/packages/memoize/methods-plain.js +0 -3
  145. package/packages/memoize/methods.js +0 -3
  146. package/packages/memoize/normalizers/get-1.js +0 -29
  147. package/packages/memoize/normalizers/get-fixed.js +0 -71
  148. package/packages/memoize/normalizers/get-primitive-fixed.js +0 -16
  149. package/packages/memoize/normalizers/get.js +0 -90
  150. package/packages/memoize/normalizers/primitive.js +0 -9
  151. package/packages/memoize/package.json +0 -60
  152. package/packages/memoize/plain.js +0 -37
  153. package/packages/memoize/profile.js +0 -107
  154. package/packages/memoize/repository.md +0 -1
  155. package/packages/memoize/weak-plain.js +0 -3
  156. package/packages/memoize/weak.js +0 -3
  157. 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
package/package.json CHANGED
@@ -1,19 +1,42 @@
1
1
  {
2
2
  "name": "hexo-adsense",
3
- "version": "1.0.26",
3
+ "version": "2.0.0",
4
4
  "description": "Hexo adsense support",
5
- "main": "lib/index.js",
6
- "types": "lib/index.d.ts",
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
- "copy-files": "copyfiles -u 1 source/**/*.{html,css,js} lib/source/",
11
- "build": "rm -rf lib && gulp"
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
- "lib",
15
- "packages",
16
- "*.md"
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
- "hexo": "^5.4.0",
34
- "hexo-cli-extras": "file:packages/hexo-cli-extras",
35
- "hexo-extend-injector2": "file:packages/hexo-extend-injector2",
36
- "hexo-fs": "^3.1.0",
37
- "hexo-log": "^3.0.0",
38
- "md5-file": "^4.0.0",
39
- "minimatch": "^3.0.4",
40
- "moment": "^2.29.1",
41
- "node-html-parser": "^5.1.0",
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
- "underscore": "^1.13.1"
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
- "@types/gulp-sourcemaps": "^0.0.35",
47
- "@typescript-eslint/parser": "^4.33.0",
48
- "copyfiles": "github:calvinmetcalf/copyfiles",
49
- "del": "^6.0.0",
50
- "eslint": "^7.32.0",
51
- "eslint-config-prettier": "^8.3.0",
52
- "eslint-plugin-import": "^2.25.3",
53
- "eslint-plugin-prettier": "^4.0.0",
54
- "gulp": "^4.0.2",
55
- "gulp-autoprefixer": "^8.0.0",
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": "^6.0.1",
111
+ "gulp-html-minifier-terser": "^7.1.0",
58
112
  "gulp-sourcemaps": "^3.0.0",
59
113
  "gulp-terser": "^2.1.0",
60
- "jsdom": "^18.0.1",
61
- "prettier": "2.4.1",
62
- "terser": "^5.10.0",
63
- "typescript": "^4.4.4"
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
- "peerDependencies": {
66
- "ansi-regex": ">=5.0.1",
67
- "striptags": ">=3.2.0",
68
- "highlight.js": ">=10.4.1"
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
  }
@@ -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-1165447249910969
29
- # in-article ads source
30
- article_ads:
31
- - "source/ads/in_article.html"
32
- - "source/ads/in_article2.html"
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
- field: "site" # post=only post, site=all pages and posts
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
- [![Build And Tests](https://github.com/dimaslanjaka/dimaslanjaka.github.io/actions/workflows/page.yml/badge.svg?branch=compiler)](https://github.com/dimaslanjaka/dimaslanjaka.github.io/actions/workflows/page.yml)
123
+ [![Test And Deploy](https://github.com/dimaslanjaka/static-blog-generator-hexo/actions/workflows/test.yml/badge.svg)](https://github.com/dimaslanjaka/static-blog-generator-hexo/actions/workflows/test.yml)
112
124
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label&style=flat-square)](https://github.com/dimaslanjaka/dimaslanjaka.github.io/tree/compiler)
113
- [![webmanajemen.com](https://img.shields.io/website.svg?down_color=red&down_message=down&style=flat-square&up_color=green&up_message=up&label=webmanajemen.com&cacheSeconds=999&url=http%3A%2F%2Fwebmanajemen.com)](https://webmanajemen.com)
125
+ [![webmanajemen.com](https://img.shields.io/website.svg?down_color=red&down_message=down&style=flat-square&up_color=green&up_message=up&label=webmanajemen.com&url=https://webmanajemen.com)](https://webmanajemen.com)
114
126
 
115
127
  ## hexo-adsense
116
128
  [![npm version](https://badge.fury.io/js/hexo-adsense.svg?style=flat-square)](https://badge.fury.io/js/hexo-adsense)
117
129
  [![Npm package yearly downloads](https://badgen.net/npm/dy/hexo-adsense?style=flat-square)](https://npmjs.com/package/hexo-adsense)
118
130
  [![Minimum node.js version](https://badgen.net/npm/node/hexo-adsense?style=flat-square)](https://npmjs.com/package/hexo-adsense)
131
+ ![GitHub repo size](https://img.shields.io/github/repo-size/dimaslanjaka/hexo-adsense?label=Repository%20Size&style=flat-square)
132
+ ![GitHub last commit](https://img.shields.io/github/last-commit/dimaslanjaka/hexo-adsense?color=blue&label=Last%20Commit&style=flat-square)
119
133
 
120
134
  ## hexo-seo
121
135
  [![npm version](https://badge.fury.io/js/hexo-seo.svg?style=flat-square)](https://badge.fury.io/js/hexo-seo)
122
136
  [![Npm package yearly downloads](https://badgen.net/npm/dy/hexo-seo?style=flat-square)](https://npmjs.com/package/hexo-seo)
123
137
  [![Minimum node.js version](https://badgen.net/npm/node/hexo-seo?style=flat-square)](https://npmjs.com/package/hexo-seo)
138
+ ![GitHub repo size](https://img.shields.io/github/repo-size/dimaslanjaka/hexo-seo?label=Repository%20Size&style=flat-square)
139
+ ![GitHub last commit](https://img.shields.io/github/last-commit/dimaslanjaka/hexo-seo?color=blue&label=Last%20Commit&style=flat-square)
124
140
 
125
141
  ## hexo-blogger-xml
126
142
  [![npm version](https://badge.fury.io/js/hexo-blogger-xml.svg?style=flat-square)](https://badge.fury.io/js/hexo-blogger-xml)
127
143
  [![Npm package yearly downloads](https://badgen.net/npm/dy/hexo-blogger-xml?style=flat-square)](https://npmjs.com/package/hexo-blogger-xml)
128
- [![Minimum node.js version](https://badgen.net/npm/node/hexo-blogger-xml?style=flat-square)](https://npmjs.com/package/hexo-blogger-xml))
144
+ [![Minimum node.js version](https://badgen.net/npm/node/hexo-blogger-xml?style=flat-square)](https://npmjs.com/package/hexo-blogger-xml)
145
+ ![GitHub repo size](https://img.shields.io/github/repo-size/dimaslanjaka/hexo-blogger-xml?label=Repository%20Size&style=flat-square)
146
+ ![GitHub last commit](https://img.shields.io/github/last-commit/dimaslanjaka/hexo-blogger-xml?color=blue&label=Last%20Commit&style=flat-square)
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,3 +0,0 @@
1
- export function isProd(hexo: any): boolean;
2
- export function isDev(hexo: any): boolean;
3
- export declare function env(inHexo: any): string;
@@ -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,2 +0,0 @@
1
- declare function _exports(ctx: any): any;
2
- export = _exports;
@@ -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,2 +0,0 @@
1
- declare function _exports(ctx: any, injector: any): void;
2
- export = _exports;
@@ -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,2 +0,0 @@
1
- declare function _exports(injector: any, env: any, options: any): () => Promise<any>;
2
- export = _exports;
@@ -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,2 +0,0 @@
1
- declare function _exports(ctx: any, data: any, suffixes?: any[]): void;
2
- export = _exports;
@@ -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,2 +0,0 @@
1
- declare function _exports(ctx: any, injector: any): void;
2
- export = _exports;
@@ -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
- };
@@ -1,2 +0,0 @@
1
- declare function _exports(injector: any, options: any): () => Promise<string>;
2
- export = _exports;