hexo-theme-volantis 4.3.0 → 5.0.0-rc.2
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/README.md +1 -1
- package/_config.yml +434 -142
- package/languages/en.yml +7 -0
- package/languages/zh-CN.yml +13 -2
- package/languages/zh-TW.yml +7 -0
- package/layout/404.ejs +1 -1
- package/layout/_meta/author.ejs +4 -4
- package/layout/_meta/category.ejs +11 -8
- package/layout/_meta/counter.ejs +5 -2
- package/layout/_meta/date.ejs +1 -1
- package/layout/_meta/music.ejs +1 -1
- package/layout/_meta/share.ejs +1 -1
- package/layout/_meta/tags.ejs +3 -0
- package/layout/_meta/thumbnail.ejs +3 -1
- package/layout/_meta/updated.ejs +1 -1
- package/layout/{_cover → _partial/_cover}/blank.ejs +0 -0
- package/layout/{_cover → _partial/_cover}/dock.ejs +1 -1
- package/layout/{_cover → _partial/_cover}/featured.ejs +1 -1
- package/layout/{_cover → _partial/_cover}/focus.ejs +1 -1
- package/layout/_partial/_cover/layout.ejs +8 -0
- package/layout/{_cover → _partial/_cover}/search.ejs +1 -1
- package/layout/_partial/article.ejs +17 -12
- package/layout/_partial/cover.ejs +8 -28
- package/layout/_partial/footer.ejs +18 -10
- package/layout/_partial/head.ejs +55 -110
- package/layout/_partial/header.ejs +16 -10
- package/layout/_partial/meta.ejs +18 -4
- package/layout/_partial/post.ejs +35 -9
- package/layout/_partial/scripts/_ctrl/cdnCtrl.ejs +113 -0
- package/layout/_partial/scripts/{coverCtrl.ejs → _ctrl/coverCtrl.ejs} +22 -26
- package/layout/_partial/scripts/_ctrl.ejs +2 -0
- package/layout/_partial/scripts/content-visibility-scroll-fix.ejs +86 -0
- package/layout/_partial/scripts/global.ejs +355 -0
- package/layout/_partial/scripts/index.ejs +68 -67
- package/layout/_partial/scripts/toc.ejs +74 -67
- package/layout/_partial/side.ejs +4 -1
- package/layout/_plugins/_page_plugins/artitalk/index.ejs +15 -0
- package/layout/_plugins/_page_plugins/bbtalk/index.ejs +10 -0
- package/layout/_plugins/_page_plugins/fcircle/index.ejs +226 -0
- package/layout/_plugins/_page_plugins/gitter/index.ejs +14 -0
- package/layout/_plugins/_page_plugins/hpptalk/index.ejs +14 -0
- package/layout/_plugins/_page_plugins/indent/index.ejs +16 -0
- package/layout/_plugins/_page_plugins/index.ejs +7 -0
- package/layout/_plugins/_page_plugins/katex/index.ejs +13 -0
- package/layout/{_third-party/math/mathjax/script.ejs → _plugins/_page_plugins/mathjax/index.ejs} +2 -2
- package/layout/_plugins/_page_plugins/snackbar/index.ejs +55 -0
- package/layout/{_partial/scripts/counter.ejs → _plugins/analytics/LCCounter.ejs} +0 -0
- package/layout/_plugins/analytics/script.ejs +64 -0
- package/layout/{_third-party → _plugins}/aplayer/layout.ejs +0 -0
- package/layout/_plugins/aplayer/script.ejs +74 -0
- package/layout/_plugins/chat/gitter/script.ejs +17 -0
- package/layout/_plugins/chat/index.ejs +1 -0
- package/layout/_plugins/chat/tidio/script.ejs +1 -0
- package/layout/_plugins/comments/artalk/script.ejs +53 -0
- package/layout/_plugins/comments/beaudar/script.ejs +61 -0
- package/layout/_plugins/comments/disqus/script.ejs +98 -0
- package/layout/_plugins/comments/disqusjs/script.ejs +35 -0
- package/layout/_plugins/comments/giscus/script.ejs +47 -0
- package/layout/_plugins/comments/gitalk/script.ejs +24 -0
- package/layout/_plugins/comments/hashover/script.ejs +5 -0
- package/layout/{_third-party → _plugins}/comments/index.ejs +9 -2
- package/layout/_plugins/comments/isso/script.ejs +27 -0
- package/layout/_plugins/comments/livere/script.ejs +15 -0
- package/layout/_plugins/comments/minivaline/script.ejs +45 -0
- package/layout/_plugins/comments/twikoo/script.ejs +40 -0
- package/layout/_plugins/comments/utterances/script.ejs +43 -0
- package/layout/{_third-party → _plugins}/comments/valine/script.ejs +18 -14
- package/layout/_plugins/comments/vssue/script.ejs +37 -0
- package/layout/_plugins/comments/waline/script.ejs +44 -0
- package/layout/_plugins/comments/z-custom/script.ejs +1 -0
- package/layout/_plugins/darkmode/script.ejs +114 -0
- package/layout/_plugins/end-of-support/script.ejs +62 -0
- package/layout/_plugins/github-api/script.ejs +27 -0
- package/layout/_plugins/highlight/highlightjs/script.ejs +26 -0
- package/layout/_plugins/highlight/prismjs/script.ejs +25 -0
- package/layout/_plugins/highlight/script.ejs +1 -0
- package/layout/{_third-party → _plugins}/lazyload/script.ejs +1 -1
- package/layout/_plugins/nodewaves/script.ejs +12 -0
- package/layout/_plugins/parallax/script.ejs +70 -0
- package/layout/{_third-party → _plugins}/pjax/animate.ejs +31 -26
- package/layout/_plugins/pjax/index.ejs +74 -0
- package/layout/_plugins/pjax/pdata.ejs +57 -0
- package/layout/_plugins/preload/script.ejs +14 -0
- package/layout/_plugins/rightmenu/layout.ejs +119 -0
- package/layout/_plugins/scrollreveal/script.ejs +25 -0
- package/layout/_plugins/search/script.ejs +39 -0
- package/layout/{_third-party → _plugins}/share/layout.ejs +0 -0
- package/layout/_plugins/swiper/script.ejs +37 -0
- package/layout/_pre.ejs +2 -2
- package/layout/_widget/_pre.ejs +5 -0
- package/layout/_widget/blogger.ejs +1 -1
- package/layout/_widget/category.ejs +2 -2
- package/layout/_widget/copyright.ejs +1 -1
- package/layout/_widget/grid.ejs +3 -3
- package/layout/_widget/lastupdate.ejs +27 -0
- package/layout/_widget/list.ejs +2 -2
- package/layout/_widget/load.ejs +18 -0
- package/layout/_widget/music.ejs +3 -2
- package/layout/_widget/page.ejs +1 -1
- package/layout/_widget/qrcode.ejs +1 -1
- package/layout/_widget/related_posts.ejs +1 -1
- package/layout/_widget/tagcloud.ejs +1 -1
- package/layout/_widget/text.ejs +1 -1
- package/layout/_widget/toc.ejs +6 -2
- package/layout/_widget/webinfo.ejs +3 -66
- package/layout/archive.ejs +3 -3
- package/layout/category.ejs +8 -3
- package/layout/docs.ejs +1 -1
- package/layout/friends.ejs +5 -24
- package/layout/index.ejs +1 -1
- package/layout/layout.ejs +13 -12
- package/layout/list.ejs +1 -1
- package/layout/page.ejs +1 -1
- package/layout/post.ejs +1 -1
- package/layout/tag.ejs +8 -3
- package/package.json +4 -3
- package/scripts/events/index.js +12 -0
- package/scripts/events/lib/config.js +27 -8
- package/scripts/events/lib/renderStylus.js +78 -0
- package/scripts/events/lib/utils.js +76 -0
- package/scripts/filters/content-visibility.js +25 -0
- package/scripts/{render → filters}/img.js +0 -0
- package/scripts/filters/replace.js +15 -0
- package/scripts/{z-lazyload → filters/z-lazyload}/index.js +0 -0
- package/scripts/{z-lazyload → filters/z-lazyload}/lib/process.js +1 -1
- package/scripts/helpers/custom-files/index.js +163 -0
- package/scripts/helpers/first-style/index.js +19 -0
- package/scripts/helpers/head/autoCanonical.js +15 -0
- package/scripts/helpers/head/generate_preload_fontfamily.js +22 -0
- package/scripts/helpers/head/generate_seo.js +24 -0
- package/scripts/helpers/head/generate_title__keywords__description.js +91 -0
- package/scripts/{related_posts → helpers/related_posts}/index.js +1 -1
- package/scripts/helpers/structured-data/index.js +2 -0
- package/scripts/helpers/structured-data/lib/blogposting.js +65 -0
- package/scripts/helpers/structured-data/lib/breadcrumblist.js +128 -0
- package/scripts/helpers/structured-data/lib/config.js +31 -0
- package/scripts/helpers/structured-data/lib/index.js +38 -0
- package/scripts/helpers/structured-data/lib/organization.js +15 -0
- package/scripts/helpers/structured-data/lib/person.js +16 -0
- package/scripts/helpers/structured-data/lib/website.js +42 -0
- package/scripts/helpers/tag-plugins-style/index.js +199 -0
- package/scripts/tags/btn.js +6 -1
- package/scripts/tags/btns.js +7 -2
- package/scripts/tags/checkbox.js +12 -2
- package/scripts/tags/contributors.js +100 -0
- package/scripts/tags/dropmenu.js +18 -3
- package/scripts/tags/fancybox.js +44 -10
- package/scripts/tags/folding.js +6 -1
- package/scripts/tags/frame.js +6 -1
- package/scripts/tags/friends.js +99 -0
- package/scripts/tags/ghcard.js +6 -1
- package/scripts/tags/image.js +14 -2
- package/scripts/tags/link.js +6 -1
- package/scripts/tags/md.js +59 -0
- package/scripts/tags/media.js +25 -1
- package/scripts/tags/note.js +12 -2
- package/scripts/tags/site.js +87 -51
- package/scripts/tags/span.js +12 -2
- package/scripts/tags/swiper.js +38 -0
- package/scripts/tags/tabs.js +85 -54
- package/scripts/tags/timeline.js +6 -1
- package/source/css/Readme.md +28 -0
- package/source/css/_defines/AutoPrefixCSS.styl +347 -0
- package/source/css/_defines/Readme.md +3 -0
- package/source/css/_defines/color.styl +19 -0
- package/source/css/_defines/effect.styl +0 -13
- package/source/css/_defines/fonts.styl +17 -18
- package/source/css/_defines/func.styl +12 -30
- package/source/css/_first/base_first.styl +113 -0
- package/source/css/_first/{cover.styl → cover_first.styl} +113 -87
- package/source/css/_first/dark_first.styl +75 -0
- package/source/css/_first/fontfamily_first.styl +17 -0
- package/source/css/_first/{navbar.styl → navbar_first.styl} +4 -10
- package/source/css/_first/search_first.styl +12 -0
- package/source/css/{_base/index.styl → _style/_base/base.styl} +8 -92
- package/source/css/_style/_base/fontfamily_async.styl +8 -0
- package/source/css/{_layout → _style/_layout}/archive.styl +0 -0
- package/source/css/{_layout → _style/_layout}/article.styl +2 -29
- package/source/css/{_layout → _style/_layout}/footer.styl +0 -0
- package/source/css/_style/_layout/friends-simpleuser.styl +23 -0
- package/source/css/_style/_layout/friends-traditional.styl +81 -0
- package/source/css/{_layout → _style/_layout}/img.styl +0 -0
- package/source/css/_style/_layout/loading.styl +14 -0
- package/source/css/{_layout → _style/_layout}/main.styl +17 -7
- package/source/css/{_layout → _style/_layout}/md.styl +0 -0
- package/source/css/{_layout → _style/_layout}/pagination.styl +1 -1
- package/source/css/{_layout → _style/_layout}/posts.styl +2 -0
- package/source/css/{_first → _style/_layout}/search.styl +0 -103
- package/source/css/{_layout → _style/_layout}/sidebar.styl +24 -3
- package/source/css/{_layout → _style/_layout}/snackbar.styl +0 -0
- package/source/css/{_layout → _style/_layout}/toc.styl +1 -1
- package/source/css/{_layout → _style/_layout}/video.styl +0 -0
- package/source/css/_style/_plugins/_dark/dark_async.styl +50 -0
- package/source/css/{_plugins/dark.styl → _style/_plugins/_dark/dark_plugins.styl} +80 -76
- package/source/css/_style/_plugins/_highlight/highlightjs/clipboard.styl +36 -0
- package/source/css/_style/_plugins/_highlight/highlightjs/color.styl +96 -0
- package/source/css/_style/_plugins/_highlight/highlightjs/index.styl +102 -0
- package/source/css/_style/_plugins/_highlight/highlightjs/language.styl +63 -0
- package/source/css/_style/_plugins/_highlight/index.styl +1 -0
- package/source/css/_style/_plugins/_highlight/prismjs/clipboard.styl +33 -0
- package/source/css/_style/_plugins/_highlight/prismjs/index.styl +8 -0
- package/source/css/_style/_plugins/_highlight/prismjs/language.styl +63 -0
- package/source/css/_style/_plugins/_rightmenu/reading.styl +56 -0
- package/source/css/{_plugins → _style/_plugins/_rightmenu}/rightmenu.styl +20 -1
- package/source/css/{_plugins → _style/_plugins}/aplayer.styl +11 -0
- package/source/css/{_plugins → _style/_plugins}/cursor.styl +49 -9
- package/source/css/_style/_plugins/fontcolor.styl +79 -0
- package/source/css/{_plugins → _style/_plugins}/gitalk.styl +0 -0
- package/source/css/{_plugins → _style/_plugins}/index.styl +14 -6
- package/source/css/{_plugins → _style/_plugins}/mathjax.styl +0 -0
- package/source/css/_style/_plugins/message.styl +14 -0
- package/source/css/{_plugins → _style/_plugins}/pjaxanimate.styl +0 -0
- package/source/css/{_plugins → _style/_plugins}/valine.styl +0 -0
- package/source/css/_style/_tag-plugins/Readme.md +9 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/btns.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/checkbox.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/dropmenu.styl +0 -0
- package/source/css/{_plugins → _style/_tag-plugins}/fancybox.styl +8 -9
- package/source/css/{_tag-plugins → _style/_tag-plugins}/folding.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/frame.styl +0 -0
- package/source/css/_style/_tag-plugins/friends.styl +72 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/ghcard.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/image.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/link.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/media.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/note.styl +0 -0
- package/source/css/_style/_tag-plugins/sites.styl +87 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/span.styl +0 -0
- package/source/css/_style/_tag-plugins/swiper.styl +44 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/table.styl +0 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/tabs.styl +0 -0
- package/source/css/_style/_tag-plugins/tag.json +35 -0
- package/source/css/_style/_tag-plugins/text.styl +31 -0
- package/source/css/{_tag-plugins → _style/_tag-plugins}/timeline.styl +0 -0
- package/source/css/_style/index.styl +9 -0
- package/source/css/first.styl +19 -6
- package/source/css/message.css +6 -0
- package/source/css/style.styl +5 -4
- package/source/js/app.js +1021 -277
- package/source/js/plugins/aplayer.js +191 -0
- package/source/js/plugins/contributors.js +92 -0
- package/source/js/plugins/friends.js +93 -0
- package/source/js/plugins/parallax.js +191 -0
- package/source/js/plugins/rightMenu.js +560 -0
- package/source/js/plugins/sites.js +96 -0
- package/source/js/search/hexo.js +178 -374
- package/source/js/thirdparty/message.js +6 -0
- package/source/js/{valine.js → thirdparty/valine.js} +0 -0
- package/source/libs/@fancyapps/ui/LICENSE.md +8 -0
- package/source/libs/@fancyapps/ui/README.md +224 -0
- package/source/libs/@fancyapps/ui/dist/fancybox.css +1 -0
- package/source/libs/@fancyapps/ui/dist/fancybox.umd.js +2 -0
- package/source/libs/@fortawesome/fontawesome-free/LICENSE.txt +34 -0
- package/source/libs/@fortawesome/fontawesome-free/css/all.min.css +5 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg +3637 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg +805 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg +5015 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
- package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
- package/source/libs/aplayer/LICENSE +21 -0
- package/source/libs/aplayer/README.md +123 -0
- package/source/libs/aplayer/dist/APlayer.min.css +3 -0
- package/source/libs/aplayer/dist/APlayer.min.css.map +1 -0
- package/source/libs/aplayer/dist/APlayer.min.js +2 -0
- package/source/libs/aplayer/dist/APlayer.min.js.map +1 -0
- package/source/libs/busuanzi/LICENSE +21 -0
- package/source/libs/busuanzi/README.md +21 -0
- package/source/libs/busuanzi/js/busuanzi.pure.mini.js +1 -0
- package/source/libs/comment_typing/comment_typing.js +2 -0
- package/source/libs/flying-pages/flying-pages.min.js +1 -0
- package/source/libs/font-awesome-animation/font-awesome-animation.min.css +2 -0
- package/source/libs/github-markdown-css/github-markdown.css +1036 -0
- package/source/libs/github-markdown-css/license +9 -0
- package/source/libs/github-markdown-css/readme.md +63 -0
- package/source/libs/hls.js/LICENSE +28 -0
- package/source/libs/hls.js/README.md +442 -0
- package/source/libs/hls.js/dist/hls.min.js +2 -0
- package/source/libs/hls.js/dist/hls.min.js.map +1 -0
- package/source/libs/instant_page/instant_page.js +2 -0
- package/source/libs/jquery/LICENSE.txt +20 -0
- package/source/libs/jquery/README.md +62 -0
- package/source/libs/jquery/dist/jquery.min.js +2 -0
- package/source/libs/jquery/dist/jquery.min.map +1 -0
- package/source/libs/katex/README.md +119 -0
- package/source/libs/katex/contrib/auto-render.min.js +1 -0
- package/source/libs/katex/contrib/copy-tex.min.css +1 -0
- package/source/libs/katex/contrib/copy-tex.min.js +1 -0
- package/source/libs/katex/contrib/mathtex-script-type.min.js +1 -0
- package/source/libs/katex/contrib/mhchem.min.js +1 -0
- package/source/libs/katex/contrib/render-a11y-string.min.js +1 -0
- package/source/libs/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Bold.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Italic.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Math-Italic.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Script-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/source/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/source/libs/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/source/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/source/libs/katex/katex.min.css +1 -0
- package/source/libs/katex/katex.min.js +1 -0
- package/source/libs/marked/LICENSE.md +44 -0
- package/source/libs/marked/README.md +87 -0
- package/source/libs/marked/marked.min.js +6 -0
- package/source/libs/mathjax/LICENSE +202 -0
- package/source/libs/mathjax/README.md +237 -0
- package/source/libs/mathjax/es5/a11y/assistive-mml.js +1 -0
- package/source/libs/mathjax/es5/a11y/complexity.js +1 -0
- package/source/libs/mathjax/es5/a11y/explorer.js +1 -0
- package/source/libs/mathjax/es5/a11y/semantic-enrich.js +1 -0
- package/source/libs/mathjax/es5/adaptors/liteDOM.js +1 -0
- package/source/libs/mathjax/es5/core.js +1 -0
- package/source/libs/mathjax/es5/input/asciimath.js +1 -0
- package/source/libs/mathjax/es5/input/mml/entities.js +1 -0
- package/source/libs/mathjax/es5/input/mml/extensions/mml3.js +1 -0
- package/source/libs/mathjax/es5/input/mml/extensions/mml3.sef.json +1 -0
- package/source/libs/mathjax/es5/input/mml.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/action.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/all-packages.js +34 -0
- package/source/libs/mathjax/es5/input/tex/extensions/ams.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/amscd.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/autoload.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/bbox.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/boldsymbol.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/braket.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/bussproofs.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/cancel.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/centernot.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/color.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/colortbl.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/colorv2.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/configmacros.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/enclose.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/extpfeil.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/gensymb.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/html.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/mathtools.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/mhchem.js +34 -0
- package/source/libs/mathjax/es5/input/tex/extensions/newcommand.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/noerrors.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/noundefined.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/physics.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/require.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/setoptions.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/tagformat.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/textcomp.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/textmacros.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/unicode.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/upgreek.js +1 -0
- package/source/libs/mathjax/es5/input/tex/extensions/verb.js +1 -0
- package/source/libs/mathjax/es5/input/tex-base.js +1 -0
- package/source/libs/mathjax/es5/input/tex-full.js +34 -0
- package/source/libs/mathjax/es5/input/tex.js +1 -0
- package/source/libs/mathjax/es5/latest.js +1 -0
- package/source/libs/mathjax/es5/loader.js +1 -0
- package/source/libs/mathjax/es5/mml-chtml.js +1 -0
- package/source/libs/mathjax/es5/mml-svg.js +1 -0
- package/source/libs/mathjax/es5/node-main.js +1 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/tex.js +1 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- package/source/libs/mathjax/es5/output/chtml.js +1 -0
- package/source/libs/mathjax/es5/output/svg/fonts/tex.js +1 -0
- package/source/libs/mathjax/es5/output/svg.js +1 -0
- package/source/libs/mathjax/es5/sre/mathmaps/de.js +125 -0
- package/source/libs/mathjax/es5/sre/mathmaps/en.js +131 -0
- package/source/libs/mathjax/es5/sre/mathmaps/es.js +122 -0
- package/source/libs/mathjax/es5/sre/mathmaps/fr.js +125 -0
- package/source/libs/mathjax/es5/sre/mathmaps/hi.js +125 -0
- package/source/libs/mathjax/es5/sre/mathmaps/it.js +125 -0
- package/source/libs/mathjax/es5/sre/mathmaps/nemeth.js +113 -0
- package/source/libs/mathjax/es5/sre/sre-node.js +11 -0
- package/source/libs/mathjax/es5/sre/sre_browser.js +999 -0
- package/source/libs/mathjax/es5/startup.js +1 -0
- package/source/libs/mathjax/es5/tex-chtml-full.js +34 -0
- package/source/libs/mathjax/es5/tex-chtml.js +1 -0
- package/source/libs/mathjax/es5/tex-mml-chtml.js +1 -0
- package/source/libs/mathjax/es5/tex-mml-svg.js +1 -0
- package/source/libs/mathjax/es5/tex-svg-full.js +34 -0
- package/source/libs/mathjax/es5/tex-svg.js +1 -0
- package/source/libs/mathjax/es5/ui/lazy.js +1 -0
- package/source/libs/mathjax/es5/ui/menu.js +1 -0
- package/source/libs/mathjax/es5/ui/safe.js +1 -0
- package/source/libs/meting/LICENSE +21 -0
- package/source/libs/meting/README.md +125 -0
- package/source/libs/meting/dist/Meting.min.js +1 -0
- package/source/libs/node-waves/LICENSE +21 -0
- package/source/libs/node-waves/README.md +23 -0
- package/source/libs/node-waves/dist/waves.min.css +7 -0
- package/source/libs/node-waves/dist/waves.min.js +2 -0
- package/source/libs/node-waves/dist/waves.min.js.map +1 -0
- package/source/libs/nprogress/License.md +19 -0
- package/source/libs/nprogress/Readme.md +197 -0
- package/source/libs/nprogress/nprogress.js +476 -0
- package/source/libs/pjax/LICENSE +20 -0
- package/source/libs/pjax/README.md +726 -0
- package/source/libs/pjax/pjax.min.js +1 -0
- package/source/libs/scrollreveal/README.md +126 -0
- package/source/libs/scrollreveal/dist/scrollreveal.min.js +12 -0
- package/source/libs/swiper/swiper-bundle.min.css +13 -0
- package/source/libs/swiper/swiper-bundle.min.js +14 -0
- package/source/libs/swiper/swiper-bundle.min.js.map +1 -0
- package/source/libs/vanilla-lazyload/LICENSE +21 -0
- package/source/libs/vanilla-lazyload/README.md +874 -0
- package/source/libs/vanilla-lazyload/dist/lazyload.min.js +1 -0
- package/source/media/cursor/circle.png +0 -0
- package/source/media/cursor/left_ptr.png +0 -0
- package/source/media/cursor/openhand.png +0 -0
- package/source/media/cursor/pointer.png +0 -0
- package/source/media/cursor/text.png +0 -0
- package/source/media/cursor/zoom-in.png +0 -0
- package/source/media/cursor/zoom-out.png +0 -0
- package/source/media/fonts/CascadiaCode/Cascadia.ttf +0 -0
- package/source/media/fonts/CascadiaCode/CascadiaMono.ttf +0 -0
- package/source/media/fonts/CascadiaCode/CascadiaMonoPL.ttf +0 -0
- package/source/media/fonts/CascadiaCode/CascadiaPL.ttf +0 -0
- package/source/media/fonts/CascadiaCode/README.md +9 -0
- package/source/media/fonts/Monaco/Monaco.ttf +0 -0
- package/source/media/fonts/UbuntuMono/UbuntuMono-Regular.ttf +0 -0
- package/source/media/fonts/VarelaRound/VarelaRound-Regular.ttf +0 -0
- package/source/media/org.volantis/README.md +19 -0
- package/source/media/org.volantis/blog/Logo-Cover@3x.png +0 -0
- package/source/media/org.volantis/blog/Logo-NavBar@3x.png +0 -0
- package/source/media/org.volantis/blog/favicon/android-chrome-192x192.png +0 -0
- package/source/media/org.volantis/blog/favicon/android-chrome-512x512.png +0 -0
- package/source/media/org.volantis/blog/favicon/apple-touch-icon.png +0 -0
- package/source/media/org.volantis/blog/favicon/browserconfig.xml +9 -0
- package/source/media/org.volantis/blog/favicon/favicon-16x16.png +0 -0
- package/source/media/org.volantis/blog/favicon/favicon-32x32.png +0 -0
- package/source/media/org.volantis/blog/favicon/favicon.ico +0 -0
- package/source/media/org.volantis/blog/favicon/mstile-150x150.png +0 -0
- package/source/media/org.volantis/blog/favicon/safari-pinned-tab.svg +26 -0
- package/source/media/org.volantis/blog/favicon/site.webmanifest +19 -0
- package/source/media/org.volantis/blog/logo/hexo.jpg +0 -0
- package/source/media/org.volantis/blog/qrcode/github@volantis.png +0 -0
- package/source/media/org.volantis/icon/1322024-social-media/001-google-drive.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/002-myspace.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/003-reddit.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/004-wattpad.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/005-dribbble.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/006-youtube.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/007-forrst.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/008-pinterest.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/009-flickr.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/010-facebook.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/011-team-viewer.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/012-blogger.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/013-grooveshark.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/014-whatsapp.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/015-instagram.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/016-skype.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/017-picasa.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/018-twitter.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/019-yahoo.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/020-rss.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/021-envato.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/022-soundcloud.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/023-kickstarter.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/024-snapchat.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/025-quora.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/026-yelp.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/027-slideshare.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/028-opera.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/029-github.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/030-last-fm.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/031-twitch.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/032-tumblr.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/033-spotify.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/034-foursquare.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/035-hangout.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/036-dropbox.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/037-vine.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/038-google-plus.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/039-path.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/040-vimeo.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/041-addthis.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/042-xing.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/043-stumbleupon.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/044-deviantart.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/045-telegram.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/046-vk.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/047-swarm.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/048-bebo.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/049-technorati.svg +1 -0
- package/source/media/org.volantis/icon/1322024-social-media/050-periscope.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/001-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/002-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/003-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/004-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/005-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/006-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/007-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/008-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/009-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/010-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/011-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/012-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/013-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/014-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/015-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/016-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/017-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/018-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/019-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/020-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/021-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/022-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/023-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/024-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/025-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/026-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/027-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/028-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/029-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/030-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/031-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/032-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/033-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/034-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/035-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/036-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/037-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/038-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/039-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/040-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/041-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/042-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/043-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/044-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/045-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/046-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/047-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/048-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/049-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2439351-arrows/050-arrows.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/001-download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/002-upload.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/003-cloud.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/004-storage.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/005-downloading.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/006-upload.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/007-direct download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/008-button.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/009-file.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/010-save file.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/011-save.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/012-image.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/013-bar.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/014-loading.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/015-button.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/016-save button.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/017-download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/018-upload.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/019-download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/020-upload.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/021-download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/022-export.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/023-download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/024-uploading.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/025-download.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/026-upload.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/027-upload.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/028-upload button.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/029-up arrow.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/030-up arrow.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/031-upload button.svg +1 -0
- package/source/media/org.volantis/icon/2820262-cloud-networking/032-upload file.svg +1 -0
- package/source/media/org.volantis/icon/725277-social-media/001-livejournal.svg +75 -0
- package/source/media/org.volantis/icon/725277-social-media/002-linkedin.svg +67 -0
- package/source/media/org.volantis/icon/725277-social-media/003-ello.svg +60 -0
- package/source/media/org.volantis/icon/725277-social-media/004-hi5.svg +85 -0
- package/source/media/org.volantis/icon/725277-social-media/005-skype.svg +90 -0
- package/source/media/org.volantis/icon/725277-social-media/006-quora.svg +77 -0
- package/source/media/org.volantis/icon/725277-social-media/007-daily-motion.svg +58 -0
- package/source/media/org.volantis/icon/725277-social-media/008-air-bnb.svg +77 -0
- package/source/media/org.volantis/icon/725277-social-media/009-buzznet.svg +55 -0
- package/source/media/org.volantis/icon/725277-social-media/010-meetup.svg +130 -0
- package/source/media/org.volantis/icon/725277-social-media/011-diaspora.svg +64 -0
- package/source/media/org.volantis/icon/725277-social-media/012-bebo.svg +59 -0
- package/source/media/org.volantis/icon/725277-social-media/013-filmaffinity.svg +89 -0
- package/source/media/org.volantis/icon/725277-social-media/014-tinder.svg +57 -0
- package/source/media/org.volantis/icon/725277-social-media/015-skyrock.svg +74 -0
- package/source/media/org.volantis/icon/725277-social-media/016-snapchat.svg +86 -0
- package/source/media/org.volantis/icon/725277-social-media/017-nextdoor.svg +54 -0
- package/source/media/org.volantis/icon/725277-social-media/018-reverbnation.svg +54 -0
- package/source/media/org.volantis/icon/725277-social-media/019-tripadvisor.svg +85 -0
- package/source/media/org.volantis/icon/725277-social-media/020-snapfish.svg +72 -0
- package/source/media/org.volantis/icon/725277-social-media/021-path.svg +73 -0
- package/source/media/org.volantis/icon/725277-social-media/022-etsy.svg +65 -0
- package/source/media/org.volantis/icon/725277-social-media/023-medium.svg +63 -0
- package/source/media/org.volantis/icon/725277-social-media/024-renren.svg +88 -0
- package/source/media/org.volantis/icon/725277-social-media/025-xing.svg +57 -0
- package/source/media/org.volantis/icon/725277-social-media/026-tout.svg +61 -0
- package/source/media/org.volantis/icon/725277-social-media/027-twitter.svg +75 -0
- package/source/media/org.volantis/icon/725277-social-media/028-howcast.svg +64 -0
- package/source/media/org.volantis/icon/725277-social-media/029-yelp.svg +88 -0
- package/source/media/org.volantis/icon/725277-social-media/030-classmates.svg +105 -0
- package/source/media/org.volantis/icon/725277-social-media/031-deviantart.svg +50 -0
- package/source/media/org.volantis/icon/725277-social-media/032-foursquare.svg +62 -0
- package/source/media/org.volantis/icon/725277-social-media/033-kickstarter.svg +56 -0
- package/source/media/org.volantis/icon/725277-social-media/034-dots.svg +76 -0
- package/source/media/org.volantis/icon/725277-social-media/035-tagged.svg +67 -0
- package/source/media/org.volantis/icon/725277-social-media/036-periscope.svg +65 -0
- package/source/media/org.volantis/icon/725277-social-media/037-stumbleupon.svg +66 -0
- package/source/media/org.volantis/icon/725277-social-media/038-youtube.svg +62 -0
- package/source/media/org.volantis/icon/725277-social-media/039-lastfm.svg +76 -0
- package/source/media/org.volantis/icon/725277-social-media/040-reddit.svg +77 -0
- package/source/media/org.volantis/icon/725277-social-media/041-weheartit.svg +66 -0
- package/source/media/org.volantis/icon/725277-social-media/042-pinterest.svg +81 -0
- package/source/media/org.volantis/icon/725277-social-media/043-viadeo.svg +74 -0
- package/source/media/org.volantis/icon/725277-social-media/044-taringa.svg +59 -0
- package/source/media/org.volantis/icon/725277-social-media/045-google-plus.svg +84 -0
- package/source/media/org.volantis/icon/725277-social-media/046-uber.svg +54 -0
- package/source/media/org.volantis/icon/725277-social-media/047-sina-weibo.svg +116 -0
- package/source/media/org.volantis/icon/725277-social-media/048-vimeo.svg +76 -0
- package/source/media/org.volantis/icon/725277-social-media/049-facebook.svg +55 -0
- package/source/media/org.volantis/icon/725277-social-media/050-vk.svg +77 -0
- package/source/media/org.volantis/icon/725277-social-media/051-badoo.svg +60 -0
- package/source/media/org.volantis/icon/725277-social-media/052-dribbble.svg +113 -0
- package/source/media/org.volantis/icon/725277-social-media/053-delicious.svg +45 -0
- package/source/media/org.volantis/icon/725277-social-media/054-soundcloud.svg +67 -0
- package/source/media/org.volantis/icon/725277-social-media/055-tumblr.svg +54 -0
- package/source/media/org.volantis/icon/725277-social-media/056-myspace.svg +69 -0
- package/source/media/org.volantis/icon/725277-social-media/057-spotify.svg +88 -0
- package/source/media/org.volantis/icon/725277-social-media/058-flickr.svg +54 -0
- package/source/media/org.volantis/icon/725277-social-media/059-behance.svg +83 -0
- package/source/media/org.volantis/icon/725277-social-media/060-instagram.svg +61 -0
- package/source/media/org.volantis/icon/ui-interface-21/plus.svg +61 -0
- package/source/media/org.volantis/logo/128/facebook.png +0 -0
- package/source/media/org.volantis/logo/128/github.png +0 -0
- package/source/media/org.volantis/logo/128/google_icon.png +0 -0
- package/source/media/org.volantis/logo/128/google_logo.png +0 -0
- package/source/media/org.volantis/logo/128/googleplus.png +0 -0
- package/source/media/org.volantis/logo/128/linkedin.png +0 -0
- package/source/media/org.volantis/logo/128/qq.png +0 -0
- package/source/media/org.volantis/logo/128/qrcode.png +0 -0
- package/source/media/org.volantis/logo/128/qzone.png +0 -0
- package/source/media/org.volantis/logo/128/telegram.png +0 -0
- package/source/media/org.volantis/logo/128/twitter.png +0 -0
- package/source/media/org.volantis/logo/128/wechat.png +0 -0
- package/source/media/org.volantis/logo/128/weibo.png +0 -0
- package/source/media/org.volantis/logo/128/youdao.png +0 -0
- package/source/media/org.volantis/logo/256/chrome.png +0 -0
- package/source/media/org.volantis/logo/256/facebook.png +0 -0
- package/source/media/org.volantis/logo/256/firefox.png +0 -0
- package/source/media/org.volantis/logo/256/github.png +0 -0
- package/source/media/org.volantis/logo/256/google_icon.png +0 -0
- package/source/media/org.volantis/logo/256/google_logo.png +0 -0
- package/source/media/org.volantis/logo/256/googleplus.png +0 -0
- package/source/media/org.volantis/logo/256/linkedin.png +0 -0
- package/source/media/org.volantis/logo/256/qq.png +0 -0
- package/source/media/org.volantis/logo/256/qrcode.png +0 -0
- package/source/media/org.volantis/logo/256/qzone.png +0 -0
- package/source/media/org.volantis/logo/256/safari.png +0 -0
- package/source/media/org.volantis/logo/256/telegram.png +0 -0
- package/source/media/org.volantis/logo/256/twitter.png +0 -0
- package/source/media/org.volantis/logo/256/wechat.png +0 -0
- package/source/media/org.volantis/logo/256/weibo.png +0 -0
- package/source/media/org.volantis/logo/256/youdao.png +0 -0
- package/source/media/org.volantis/logo/64/chrome.png +0 -0
- package/source/media/org.volantis/logo/64/facebook.png +0 -0
- package/source/media/org.volantis/logo/64/firefox.png +0 -0
- package/source/media/org.volantis/logo/64/github.png +0 -0
- package/source/media/org.volantis/logo/64/google_icon.png +0 -0
- package/source/media/org.volantis/logo/64/google_logo.png +0 -0
- package/source/media/org.volantis/logo/64/googleplus.png +0 -0
- package/source/media/org.volantis/logo/64/linkedin.png +0 -0
- package/source/media/org.volantis/logo/64/qq.png +0 -0
- package/source/media/org.volantis/logo/64/qrcode.png +0 -0
- package/source/media/org.volantis/logo/64/qzone.png +0 -0
- package/source/media/org.volantis/logo/64/safari.png +0 -0
- package/source/media/org.volantis/logo/64/telegram.png +0 -0
- package/source/media/org.volantis/logo/64/twitter.png +0 -0
- package/source/media/org.volantis/logo/64/wechat.png +0 -0
- package/source/media/org.volantis/logo/64/weibo.png +0 -0
- package/source/media/org.volantis/logo/64/youdao.png +0 -0
- package/source/media/org.volantis/placeholder/c617bfd2497fcea598e621413e315c368f8d8e.svg +23 -0
- package/source/media/org.volantis/placeholder/d570170f4f12e1ee829ca0e85a7dffeb77343a.svg +29 -0
- package/source/media/org.volantis/placeholder/f107c4d98691c0e2f4592acf09f83acb46fdf7.svg +20 -0
- package/source/media/placeholder/404/1c830bfcd517d.svg +70 -0
- package/source/media/placeholder/LICENSE +21 -0
- package/source/media/placeholder/README.md +8 -0
- package/source/media/placeholder/arrow/064b95430caf4.svg +11 -0
- package/source/media/placeholder/arrow/f049bbd4e88ec.svg +11 -0
- package/source/media/placeholder/avatar/rect/2922565.svg +1 -0
- package/source/media/placeholder/avatar/round/3442055.svg +1 -0
- package/source/media/placeholder/avatar/round/3442075.svg +1 -0
- package/source/media/placeholder/avatar/round/3442091.svg +1 -0
- package/source/media/placeholder/avatar/round/547413.svg +116 -0
- package/source/media/placeholder/avatar/round/547420.svg +108 -0
- package/source/media/placeholder/avatar/round/rainbow64@2x.webp +0 -0
- package/source/media/placeholder/avatar/round/rainbow64@3x.webp +0 -0
- package/source/media/placeholder/badge/3279dd441df8b.svg +1 -0
- package/source/media/placeholder/cover/76b86c0226ffd.svg +95 -0
- package/source/media/placeholder/frame/iphone11.svg +1 -0
- package/source/media/placeholder/image/2659360.svg +1 -0
- package/source/media/placeholder/link/8f277b4ee0ecd.svg +1 -0
- package/source/media/placeholder/social/08a41b181ce68.svg +27 -0
- package/source/media/placeholder/social/25678f144c438.svg +65 -0
- package/source/media/placeholder/social/3616429.svg +1 -0
- package/source/media/placeholder/social/3845874.svg +114 -0
- package/source/media/placeholder/social/80c07e4dbb303.svg +1 -0
- package/source/media/placeholder/social/8411ed322ced6.svg +21 -0
- package/source/media/placeholder/social/942ebbf1a4b91.svg +43 -0
- package/source/media/placeholder/social/a1b00e20f425d.svg +39 -0
- package/source/media/placeholder/social/b32ef3da1162a.svg +55 -0
- package/source/media/placeholder/social/cf1ae151f9e83.svg +110 -0
- package/source/media/twemoji/LICENSE +19 -0
- package/source/media/twemoji/README.md +256 -0
- package/source/media/twemoji/assets/svg/1f389.svg +1 -0
- package/source/media/twemoji/assets/svg/1f396.svg +1 -0
- package/source/media/twemoji/assets/svg/1f4cc.svg +1 -0
- package/source/media/twemoji/assets/svg/1f4f0.svg +1 -0
- package/source/media/twemoji/assets/svg/1f516.svg +1 -0
- package/source/media/twemoji/assets/svg/1f5c3.svg +1 -0
- package/source/media/twemoji/assets/svg/1f9ec.svg +1 -0
- package/.eslintrc.json +0 -111
- package/layout/_partial/rightmenu.ejs +0 -204
- package/layout/_partial/scripts/cover.ejs +0 -45
- package/layout/_partial/scripts/darkmode.ejs +0 -83
- package/layout/_partial/scripts/issues.ejs +0 -15
- package/layout/_partial/scripts/loadfunction.ejs +0 -72
- package/layout/_partial/scripts/search.ejs +0 -62
- package/layout/_partial/snackbar.ejs +0 -22
- package/layout/_third-party/analytics/script.ejs +0 -24
- package/layout/_third-party/aplayer/script.ejs +0 -24
- package/layout/_third-party/clipboard/script.ejs +0 -53
- package/layout/_third-party/comments/disqus/layout.ejs +0 -5
- package/layout/_third-party/comments/disqus/script.ejs +0 -90
- package/layout/_third-party/comments/disqusjs/layout.ejs +0 -1
- package/layout/_third-party/comments/disqusjs/script.ejs +0 -37
- package/layout/_third-party/comments/gitalk/layout.ejs +0 -1
- package/layout/_third-party/comments/gitalk/script.ejs +0 -22
- package/layout/_third-party/comments/hashover/layout.ejs +0 -2
- package/layout/_third-party/comments/hashover/script.ejs +0 -1
- package/layout/_third-party/comments/isso/layout.ejs +0 -1
- package/layout/_third-party/comments/isso/script.ejs +0 -1
- package/layout/_third-party/comments/livere/layout.ejs +0 -3
- package/layout/_third-party/comments/livere/script.ejs +0 -10
- package/layout/_third-party/comments/minivaline/layout.ejs +0 -3
- package/layout/_third-party/comments/minivaline/script.ejs +0 -36
- package/layout/_third-party/comments/twikoo/layout.ejs +0 -3
- package/layout/_third-party/comments/twikoo/script.ejs +0 -34
- package/layout/_third-party/comments/valine/layout.ejs +0 -3
- package/layout/_third-party/comments/vssue/layout.ejs +0 -1
- package/layout/_third-party/comments/vssue/script.ejs +0 -22
- package/layout/_third-party/comments/waline/layout.ejs +0 -3
- package/layout/_third-party/comments/waline/script.ejs +0 -33
- package/layout/_third-party/fancybox/script.ejs +0 -50
- package/layout/_third-party/killOldVersionsOfIE/script.ejs +0 -7
- package/layout/_third-party/pjax/index.ejs +0 -128
- package/layout/_third-party/pjax/pdata.ejs +0 -47
- package/layout/_third-party/scrollreveal/script.ejs +0 -20
- package/layout/_third-party/tidio/script.ejs +0 -3
- package/layout/artitalk.ejs +0 -13
- package/layout/bb.ejs +0 -10
- package/package-lock.json +0 -916
- package/scripts/tags/issues.js +0 -41
- package/source/css/_highlight/index.styl +0 -316
- package/source/css/_layout/friends.styl +0 -79
- package/source/css/_plugins/clipboard.styl +0 -37
- package/source/css/_plugins/darkmode.styl +0 -9
- package/source/css/_plugins/twikoo.styl +0 -21
- package/source/css/_tag-plugins/simpleuser.styl +0 -21
- package/source/css/_tag-plugins/site-card.styl +0 -70
- package/source/js/aplayer.js +0 -159
- package/source/js/issues.js +0 -186
- package/source/js/search/algolia.js +0 -344
- package/source/js/search/azure.js +0 -355
- package/source/js/search/baidu.js +0 -340
- package/source/js/search/google.js +0 -339
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function getType(file) {
|
|
2
|
+
var filename = file;
|
|
3
|
+
var index1 = filename.lastIndexOf(".");
|
|
4
|
+
var index2 = filename.length;
|
|
5
|
+
var type = filename.substring(index1 + 1, index2);
|
|
6
|
+
return type;
|
|
7
|
+
}
|
|
8
|
+
function getLink_preload(Url) {
|
|
9
|
+
return `<link rel="preload" href="${Url}" as="font" type="font/${getType(Url)}" crossorigin="anonymous">\n`
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
hexo.extend.helper.register("generate_preload_fontfamily", function (theme) {
|
|
13
|
+
const hexo = this;
|
|
14
|
+
let preload = "";
|
|
15
|
+
if (theme.custom_css.fontfamily.logofont && theme.custom_css.fontfamily.logofont.url) {
|
|
16
|
+
preload += getLink_preload(theme.custom_css.fontfamily.logofont.url)
|
|
17
|
+
}
|
|
18
|
+
if (theme.custom_css.fontfamily.bodyfont && theme.custom_css.fontfamily.bodyfont.url) {
|
|
19
|
+
preload += getLink_preload(theme.custom_css.fontfamily.bodyfont.url)
|
|
20
|
+
}
|
|
21
|
+
return preload
|
|
22
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
hexo.extend.helper.register('generate_seo', function (theme, page) {
|
|
2
|
+
const hexo = this;
|
|
3
|
+
let robots_content="";
|
|
4
|
+
if (page.robots) {
|
|
5
|
+
robots_content = page.robots
|
|
6
|
+
} else if (theme.seo && theme.seo.robots) {
|
|
7
|
+
if (hexo.is_home()) {
|
|
8
|
+
if (page.prev == 0) {
|
|
9
|
+
robots_content=theme.seo.robots.home_first_page
|
|
10
|
+
}else{
|
|
11
|
+
robots_content=theme.seo.robots.home_other_pages
|
|
12
|
+
}
|
|
13
|
+
} else if (hexo.is_archive()) {
|
|
14
|
+
robots_content=theme.seo.robots.archive
|
|
15
|
+
} else if (hexo.is_category()) {
|
|
16
|
+
robots_content=theme.seo.robots.category
|
|
17
|
+
} else if (hexo.is_tag()) {
|
|
18
|
+
robots_content=theme.seo.robots.tag
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if(robots_content){
|
|
22
|
+
return `<meta name="robots" content="${robots_content}">`
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
function init(hexo, config, theme, page) {
|
|
2
|
+
var title = page.seo_title || page.title;
|
|
3
|
+
var keywords = page.keywords || "";
|
|
4
|
+
var description = page.description || "";
|
|
5
|
+
if (hexo.is_archive()) {
|
|
6
|
+
title = hexo.__("navbar.archive");
|
|
7
|
+
if (hexo.is_month()) {
|
|
8
|
+
title += hexo.__("symbol.colon") + page.year + "/" + page.month;
|
|
9
|
+
} else if (hexo.is_year()) {
|
|
10
|
+
title += hexo.__("symbol.colon") + page.year;
|
|
11
|
+
}
|
|
12
|
+
} else if (hexo.is_category()) {
|
|
13
|
+
title = hexo.__("navbar.category") + hexo.__("symbol.colon") + page.category;
|
|
14
|
+
} else if (hexo.is_tag()) {
|
|
15
|
+
title = hexo.__("navbar.tag") + hexo.__("symbol.colon") + page.tag;
|
|
16
|
+
} else if (hexo.is_home() && page.prev == 0) {
|
|
17
|
+
keywords = config.keywords || "";
|
|
18
|
+
description = config.description || "";
|
|
19
|
+
} else {
|
|
20
|
+
if (
|
|
21
|
+
page.layout == "docs" &&
|
|
22
|
+
page.group &&
|
|
23
|
+
page.group in theme.sidebar.widget_library
|
|
24
|
+
) {
|
|
25
|
+
let widget = theme.sidebar.widget_library[page.group];
|
|
26
|
+
if (widget.class == "group" && widget.seo_title) {
|
|
27
|
+
title = widget.seo_title + ": " + title;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (theme.seo && theme.seo.use_tags_as_keywords) {
|
|
32
|
+
if (!keywords && page.tags && page.tags.length > 0) {
|
|
33
|
+
let tags = page.tags
|
|
34
|
+
.map(function (t) {
|
|
35
|
+
return t.name;
|
|
36
|
+
})
|
|
37
|
+
.join(",");
|
|
38
|
+
if (tags.length > 0) {
|
|
39
|
+
keywords += tags;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (theme.seo && theme.seo.use_excerpt_as_description) {
|
|
44
|
+
if (page.description == undefined) {
|
|
45
|
+
if (page.excerpt) {
|
|
46
|
+
description = hexo.truncate(hexo.strip_html(page.excerpt), { length: 160 });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
title: title,
|
|
52
|
+
keywords: keywords,
|
|
53
|
+
description: description,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
hexo.extend.helper.register("generate_title", function (config, theme, page) {
|
|
58
|
+
const hexo = this;
|
|
59
|
+
let data = init(hexo, config, theme, page);
|
|
60
|
+
let title = data.title
|
|
61
|
+
let s = "<title>"
|
|
62
|
+
if (title) {
|
|
63
|
+
s += `${title} - `
|
|
64
|
+
}
|
|
65
|
+
s += `${config.title}</title>`
|
|
66
|
+
return s
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
hexo.extend.helper.register("generate_keywords", function (config, theme, page) {
|
|
70
|
+
const hexo = this;
|
|
71
|
+
let data = init(hexo, config, theme, page);
|
|
72
|
+
let keywords = data.keywords
|
|
73
|
+
if (!(hexo.is_home() && page.prev == 0)) {
|
|
74
|
+
if (keywords) {
|
|
75
|
+
keywords += `,`
|
|
76
|
+
}
|
|
77
|
+
keywords += `${config.keywords}`
|
|
78
|
+
}
|
|
79
|
+
return `<meta name="keywords" content="${keywords}">`
|
|
80
|
+
});
|
|
81
|
+
// open_graph() 函数会生成一个 description 标签??? https://github.com/hexojs/hexo/blob/92b979f4a3fa8714aebd3d11c3295d466b870905/lib/plugins/helper/open_graph.js#L98
|
|
82
|
+
hexo.extend.helper.register("generate_description", function (config, theme, page) {
|
|
83
|
+
const hexo = this;
|
|
84
|
+
let data = init(hexo, config, theme, page);
|
|
85
|
+
let description = data.description
|
|
86
|
+
if (!description) {
|
|
87
|
+
description += config.description
|
|
88
|
+
}
|
|
89
|
+
description += ` - ${config.author} - ${config.title}`
|
|
90
|
+
return `<meta name="description" content="${description}">`
|
|
91
|
+
});
|
|
@@ -24,7 +24,7 @@ hexo.extend.helper.register('htmlGenerator', function(args) {
|
|
|
24
24
|
var ret = '';
|
|
25
25
|
ret += '<a class="item" href="' + list.path + '" title="' + list.title + '" rel="bookmark ">';
|
|
26
26
|
|
|
27
|
-
if (cfg.placeholder_img.length > 0) {
|
|
27
|
+
if (cfg.placeholder_img && cfg.placeholder_img.length > 0) {
|
|
28
28
|
if (list.img && list.img != '') {
|
|
29
29
|
ret += '<img src="' + list.img + '" />';
|
|
30
30
|
} else {
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
module.exports = (hexo, option) => {
|
|
2
|
+
const { config, page: post } = hexo;
|
|
3
|
+
|
|
4
|
+
const blogposting = {
|
|
5
|
+
"@context": "http://schema.org",
|
|
6
|
+
"@type": "BlogPosting",
|
|
7
|
+
headline: post.title,
|
|
8
|
+
description: post.description || hexo.strip_html(post.excerpt),
|
|
9
|
+
datePublished: post.date.toISOString(),
|
|
10
|
+
dateModified: post.updated.toISOString(),
|
|
11
|
+
inLanguage: config.language,
|
|
12
|
+
mainEntityOfPage: {
|
|
13
|
+
"@type": "WebPage",
|
|
14
|
+
"@id": post.permalink,
|
|
15
|
+
},
|
|
16
|
+
author: {
|
|
17
|
+
"@type": "Person",
|
|
18
|
+
name: option.person.name,
|
|
19
|
+
image: {
|
|
20
|
+
"@type": "ImageObject",
|
|
21
|
+
url: option.logo.path,
|
|
22
|
+
},
|
|
23
|
+
url: option.person.url,
|
|
24
|
+
},
|
|
25
|
+
publisher: {
|
|
26
|
+
"@type": "Organization",
|
|
27
|
+
name: option.organization.name,
|
|
28
|
+
logo: {
|
|
29
|
+
"@type": "ImageObject",
|
|
30
|
+
url: option.logo.path,
|
|
31
|
+
width: option.logo.width,
|
|
32
|
+
height: option.logo.height,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
url: post.permalink,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
blogposting.wordCount = hexo.strip_html(post.excerpt).length;
|
|
39
|
+
|
|
40
|
+
if (post.categories && post.categories.length) {
|
|
41
|
+
blogposting.articleSection = post.categories.data[0].name;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (post.tags && post.tags.length) {
|
|
45
|
+
blogposting.keywords = post.tags.map((tag) => tag.name).join(",");
|
|
46
|
+
}
|
|
47
|
+
let image = post.headimg || "";
|
|
48
|
+
if (image) {
|
|
49
|
+
blogposting.image = {
|
|
50
|
+
"@type": "ImageObject",
|
|
51
|
+
url: image,
|
|
52
|
+
width: 1024,
|
|
53
|
+
height: 768,
|
|
54
|
+
};
|
|
55
|
+
}else{
|
|
56
|
+
blogposting.image = {
|
|
57
|
+
"@type": "ImageObject",
|
|
58
|
+
url: option.logo.path,
|
|
59
|
+
width: option.logo.width,
|
|
60
|
+
height: option.logo.height,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return blogposting;
|
|
65
|
+
};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
module.exports = (hexo, option) => {
|
|
2
|
+
const { config, page } = hexo;
|
|
3
|
+
|
|
4
|
+
const breadcrumb = {
|
|
5
|
+
"@context": "http://schema.org",
|
|
6
|
+
"@type": "BreadcrumbList",
|
|
7
|
+
itemListElement: [
|
|
8
|
+
{
|
|
9
|
+
"@type": "ListItem",
|
|
10
|
+
position: 1,
|
|
11
|
+
item: {
|
|
12
|
+
"@id": config.url + config.root,
|
|
13
|
+
name: config.title,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
if (hexo.is_category()) {
|
|
20
|
+
let { category_dir, category_map: map } = config;
|
|
21
|
+
if (!Array.isArray(map)) map = [];
|
|
22
|
+
if (category_dir === "/") category_dir = "";
|
|
23
|
+
if (category_dir.slice(-1) !== "/") category_dir += "/";
|
|
24
|
+
const category_path =
|
|
25
|
+
category_dir + (map[page.category] || page.category) + "/";
|
|
26
|
+
|
|
27
|
+
breadcrumb.itemListElement.push({
|
|
28
|
+
"@type": "ListItem",
|
|
29
|
+
position: 2,
|
|
30
|
+
item: {
|
|
31
|
+
"@id": config.url + config.root + category_path,
|
|
32
|
+
name: page.category,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (hexo.is_tag()) {
|
|
38
|
+
let { tag_dir, tag_map: map } = config;
|
|
39
|
+
if (!Array.isArray(map)) map = [];
|
|
40
|
+
if (tag_dir === "/") tag_dir = "";
|
|
41
|
+
if (tag_dir.slice(-1) !== "/") tag_dir += "/";
|
|
42
|
+
const tag_path = tag_dir + (map[page.tag] || page.tag) + "/";
|
|
43
|
+
|
|
44
|
+
breadcrumb.itemListElement.push({
|
|
45
|
+
"@type": "ListItem",
|
|
46
|
+
position: 2,
|
|
47
|
+
item: {
|
|
48
|
+
"@id": config.url + config.root + tag_path,
|
|
49
|
+
name: page.tag,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (hexo.is_archive()) {
|
|
55
|
+
let { archive_dir } = config;
|
|
56
|
+
if (archive_dir.slice(-1) !== "/") archive_dir += "/";
|
|
57
|
+
|
|
58
|
+
breadcrumb.itemListElement.push({
|
|
59
|
+
"@type": "ListItem",
|
|
60
|
+
position: 2,
|
|
61
|
+
item: {
|
|
62
|
+
"@id": config.url + config.root + archive_dir,
|
|
63
|
+
name: "Archive",
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
let timezone = config.timezone || "Asia/Shanghai";
|
|
67
|
+
if (hexo.is_year()) {
|
|
68
|
+
const dtf = new Intl.DateTimeFormat(config.language, {
|
|
69
|
+
year: "numeric",
|
|
70
|
+
timeZone: timezone,
|
|
71
|
+
});
|
|
72
|
+
breadcrumb.itemListElement.push({
|
|
73
|
+
"@type": "ListItem",
|
|
74
|
+
position: 3,
|
|
75
|
+
item: {
|
|
76
|
+
"@id": config.url + config.root + archive_dir + page.year + "/",
|
|
77
|
+
name: dtf.format(new Date(page.year, 0, 1)),
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (hexo.is_month()) {
|
|
83
|
+
const dtf = new Intl.DateTimeFormat(config.language, {
|
|
84
|
+
month: "numeric",
|
|
85
|
+
timeZone: timezone,
|
|
86
|
+
});
|
|
87
|
+
breadcrumb.itemListElement.push({
|
|
88
|
+
"@type": "ListItem",
|
|
89
|
+
position: 4,
|
|
90
|
+
item: {
|
|
91
|
+
"@id":
|
|
92
|
+
config.url +
|
|
93
|
+
config.root +
|
|
94
|
+
archive_dir +
|
|
95
|
+
page.year +
|
|
96
|
+
"/" +
|
|
97
|
+
page.month +
|
|
98
|
+
"/",
|
|
99
|
+
name: dtf.format(new Date(page.year, page.month - 1, 1)),
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (hexo.is_post()) {
|
|
106
|
+
page.categories.data.forEach((category) =>
|
|
107
|
+
breadcrumb.itemListElement.push({
|
|
108
|
+
"@type": "ListItem",
|
|
109
|
+
position: 2,
|
|
110
|
+
item: {
|
|
111
|
+
"@id": config.url + config.root + category.path,
|
|
112
|
+
name: category.name,
|
|
113
|
+
},
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
breadcrumb.itemListElement.push({
|
|
118
|
+
"@type": "ListItem",
|
|
119
|
+
position: 3,
|
|
120
|
+
item: {
|
|
121
|
+
"@id": config.url + config.root + page.path,
|
|
122
|
+
name: page.title,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return breadcrumb;
|
|
128
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module.exports = function (hexo) {
|
|
2
|
+
const {config} = hexo;
|
|
3
|
+
return {
|
|
4
|
+
person: {
|
|
5
|
+
name: config.author,
|
|
6
|
+
url: config.url + config.root,
|
|
7
|
+
sns: [],
|
|
8
|
+
description: config.description,
|
|
9
|
+
},
|
|
10
|
+
logo: {
|
|
11
|
+
path: /404/,
|
|
12
|
+
width: 192,
|
|
13
|
+
height: 192,
|
|
14
|
+
},
|
|
15
|
+
organization: {
|
|
16
|
+
name: config.title,
|
|
17
|
+
url: config.url + config.root,
|
|
18
|
+
},
|
|
19
|
+
website: {
|
|
20
|
+
name: config.title,
|
|
21
|
+
url: config.url + config.root,
|
|
22
|
+
keywords: config.keywords,
|
|
23
|
+
description: config.description,
|
|
24
|
+
search: {
|
|
25
|
+
name: "Site Search",
|
|
26
|
+
url: config.url + "?s={search_term_string}",
|
|
27
|
+
query: "required name=search_term_string",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const config = require("./config");
|
|
2
|
+
|
|
3
|
+
const WebSite = require("./website");
|
|
4
|
+
const Organization = require("./organization");
|
|
5
|
+
const Person = require("./person");
|
|
6
|
+
const BlogPosting = require("./blogposting");
|
|
7
|
+
const BreadcrumbList = require("./breadcrumblist");
|
|
8
|
+
|
|
9
|
+
function isObject(item) {
|
|
10
|
+
return item && typeof item === 'object' && !Array.isArray(item);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function merge(target, source) {
|
|
14
|
+
for (const key in source) {
|
|
15
|
+
if (isObject(target[key]) && isObject(source[key])) {
|
|
16
|
+
merge(target[key], source[key]);
|
|
17
|
+
} else {
|
|
18
|
+
target[key] = source[key];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return target;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = function () {
|
|
25
|
+
const hexo = this;
|
|
26
|
+
const option = merge(config(hexo), hexo.theme.structured_data.data);
|
|
27
|
+
const builder = [Organization, Person, BreadcrumbList];
|
|
28
|
+
|
|
29
|
+
if (hexo.is_post()) {
|
|
30
|
+
builder.push(BlogPosting);
|
|
31
|
+
} else {
|
|
32
|
+
builder.push(WebSite);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const jsonld = JSON.stringify(builder.map((f) => f(hexo, option)));
|
|
36
|
+
|
|
37
|
+
return `<script type="application/ld+json">${jsonld}</script>`;
|
|
38
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
module.exports = (hexo, option) => {
|
|
3
|
+
return {
|
|
4
|
+
"@context": "http://schema.org",
|
|
5
|
+
"@type": "Organization",
|
|
6
|
+
"name": option.organization.name,
|
|
7
|
+
"url": option.organization.url,
|
|
8
|
+
"logo": {
|
|
9
|
+
"@type": "ImageObject",
|
|
10
|
+
"url": option.logo.path,
|
|
11
|
+
"width": option.logo.width,
|
|
12
|
+
"height": option.logo.height
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module.exports = (hexo, option) => {
|
|
2
|
+
const { config } = hexo;
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
"@context": "http://schema.org",
|
|
6
|
+
"@type": "Person",
|
|
7
|
+
name: option.person.name,
|
|
8
|
+
image: {
|
|
9
|
+
"@type": "ImageObject",
|
|
10
|
+
url: option.logo.path,
|
|
11
|
+
},
|
|
12
|
+
url: option.person.url,
|
|
13
|
+
sameAs: option.person.sns,
|
|
14
|
+
description: option.person.description,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module.exports = (hexo,option) => {
|
|
2
|
+
const { config } = hexo;
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
"@context": "http://schema.org",
|
|
6
|
+
"@type": "WebSite",
|
|
7
|
+
name: option.website.name,
|
|
8
|
+
url: option.website.url,
|
|
9
|
+
keywords: option.website.keywords,
|
|
10
|
+
description: option.website.description,
|
|
11
|
+
author: {
|
|
12
|
+
"@type": "Person",
|
|
13
|
+
name: option.person.name,
|
|
14
|
+
image: {
|
|
15
|
+
"@type": "ImageObject",
|
|
16
|
+
url: option.logo.path,
|
|
17
|
+
},
|
|
18
|
+
url: option.person.url,
|
|
19
|
+
description: option.person.description,
|
|
20
|
+
},
|
|
21
|
+
publisher: {
|
|
22
|
+
"@type": "Organization",
|
|
23
|
+
name: option.organization.name,
|
|
24
|
+
url: option.organization.url,
|
|
25
|
+
logo: {
|
|
26
|
+
"@type": "ImageObject",
|
|
27
|
+
url: option.logo.path,
|
|
28
|
+
width: option.logo.width,
|
|
29
|
+
height: option.logo.height,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
potentialAction: {
|
|
33
|
+
"@type": "SearchAction",
|
|
34
|
+
name: option.website.search.name,
|
|
35
|
+
target: {
|
|
36
|
+
"@type": "EntryPoint",
|
|
37
|
+
urlTemplate: option.website.search.url,
|
|
38
|
+
},
|
|
39
|
+
"query-input": option.website.search.query,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
// 标签插件样式按需加载
|
|
2
|
+
const fs = require("hexo-fs");
|
|
3
|
+
const Database = require('warehouse'); // https://hexojs.github.io/warehouse/
|
|
4
|
+
|
|
5
|
+
hexo.database.model("TagPluginCSS", new Database.Schema({
|
|
6
|
+
_id: { type: String, required: true },
|
|
7
|
+
data: { type: String }
|
|
8
|
+
}));
|
|
9
|
+
|
|
10
|
+
hexo.database.model("TagPluginOfPost", new Database.Schema({
|
|
11
|
+
_id: { type: String, required: true },
|
|
12
|
+
tags: { type: Array }
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
const findTags = (data) => {
|
|
16
|
+
dataList = data.match(/{% (\w*?)\W.*?%}/g)
|
|
17
|
+
let tagSet = new Set()
|
|
18
|
+
if (dataList) {
|
|
19
|
+
dataList.forEach(e => {
|
|
20
|
+
let tag = /{% (\w*?)\W.*?%}/g.exec(e)
|
|
21
|
+
if (tag && tag[1].indexOf('end') != 0) {
|
|
22
|
+
tagSet.add(tag[1])
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return Array.from(tagSet)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const renderStyl = (styList, callback) => {
|
|
30
|
+
let stySet = new Set(styList)
|
|
31
|
+
let tagPageStyleDir = "_style/_tag-plugins/"
|
|
32
|
+
let tagPageStyle = `@import '_defines/*'\n`
|
|
33
|
+
stySet.forEach(e => {
|
|
34
|
+
tagPageStyle += `@import '` + tagPageStyleDir + e + `'` + "\n"
|
|
35
|
+
})
|
|
36
|
+
hexo.renderStylus(tagPageStyle).then(callback)
|
|
37
|
+
}
|
|
38
|
+
function getTagPluginCSSInfo() {
|
|
39
|
+
let info = hexo.locals.get('TagPluginCSSInfo')
|
|
40
|
+
if (!info) {
|
|
41
|
+
info = fs.readFileSync(
|
|
42
|
+
hexo.theme.context.theme_dir + "source/css/_style/_tag-plugins/tag.json"
|
|
43
|
+
);
|
|
44
|
+
info = JSON.parse(info)
|
|
45
|
+
hexo.locals.set('TagPluginCSSInfo', function () {
|
|
46
|
+
return info
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return info
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function setTagPluginCSS(uuidTagCSS, css) {
|
|
53
|
+
let TagPluginCSS = hexo.locals.get('TagPluginCSS')
|
|
54
|
+
if (!TagPluginCSS) {
|
|
55
|
+
TagPluginCSS = {}
|
|
56
|
+
}
|
|
57
|
+
TagPluginCSS[uuidTagCSS] = css
|
|
58
|
+
hexo.locals.set('TagPluginCSS', function () {
|
|
59
|
+
return TagPluginCSS
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function renderTagCSSAllPage(info) {
|
|
63
|
+
let styListAllPage = []
|
|
64
|
+
hexo.theme.config.plugins.tag_plugin_load_on_demand.plugins.forEach(e => {
|
|
65
|
+
if (e in info) {
|
|
66
|
+
info[e].forEach(x => {
|
|
67
|
+
styListAllPage.push(x)
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
renderStyl(styListAllPage, (css) => {
|
|
72
|
+
setTagPluginCSS("AllPage", css)
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
function insertTagCSS(uuidTagCSS, tagList) {
|
|
77
|
+
let info = getTagPluginCSSInfo()
|
|
78
|
+
let styList = []
|
|
79
|
+
let tagListSave = []
|
|
80
|
+
if (tagList) {
|
|
81
|
+
tagList.forEach(e => {
|
|
82
|
+
if (e in info) {
|
|
83
|
+
info[e].forEach(x => {
|
|
84
|
+
styList.push(x)
|
|
85
|
+
})
|
|
86
|
+
tagListSave.push(e)
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
hexo.theme.config.plugins.tag_plugin_load_on_demand.plugins.forEach(e => {
|
|
91
|
+
if (e in info) {
|
|
92
|
+
info[e].forEach(x => {
|
|
93
|
+
styList.push(x)
|
|
94
|
+
})
|
|
95
|
+
tagListSave.push(e)
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
renderStyl(styList, (css) => {
|
|
99
|
+
setTagPluginCSS(uuidTagCSS, css)
|
|
100
|
+
})
|
|
101
|
+
if (!hexo.locals.get('TagCSSAllPageFlag') && hexo.theme.config.plugins.tag_plugin_load_on_demand.plugins) {
|
|
102
|
+
hexo.locals.set('TagCSSAllPageFlag', function () {
|
|
103
|
+
return 1
|
|
104
|
+
});
|
|
105
|
+
renderTagCSSAllPage(info)
|
|
106
|
+
}
|
|
107
|
+
hexo.database.model('TagPluginOfPost').insert({
|
|
108
|
+
_id: uuidTagCSS,
|
|
109
|
+
tags: tagListSave,
|
|
110
|
+
})
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function updateTagCSS(uuidTagCSS) {
|
|
114
|
+
// 这里在第二次刷新页面时生效
|
|
115
|
+
let arg = process.argv[2];
|
|
116
|
+
if (arg != "s" && arg != "server") {
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
let info = getTagPluginCSSInfo()
|
|
120
|
+
let res = hexo.database.model('TagPluginOfPost').find({ _id: uuidTagCSS })
|
|
121
|
+
if (res && res.data && res.data[0] && res.data[0].tags) {
|
|
122
|
+
let tags = res.data[0].tags;
|
|
123
|
+
let styList = []
|
|
124
|
+
tags.forEach(e => {
|
|
125
|
+
if (e in info) {
|
|
126
|
+
info[e].forEach(x => {
|
|
127
|
+
styList.push(x)
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
})
|
|
131
|
+
renderStyl(styList, (css) => {
|
|
132
|
+
setTagPluginCSS(uuidTagCSS, css)
|
|
133
|
+
})
|
|
134
|
+
} else {
|
|
135
|
+
renderTagCSSAllPage(info)
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function generateTagCSS(data) {
|
|
140
|
+
if (!hexo.theme.config.plugins.tag_plugin_load_on_demand.enable) {
|
|
141
|
+
return data
|
|
142
|
+
}
|
|
143
|
+
let uuidTagCSS = hexo.createUuid()
|
|
144
|
+
data.uuidTagCSS = uuidTagCSS
|
|
145
|
+
let tagList = findTags(data._content)
|
|
146
|
+
insertTagCSS(uuidTagCSS, tagList)
|
|
147
|
+
return data;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function getTagCSS(page) {
|
|
151
|
+
if (!hexo.theme.config.plugins.tag_plugin_load_on_demand.enable) {
|
|
152
|
+
return
|
|
153
|
+
}
|
|
154
|
+
updateTagCSS(page.uuidTagCSS)
|
|
155
|
+
let TagPluginCSS = hexo.locals.get('TagPluginCSS')
|
|
156
|
+
if (TagPluginCSS) {
|
|
157
|
+
if (TagPluginCSS[page.uuidTagCSS]) {
|
|
158
|
+
return TagPluginCSS[page.uuidTagCSS]
|
|
159
|
+
} else {
|
|
160
|
+
return TagPluginCSS["AllPage"]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
hexo.extend.filter.register("before_generate", function () {
|
|
165
|
+
if (!hexo.theme.config.plugins.tag_plugin_load_on_demand.enable) {
|
|
166
|
+
return
|
|
167
|
+
}
|
|
168
|
+
let arg = process.argv[2];
|
|
169
|
+
if (arg != "s" && arg != "server") {
|
|
170
|
+
return
|
|
171
|
+
}
|
|
172
|
+
// 只执行一次
|
|
173
|
+
if (hexo.locals.get('TagCSSbeforeFlag')) {
|
|
174
|
+
return
|
|
175
|
+
}
|
|
176
|
+
hexo.locals.set('TagCSSbeforeFlag', function () {
|
|
177
|
+
return 1
|
|
178
|
+
});
|
|
179
|
+
let info = getTagPluginCSSInfo()
|
|
180
|
+
hexo.database.model('TagPluginOfPost').forEach(x => {
|
|
181
|
+
if (x.tags) {
|
|
182
|
+
let tags = x.tags;
|
|
183
|
+
let styList = []
|
|
184
|
+
tags.forEach(e => {
|
|
185
|
+
if (e in info) {
|
|
186
|
+
info[e].forEach(x => {
|
|
187
|
+
styList.push(x)
|
|
188
|
+
})
|
|
189
|
+
}
|
|
190
|
+
})
|
|
191
|
+
renderStyl(styList, (css) => {
|
|
192
|
+
setTagPluginCSS(x._id, css)
|
|
193
|
+
})
|
|
194
|
+
}
|
|
195
|
+
})
|
|
196
|
+
renderTagCSSAllPage(info)
|
|
197
|
+
});
|
|
198
|
+
hexo.extend.filter.register('before_post_render', generateTagCSS)
|
|
199
|
+
hexo.extend.helper.register("TagCSS", getTagCSS);
|