diff --git a/_config.yml b/_config.yml index 299f671..b9e6172 100644 --- a/_config.yml +++ b/_config.yml @@ -836,11 +836,11 @@ inject: # 非必要請不要修改 CDN: # The CDN provider of internal scripts (主題內部 js 的 cdn 配置) - # option: local/jsdelivr - # Dev version cannot choose jsdelivr (dev版的主題不能設置為 jsdelivr) + # option: local/jsdelivr/unpkg + # Dev version cannot choose jsdelivr/unpkg (dev版的主題不能設置為 jsdelivr/unpkg) internal_provider: local # The CDN provider of third party scripts (第三方 js 的 cdn 配置) - # option: local/jsdelivr + # option: local/jsdelivr/unpkg # when set it to local, you need to install hexo-butterfly-extjs third_party_provider: jsdelivr option: diff --git a/layout/includes/header/post-info.pug b/layout/includes/header/post-info.pug index 206b993..f7f2174 100644 --- a/layout/includes/header/post-info.pug +++ b/layout/includes/header/post-info.pug @@ -63,23 +63,18 @@ - const commentUse = comments.use if commentUse && !comments.lazyload - case commentUse[0] - when 'Valine' - if theme.valine.visitor - +pvBlock(url_for(page.path),'leancloud_visitors',page.title) - span.leancloud-visitors-count - when 'Waline' - if theme.waline.pageview - +pvBlock('','','') - span.waline-pageview-count(data-path=url_for(page.path)) - when 'Twikoo' - if theme.twikoo.visitor - +pvBlock('','','') - span#twikoo_visitors - default - if theme.busuanzi.page_pv - +pvBlock('','post-meta-pv-cv','') - span#busuanzi_value_page_pv + if commentUse[0] === 'Valine' && theme.valine.visitor + +pvBlock(url_for(page.path),'leancloud_visitors',page.title) + span.leancloud-visitors-count + else if commentUse[0] === 'Waline' && theme.waline.pageview + +pvBlock('','','') + span.waline-pageview-count(data-path=url_for(page.path)) + else if commentUse[0] === 'Twikoo' && theme.twikoo.visitor + +pvBlock('','','') + span#twikoo_visitors + else if theme.busuanzi.page_pv + +pvBlock('','post-meta-pv-cv','') + span#busuanzi_value_page_pv else if theme.busuanzi.page_pv +pvBlock('','post-meta-pv-cv','') span#busuanzi_value_page_pv diff --git a/package.json b/package.json index 3036910..12fbe0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hexo-theme-butterfly", - "version": "4.3.0-b1", + "version": "4.3.0-b2", "description": "A Simple and Card UI Design theme for Hexo", "main": "package.json", "scripts": { diff --git a/scripts/events/config.js b/scripts/events/config.js index 78be446..ffd5d63 100644 --- a/scripts/events/config.js +++ b/scripts/events/config.js @@ -12,18 +12,22 @@ const path = require('path') hexo.extend.filter.register('before_generate', () => { const themeConfig = hexo.theme.config const { CDN, comments } = themeConfig + const jsdelivr = 'https://cdn.jsdelivr.net/npm/' + const unpkg = 'https://unpkg.com/' /** * Merge CDN */ - const internalSrcCDN = { - main_css: '/css/index.css', - main: `https://cdn.jsdelivr.net/npm/hexo-theme-butterfly@${version}/source/js/main.min.js`, - utils: `https://cdn.jsdelivr.net/npm/hexo-theme-butterfly@${version}/source/js/utils.min.js`, - translate: `https://cdn.jsdelivr.net/npm/hexo-theme-butterfly@${version}/source/js/tw_cn.min.js`, - local_search: `https://cdn.jsdelivr.net/npm/hexo-theme-butterfly@${version}/source/js/search/local-search.min.js`, - algolia_js: `https://cdn.jsdelivr.net/npm/hexo-theme-butterfly@${version}/source/js/search/algolia.min.js`, + const internalSrcCDN = (pre) => { + return { + main_css: '/css/index.css', + main: `${pre}hexo-theme-butterfly@${version}/source/js/main.js`, + utils: `${pre}hexo-theme-butterfly@${version}/source/js/utils.js`, + translate: `${pre}hexo-theme-butterfly@${version}/source/js/tw_cn.js`, + local_search: `${pre}hexo-theme-butterfly@${version}/source/js/search/local-search.js`, + algolia_js: `${pre}hexo-theme-butterfly@${version}/source/js/search/algolia.js`, + } } const internalSrcLocal = { @@ -35,51 +39,53 @@ hexo.extend.filter.register('before_generate', () => { algolia_js: '/js/search/algolia.js', } - const thirdPartySrcCDN = { - algolia_search_v4: 'https://cdn.jsdelivr.net/npm/algoliasearch@4/dist/algoliasearch-lite.umd.js', - instantsearch_v4: 'https://cdn.jsdelivr.net/npm/instantsearch.js@4/dist/instantsearch.production.min.js', - pjax: 'https://cdn.jsdelivr.net/npm/pjax/pjax.min.js', - gitalk: 'https://cdn.jsdelivr.net/npm/gitalk@latest/dist/gitalk.min.js', - gitalk_css: 'https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.css', - blueimp_md5: 'https://cdn.jsdelivr.net/npm/blueimp-md5/js/md5.min.js', - valine: 'https://cdn.jsdelivr.net/npm/valine/dist/Valine.min.js', - disqusjs: 'https://cdn.jsdelivr.net/npm/disqusjs@3/dist/browser/disqusjs.es2015.umd.min.js', - disqusjs_css: 'https://cdn.jsdelivr.net/npm/disqusjs@3/dist/browser/styles/disqusjs.css', - twikoo: 'https://cdn.jsdelivr.net/npm/twikoo@1/dist/twikoo.all.min.js', - waline_js: 'https://cdn.jsdelivr.net/npm/@waline/client/dist/waline.js', - waline_css: 'https://cdn.jsdelivr.net/npm/@waline/client/dist/waline.css', - sharejs: 'https://cdn.jsdelivr.net/gh/overtrue/share.js@master/dist/js/social-share.min.js', - sharejs_css: 'https://cdn.jsdelivr.net/npm/social-share.js/dist/css/share.min.css', - mathjax: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js', - katex: 'https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css', - katex_copytex: 'https://cdn.jsdelivr.net/npm/katex@latest/dist/contrib/copy-tex.min.js', - katex_copytex_css: 'https://cdn.jsdelivr.net/npm/katex@latest/dist/contrib/copy-tex.css', - mermaid: 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js', - canvas_ribbon: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-ribbon.min.js', - canvas_fluttering_ribbon: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-fluttering-ribbon.min.js', - canvas_nest: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-nest.min.js', - activate_power_mode: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/activate-power-mode.min.js', - fireworks: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/fireworks.min.js', - click_heart: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/click-heart.min.js', - ClickShowText: 'https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/click-show-text.min.js', - lazyload: 'https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js', - instantpage: 'https://cdn.jsdelivr.net/npm/instant.page@5/instantpage.min.js', - typed: 'https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js', - pangu: 'https://cdn.jsdelivr.net/npm/pangu@4/dist/browser/pangu.min.js', - fancybox_css_v4: 'https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css', - fancybox_v4: 'https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js', - medium_zoom: 'https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js', - snackbar_css: 'https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css', - snackbar: 'https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js', - fontawesomeV6: 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/css/all.min.css', - flickr_justified_gallery_js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.js', - flickr_justified_gallery_css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.css', - aplayer_css: 'https://cdn.jsdelivr.net/npm/aplayer@1/dist/APlayer.min.css', - aplayer_js: 'https://cdn.jsdelivr.net/npm/aplayer@1/dist/APlayer.min.js', - meting_js: 'https://cdn.jsdelivr.net/gh/metowolf/MetingJS@1.2/dist/Meting.min.js', - prismjs_js: 'https://cdn.jsdelivr.net/npm/prismjs@1/prism.min.js', - prismjs_lineNumber_js: 'https://cdn.jsdelivr.net/npm/prismjs@1/plugins/line-numbers/prism-line-numbers.min.js', - prismjs_autoloader: 'https://cdn.jsdelivr.net/npm/prismjs@1/plugins/autoloader/prism-autoloader.min.js', + const thirdPartySrcCDN = (pre) => { + return { + algolia_search_v4: `${pre}algoliasearch@4/dist/algoliasearch-lite.umd.js`, + instantsearch_v4: `${pre}instantsearch.js@4/dist/instantsearch.production.min.js`, + pjax: `${pre}pjax/pjax.min.js`, + gitalk: `${pre}gitalk@latest/dist/gitalk.min.js`, + gitalk_css: `${pre}gitalk/dist/gitalk.css`, + blueimp_md5: `${pre}blueimp-md5/js/md5.min.js`, + valine: `${pre}valine/dist/Valine.min.js`, + disqusjs: `${pre}disqusjs@3/dist/browser/disqusjs.es2015.umd.min.js`, + disqusjs_css: `${pre}disqusjs@3/dist/browser/styles/disqusjs.css`, + twikoo: `${pre}twikoo@1/dist/twikoo.all.min.js`, + waline_js: `${pre}@waline/client/dist/waline.js`, + waline_css: `${pre}@waline/client/dist/waline.css`, + sharejs: `${pre}butterfly-extsrc@1/ShareJS/dist/js/social-share.min.js`, + sharejs_css: `${pre}butterfly-extsrc@1/ShareJS/dist/css/share.min.css`, + mathjax: `${pre}mathjax@3/es5/tex-mml-chtml.js`, + katex: `${pre}katex@latest/dist/katex.min.css`, + katex_copytex: `${pre}katex@latest/dist/contrib/copy-tex.min.js`, + katex_copytex_css: `${pre}katex@latest/dist/contrib/copy-tex.css`, + mermaid: `${pre}mermaid/dist/mermaid.min.js`, + canvas_ribbon: `${pre}butterfly-extsrc@1/dist/canvas-ribbon.min.js`, + canvas_fluttering_ribbon: `${pre}butterfly-extsrc@1/dist/canvas-fluttering-ribbon.min.js`, + canvas_nest: `${pre}butterfly-extsrc@1/dist/canvas-nest.min.js`, + activate_power_mode: `${pre}butterfly-extsrc@1/dist/activate-power-mode.min.js`, + fireworks: `${pre}butterfly-extsrc@1/dist/fireworks.min.js`, + click_heart: `${pre}butterfly-extsrc@1/dist/click-heart.min.js`, + ClickShowText: `${pre}butterfly-extsrc@1/dist/click-show-text.min.js`, + lazyload: `${pre}vanilla-lazyload/dist/lazyload.iife.min.js`, + instantpage: `${pre}instant.page@5/instantpage.js`, + typed: `${pre}typed.js/lib/typed.min.js`, + pangu: `${pre}pangu@4/dist/browser/pangu.min.js`, + fancybox_css_v4: `${pre}@fancyapps/ui/dist/fancybox.css`, + fancybox_v4: `${pre}@fancyapps/ui/dist/fancybox.umd.js`, + medium_zoom: `${pre}medium-zoom/dist/medium-zoom.min.js`, + snackbar_css: `${pre}node-snackbar/dist/snackbar.min.css`, + snackbar: `${pre}node-snackbar/dist/snackbar.min.js`, + fontawesomeV6: `${pre}@fortawesome/fontawesome-free@6/css/all.min.css`, + flickr_justified_gallery_js: `${pre}flickr-justified-gallery@2/dist/fjGallery.min.js`, + flickr_justified_gallery_css: `${pre}flickr-justified-gallery@2/dist/fjGallery.css`, + aplayer_css: `${pre}aplayer@1/dist/APlayer.min.css`, + aplayer_js: `${pre}aplayer@1/dist/APlayer.min.js`, + meting_js: `${pre}butterfly-extsrc@1/MetingJS/dist/Meting.min.js`, + prismjs_js: `${pre}prismjs@1/prism.js`, + prismjs_lineNumber_js: `${pre}prismjs@1/plugins/line-numbers/prism-line-numbers.min.js`, + prismjs_autoloader: `${pre}prismjs@1/plugins/autoloader/prism-autoloader.min.js`, + } } // delete null value @@ -94,7 +100,8 @@ hexo.extend.filter.register('before_generate', () => { const defaultVal = (obj, choose) => { if (obj === 'internal') { if (choose === 'local') return internalSrcLocal - else return internalSrcCDN + else if (choose === 'unpkg') return internalSrcCDN(unpkg) + else return internalSrcCDN(jsdelivr) } if (obj === 'external') { @@ -108,7 +115,8 @@ hexo.extend.filter.register('before_generate', () => { }) } catch (e) {} return result - } else return thirdPartySrcCDN + } else if (choose === 'unpkg') return thirdPartySrcCDN(unpkg) + else return thirdPartySrcCDN(jsdelivr) } }