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.
Files changed (853) hide show
  1. package/README.md +1 -1
  2. package/_config.yml +434 -142
  3. package/languages/en.yml +7 -0
  4. package/languages/zh-CN.yml +13 -2
  5. package/languages/zh-TW.yml +7 -0
  6. package/layout/404.ejs +1 -1
  7. package/layout/_meta/author.ejs +4 -4
  8. package/layout/_meta/category.ejs +11 -8
  9. package/layout/_meta/counter.ejs +5 -2
  10. package/layout/_meta/date.ejs +1 -1
  11. package/layout/_meta/music.ejs +1 -1
  12. package/layout/_meta/share.ejs +1 -1
  13. package/layout/_meta/tags.ejs +3 -0
  14. package/layout/_meta/thumbnail.ejs +3 -1
  15. package/layout/_meta/updated.ejs +1 -1
  16. package/layout/{_cover → _partial/_cover}/blank.ejs +0 -0
  17. package/layout/{_cover → _partial/_cover}/dock.ejs +1 -1
  18. package/layout/{_cover → _partial/_cover}/featured.ejs +1 -1
  19. package/layout/{_cover → _partial/_cover}/focus.ejs +1 -1
  20. package/layout/_partial/_cover/layout.ejs +8 -0
  21. package/layout/{_cover → _partial/_cover}/search.ejs +1 -1
  22. package/layout/_partial/article.ejs +17 -12
  23. package/layout/_partial/cover.ejs +8 -28
  24. package/layout/_partial/footer.ejs +18 -10
  25. package/layout/_partial/head.ejs +55 -110
  26. package/layout/_partial/header.ejs +16 -10
  27. package/layout/_partial/meta.ejs +18 -4
  28. package/layout/_partial/post.ejs +35 -9
  29. package/layout/_partial/scripts/_ctrl/cdnCtrl.ejs +113 -0
  30. package/layout/_partial/scripts/{coverCtrl.ejs → _ctrl/coverCtrl.ejs} +22 -26
  31. package/layout/_partial/scripts/_ctrl.ejs +2 -0
  32. package/layout/_partial/scripts/content-visibility-scroll-fix.ejs +86 -0
  33. package/layout/_partial/scripts/global.ejs +355 -0
  34. package/layout/_partial/scripts/index.ejs +68 -67
  35. package/layout/_partial/scripts/toc.ejs +74 -67
  36. package/layout/_partial/side.ejs +4 -1
  37. package/layout/_plugins/_page_plugins/artitalk/index.ejs +15 -0
  38. package/layout/_plugins/_page_plugins/bbtalk/index.ejs +10 -0
  39. package/layout/_plugins/_page_plugins/fcircle/index.ejs +226 -0
  40. package/layout/_plugins/_page_plugins/gitter/index.ejs +14 -0
  41. package/layout/_plugins/_page_plugins/hpptalk/index.ejs +14 -0
  42. package/layout/_plugins/_page_plugins/indent/index.ejs +16 -0
  43. package/layout/_plugins/_page_plugins/index.ejs +7 -0
  44. package/layout/_plugins/_page_plugins/katex/index.ejs +13 -0
  45. package/layout/{_third-party/math/mathjax/script.ejs → _plugins/_page_plugins/mathjax/index.ejs} +2 -2
  46. package/layout/_plugins/_page_plugins/snackbar/index.ejs +55 -0
  47. package/layout/{_partial/scripts/counter.ejs → _plugins/analytics/LCCounter.ejs} +0 -0
  48. package/layout/_plugins/analytics/script.ejs +64 -0
  49. package/layout/{_third-party → _plugins}/aplayer/layout.ejs +0 -0
  50. package/layout/_plugins/aplayer/script.ejs +74 -0
  51. package/layout/_plugins/chat/gitter/script.ejs +17 -0
  52. package/layout/_plugins/chat/index.ejs +1 -0
  53. package/layout/_plugins/chat/tidio/script.ejs +1 -0
  54. package/layout/_plugins/comments/artalk/script.ejs +53 -0
  55. package/layout/_plugins/comments/beaudar/script.ejs +61 -0
  56. package/layout/_plugins/comments/disqus/script.ejs +98 -0
  57. package/layout/_plugins/comments/disqusjs/script.ejs +35 -0
  58. package/layout/_plugins/comments/giscus/script.ejs +47 -0
  59. package/layout/_plugins/comments/gitalk/script.ejs +24 -0
  60. package/layout/_plugins/comments/hashover/script.ejs +5 -0
  61. package/layout/{_third-party → _plugins}/comments/index.ejs +9 -2
  62. package/layout/_plugins/comments/isso/script.ejs +27 -0
  63. package/layout/_plugins/comments/livere/script.ejs +15 -0
  64. package/layout/_plugins/comments/minivaline/script.ejs +45 -0
  65. package/layout/_plugins/comments/twikoo/script.ejs +40 -0
  66. package/layout/_plugins/comments/utterances/script.ejs +43 -0
  67. package/layout/{_third-party → _plugins}/comments/valine/script.ejs +18 -14
  68. package/layout/_plugins/comments/vssue/script.ejs +37 -0
  69. package/layout/_plugins/comments/waline/script.ejs +44 -0
  70. package/layout/_plugins/comments/z-custom/script.ejs +1 -0
  71. package/layout/_plugins/darkmode/script.ejs +114 -0
  72. package/layout/_plugins/end-of-support/script.ejs +62 -0
  73. package/layout/_plugins/github-api/script.ejs +27 -0
  74. package/layout/_plugins/highlight/highlightjs/script.ejs +26 -0
  75. package/layout/_plugins/highlight/prismjs/script.ejs +25 -0
  76. package/layout/_plugins/highlight/script.ejs +1 -0
  77. package/layout/{_third-party → _plugins}/lazyload/script.ejs +1 -1
  78. package/layout/_plugins/nodewaves/script.ejs +12 -0
  79. package/layout/_plugins/parallax/script.ejs +70 -0
  80. package/layout/{_third-party → _plugins}/pjax/animate.ejs +31 -26
  81. package/layout/_plugins/pjax/index.ejs +74 -0
  82. package/layout/_plugins/pjax/pdata.ejs +57 -0
  83. package/layout/_plugins/preload/script.ejs +14 -0
  84. package/layout/_plugins/rightmenu/layout.ejs +119 -0
  85. package/layout/_plugins/scrollreveal/script.ejs +25 -0
  86. package/layout/_plugins/search/script.ejs +39 -0
  87. package/layout/{_third-party → _plugins}/share/layout.ejs +0 -0
  88. package/layout/_plugins/swiper/script.ejs +37 -0
  89. package/layout/_pre.ejs +2 -2
  90. package/layout/_widget/_pre.ejs +5 -0
  91. package/layout/_widget/blogger.ejs +1 -1
  92. package/layout/_widget/category.ejs +2 -2
  93. package/layout/_widget/copyright.ejs +1 -1
  94. package/layout/_widget/grid.ejs +3 -3
  95. package/layout/_widget/lastupdate.ejs +27 -0
  96. package/layout/_widget/list.ejs +2 -2
  97. package/layout/_widget/load.ejs +18 -0
  98. package/layout/_widget/music.ejs +3 -2
  99. package/layout/_widget/page.ejs +1 -1
  100. package/layout/_widget/qrcode.ejs +1 -1
  101. package/layout/_widget/related_posts.ejs +1 -1
  102. package/layout/_widget/tagcloud.ejs +1 -1
  103. package/layout/_widget/text.ejs +1 -1
  104. package/layout/_widget/toc.ejs +6 -2
  105. package/layout/_widget/webinfo.ejs +3 -66
  106. package/layout/archive.ejs +3 -3
  107. package/layout/category.ejs +8 -3
  108. package/layout/docs.ejs +1 -1
  109. package/layout/friends.ejs +5 -24
  110. package/layout/index.ejs +1 -1
  111. package/layout/layout.ejs +13 -12
  112. package/layout/list.ejs +1 -1
  113. package/layout/page.ejs +1 -1
  114. package/layout/post.ejs +1 -1
  115. package/layout/tag.ejs +8 -3
  116. package/package.json +4 -3
  117. package/scripts/events/index.js +12 -0
  118. package/scripts/events/lib/config.js +27 -8
  119. package/scripts/events/lib/renderStylus.js +78 -0
  120. package/scripts/events/lib/utils.js +76 -0
  121. package/scripts/filters/content-visibility.js +25 -0
  122. package/scripts/{render → filters}/img.js +0 -0
  123. package/scripts/filters/replace.js +15 -0
  124. package/scripts/{z-lazyload → filters/z-lazyload}/index.js +0 -0
  125. package/scripts/{z-lazyload → filters/z-lazyload}/lib/process.js +1 -1
  126. package/scripts/helpers/custom-files/index.js +163 -0
  127. package/scripts/helpers/first-style/index.js +19 -0
  128. package/scripts/helpers/head/autoCanonical.js +15 -0
  129. package/scripts/helpers/head/generate_preload_fontfamily.js +22 -0
  130. package/scripts/helpers/head/generate_seo.js +24 -0
  131. package/scripts/helpers/head/generate_title__keywords__description.js +91 -0
  132. package/scripts/{related_posts → helpers/related_posts}/index.js +1 -1
  133. package/scripts/helpers/structured-data/index.js +2 -0
  134. package/scripts/helpers/structured-data/lib/blogposting.js +65 -0
  135. package/scripts/helpers/structured-data/lib/breadcrumblist.js +128 -0
  136. package/scripts/helpers/structured-data/lib/config.js +31 -0
  137. package/scripts/helpers/structured-data/lib/index.js +38 -0
  138. package/scripts/helpers/structured-data/lib/organization.js +15 -0
  139. package/scripts/helpers/structured-data/lib/person.js +16 -0
  140. package/scripts/helpers/structured-data/lib/website.js +42 -0
  141. package/scripts/helpers/tag-plugins-style/index.js +199 -0
  142. package/scripts/tags/btn.js +6 -1
  143. package/scripts/tags/btns.js +7 -2
  144. package/scripts/tags/checkbox.js +12 -2
  145. package/scripts/tags/contributors.js +100 -0
  146. package/scripts/tags/dropmenu.js +18 -3
  147. package/scripts/tags/fancybox.js +44 -10
  148. package/scripts/tags/folding.js +6 -1
  149. package/scripts/tags/frame.js +6 -1
  150. package/scripts/tags/friends.js +99 -0
  151. package/scripts/tags/ghcard.js +6 -1
  152. package/scripts/tags/image.js +14 -2
  153. package/scripts/tags/link.js +6 -1
  154. package/scripts/tags/md.js +59 -0
  155. package/scripts/tags/media.js +25 -1
  156. package/scripts/tags/note.js +12 -2
  157. package/scripts/tags/site.js +87 -51
  158. package/scripts/tags/span.js +12 -2
  159. package/scripts/tags/swiper.js +38 -0
  160. package/scripts/tags/tabs.js +85 -54
  161. package/scripts/tags/timeline.js +6 -1
  162. package/source/css/Readme.md +28 -0
  163. package/source/css/_defines/AutoPrefixCSS.styl +347 -0
  164. package/source/css/_defines/Readme.md +3 -0
  165. package/source/css/_defines/color.styl +19 -0
  166. package/source/css/_defines/effect.styl +0 -13
  167. package/source/css/_defines/fonts.styl +17 -18
  168. package/source/css/_defines/func.styl +12 -30
  169. package/source/css/_first/base_first.styl +113 -0
  170. package/source/css/_first/{cover.styl → cover_first.styl} +113 -87
  171. package/source/css/_first/dark_first.styl +75 -0
  172. package/source/css/_first/fontfamily_first.styl +17 -0
  173. package/source/css/_first/{navbar.styl → navbar_first.styl} +4 -10
  174. package/source/css/_first/search_first.styl +12 -0
  175. package/source/css/{_base/index.styl → _style/_base/base.styl} +8 -92
  176. package/source/css/_style/_base/fontfamily_async.styl +8 -0
  177. package/source/css/{_layout → _style/_layout}/archive.styl +0 -0
  178. package/source/css/{_layout → _style/_layout}/article.styl +2 -29
  179. package/source/css/{_layout → _style/_layout}/footer.styl +0 -0
  180. package/source/css/_style/_layout/friends-simpleuser.styl +23 -0
  181. package/source/css/_style/_layout/friends-traditional.styl +81 -0
  182. package/source/css/{_layout → _style/_layout}/img.styl +0 -0
  183. package/source/css/_style/_layout/loading.styl +14 -0
  184. package/source/css/{_layout → _style/_layout}/main.styl +17 -7
  185. package/source/css/{_layout → _style/_layout}/md.styl +0 -0
  186. package/source/css/{_layout → _style/_layout}/pagination.styl +1 -1
  187. package/source/css/{_layout → _style/_layout}/posts.styl +2 -0
  188. package/source/css/{_first → _style/_layout}/search.styl +0 -103
  189. package/source/css/{_layout → _style/_layout}/sidebar.styl +24 -3
  190. package/source/css/{_layout → _style/_layout}/snackbar.styl +0 -0
  191. package/source/css/{_layout → _style/_layout}/toc.styl +1 -1
  192. package/source/css/{_layout → _style/_layout}/video.styl +0 -0
  193. package/source/css/_style/_plugins/_dark/dark_async.styl +50 -0
  194. package/source/css/{_plugins/dark.styl → _style/_plugins/_dark/dark_plugins.styl} +80 -76
  195. package/source/css/_style/_plugins/_highlight/highlightjs/clipboard.styl +36 -0
  196. package/source/css/_style/_plugins/_highlight/highlightjs/color.styl +96 -0
  197. package/source/css/_style/_plugins/_highlight/highlightjs/index.styl +102 -0
  198. package/source/css/_style/_plugins/_highlight/highlightjs/language.styl +63 -0
  199. package/source/css/_style/_plugins/_highlight/index.styl +1 -0
  200. package/source/css/_style/_plugins/_highlight/prismjs/clipboard.styl +33 -0
  201. package/source/css/_style/_plugins/_highlight/prismjs/index.styl +8 -0
  202. package/source/css/_style/_plugins/_highlight/prismjs/language.styl +63 -0
  203. package/source/css/_style/_plugins/_rightmenu/reading.styl +56 -0
  204. package/source/css/{_plugins → _style/_plugins/_rightmenu}/rightmenu.styl +20 -1
  205. package/source/css/{_plugins → _style/_plugins}/aplayer.styl +11 -0
  206. package/source/css/{_plugins → _style/_plugins}/cursor.styl +49 -9
  207. package/source/css/_style/_plugins/fontcolor.styl +79 -0
  208. package/source/css/{_plugins → _style/_plugins}/gitalk.styl +0 -0
  209. package/source/css/{_plugins → _style/_plugins}/index.styl +14 -6
  210. package/source/css/{_plugins → _style/_plugins}/mathjax.styl +0 -0
  211. package/source/css/_style/_plugins/message.styl +14 -0
  212. package/source/css/{_plugins → _style/_plugins}/pjaxanimate.styl +0 -0
  213. package/source/css/{_plugins → _style/_plugins}/valine.styl +0 -0
  214. package/source/css/_style/_tag-plugins/Readme.md +9 -0
  215. package/source/css/{_tag-plugins → _style/_tag-plugins}/btns.styl +0 -0
  216. package/source/css/{_tag-plugins → _style/_tag-plugins}/checkbox.styl +0 -0
  217. package/source/css/{_tag-plugins → _style/_tag-plugins}/dropmenu.styl +0 -0
  218. package/source/css/{_plugins → _style/_tag-plugins}/fancybox.styl +8 -9
  219. package/source/css/{_tag-plugins → _style/_tag-plugins}/folding.styl +0 -0
  220. package/source/css/{_tag-plugins → _style/_tag-plugins}/frame.styl +0 -0
  221. package/source/css/_style/_tag-plugins/friends.styl +72 -0
  222. package/source/css/{_tag-plugins → _style/_tag-plugins}/ghcard.styl +0 -0
  223. package/source/css/{_tag-plugins → _style/_tag-plugins}/image.styl +0 -0
  224. package/source/css/{_tag-plugins → _style/_tag-plugins}/link.styl +0 -0
  225. package/source/css/{_tag-plugins → _style/_tag-plugins}/media.styl +0 -0
  226. package/source/css/{_tag-plugins → _style/_tag-plugins}/note.styl +0 -0
  227. package/source/css/_style/_tag-plugins/sites.styl +87 -0
  228. package/source/css/{_tag-plugins → _style/_tag-plugins}/span.styl +0 -0
  229. package/source/css/_style/_tag-plugins/swiper.styl +44 -0
  230. package/source/css/{_tag-plugins → _style/_tag-plugins}/table.styl +0 -0
  231. package/source/css/{_tag-plugins → _style/_tag-plugins}/tabs.styl +0 -0
  232. package/source/css/_style/_tag-plugins/tag.json +35 -0
  233. package/source/css/_style/_tag-plugins/text.styl +31 -0
  234. package/source/css/{_tag-plugins → _style/_tag-plugins}/timeline.styl +0 -0
  235. package/source/css/_style/index.styl +9 -0
  236. package/source/css/first.styl +19 -6
  237. package/source/css/message.css +6 -0
  238. package/source/css/style.styl +5 -4
  239. package/source/js/app.js +1021 -277
  240. package/source/js/plugins/aplayer.js +191 -0
  241. package/source/js/plugins/contributors.js +92 -0
  242. package/source/js/plugins/friends.js +93 -0
  243. package/source/js/plugins/parallax.js +191 -0
  244. package/source/js/plugins/rightMenu.js +560 -0
  245. package/source/js/plugins/sites.js +96 -0
  246. package/source/js/search/hexo.js +178 -374
  247. package/source/js/thirdparty/message.js +6 -0
  248. package/source/js/{valine.js → thirdparty/valine.js} +0 -0
  249. package/source/libs/@fancyapps/ui/LICENSE.md +8 -0
  250. package/source/libs/@fancyapps/ui/README.md +224 -0
  251. package/source/libs/@fancyapps/ui/dist/fancybox.css +1 -0
  252. package/source/libs/@fancyapps/ui/dist/fancybox.umd.js +2 -0
  253. package/source/libs/@fortawesome/fontawesome-free/LICENSE.txt +34 -0
  254. package/source/libs/@fortawesome/fontawesome-free/css/all.min.css +5 -0
  255. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  256. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg +3637 -0
  257. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  258. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  259. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  260. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  261. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg +805 -0
  262. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  263. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  264. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  265. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  266. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg +5015 -0
  267. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  268. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  269. package/source/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  270. package/source/libs/aplayer/LICENSE +21 -0
  271. package/source/libs/aplayer/README.md +123 -0
  272. package/source/libs/aplayer/dist/APlayer.min.css +3 -0
  273. package/source/libs/aplayer/dist/APlayer.min.css.map +1 -0
  274. package/source/libs/aplayer/dist/APlayer.min.js +2 -0
  275. package/source/libs/aplayer/dist/APlayer.min.js.map +1 -0
  276. package/source/libs/busuanzi/LICENSE +21 -0
  277. package/source/libs/busuanzi/README.md +21 -0
  278. package/source/libs/busuanzi/js/busuanzi.pure.mini.js +1 -0
  279. package/source/libs/comment_typing/comment_typing.js +2 -0
  280. package/source/libs/flying-pages/flying-pages.min.js +1 -0
  281. package/source/libs/font-awesome-animation/font-awesome-animation.min.css +2 -0
  282. package/source/libs/github-markdown-css/github-markdown.css +1036 -0
  283. package/source/libs/github-markdown-css/license +9 -0
  284. package/source/libs/github-markdown-css/readme.md +63 -0
  285. package/source/libs/hls.js/LICENSE +28 -0
  286. package/source/libs/hls.js/README.md +442 -0
  287. package/source/libs/hls.js/dist/hls.min.js +2 -0
  288. package/source/libs/hls.js/dist/hls.min.js.map +1 -0
  289. package/source/libs/instant_page/instant_page.js +2 -0
  290. package/source/libs/jquery/LICENSE.txt +20 -0
  291. package/source/libs/jquery/README.md +62 -0
  292. package/source/libs/jquery/dist/jquery.min.js +2 -0
  293. package/source/libs/jquery/dist/jquery.min.map +1 -0
  294. package/source/libs/katex/README.md +119 -0
  295. package/source/libs/katex/contrib/auto-render.min.js +1 -0
  296. package/source/libs/katex/contrib/copy-tex.min.css +1 -0
  297. package/source/libs/katex/contrib/copy-tex.min.js +1 -0
  298. package/source/libs/katex/contrib/mathtex-script-type.min.js +1 -0
  299. package/source/libs/katex/contrib/mhchem.min.js +1 -0
  300. package/source/libs/katex/contrib/render-a11y-string.min.js +1 -0
  301. package/source/libs/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  302. package/source/libs/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  303. package/source/libs/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  304. package/source/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  305. package/source/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  306. package/source/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  307. package/source/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  308. package/source/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  309. package/source/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  310. package/source/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  311. package/source/libs/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  312. package/source/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  313. package/source/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  314. package/source/libs/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  315. package/source/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  316. package/source/libs/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  317. package/source/libs/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  318. package/source/libs/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  319. package/source/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  320. package/source/libs/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  321. package/source/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  322. package/source/libs/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  323. package/source/libs/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  324. package/source/libs/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  325. package/source/libs/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  326. package/source/libs/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  327. package/source/libs/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  328. package/source/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  329. package/source/libs/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  330. package/source/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  331. package/source/libs/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  332. package/source/libs/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  333. package/source/libs/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  334. package/source/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  335. package/source/libs/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  336. package/source/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  337. package/source/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  338. package/source/libs/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  339. package/source/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  340. package/source/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  341. package/source/libs/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  342. package/source/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  343. package/source/libs/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  344. package/source/libs/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  345. package/source/libs/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  346. package/source/libs/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  347. package/source/libs/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  348. package/source/libs/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  349. package/source/libs/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  350. package/source/libs/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  351. package/source/libs/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  352. package/source/libs/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  353. package/source/libs/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  354. package/source/libs/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  355. package/source/libs/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  356. package/source/libs/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  357. package/source/libs/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  358. package/source/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  359. package/source/libs/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  360. package/source/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  361. package/source/libs/katex/katex.min.css +1 -0
  362. package/source/libs/katex/katex.min.js +1 -0
  363. package/source/libs/marked/LICENSE.md +44 -0
  364. package/source/libs/marked/README.md +87 -0
  365. package/source/libs/marked/marked.min.js +6 -0
  366. package/source/libs/mathjax/LICENSE +202 -0
  367. package/source/libs/mathjax/README.md +237 -0
  368. package/source/libs/mathjax/es5/a11y/assistive-mml.js +1 -0
  369. package/source/libs/mathjax/es5/a11y/complexity.js +1 -0
  370. package/source/libs/mathjax/es5/a11y/explorer.js +1 -0
  371. package/source/libs/mathjax/es5/a11y/semantic-enrich.js +1 -0
  372. package/source/libs/mathjax/es5/adaptors/liteDOM.js +1 -0
  373. package/source/libs/mathjax/es5/core.js +1 -0
  374. package/source/libs/mathjax/es5/input/asciimath.js +1 -0
  375. package/source/libs/mathjax/es5/input/mml/entities.js +1 -0
  376. package/source/libs/mathjax/es5/input/mml/extensions/mml3.js +1 -0
  377. package/source/libs/mathjax/es5/input/mml/extensions/mml3.sef.json +1 -0
  378. package/source/libs/mathjax/es5/input/mml.js +1 -0
  379. package/source/libs/mathjax/es5/input/tex/extensions/action.js +1 -0
  380. package/source/libs/mathjax/es5/input/tex/extensions/all-packages.js +34 -0
  381. package/source/libs/mathjax/es5/input/tex/extensions/ams.js +1 -0
  382. package/source/libs/mathjax/es5/input/tex/extensions/amscd.js +1 -0
  383. package/source/libs/mathjax/es5/input/tex/extensions/autoload.js +1 -0
  384. package/source/libs/mathjax/es5/input/tex/extensions/bbox.js +1 -0
  385. package/source/libs/mathjax/es5/input/tex/extensions/boldsymbol.js +1 -0
  386. package/source/libs/mathjax/es5/input/tex/extensions/braket.js +1 -0
  387. package/source/libs/mathjax/es5/input/tex/extensions/bussproofs.js +1 -0
  388. package/source/libs/mathjax/es5/input/tex/extensions/cancel.js +1 -0
  389. package/source/libs/mathjax/es5/input/tex/extensions/centernot.js +1 -0
  390. package/source/libs/mathjax/es5/input/tex/extensions/color.js +1 -0
  391. package/source/libs/mathjax/es5/input/tex/extensions/colortbl.js +1 -0
  392. package/source/libs/mathjax/es5/input/tex/extensions/colorv2.js +1 -0
  393. package/source/libs/mathjax/es5/input/tex/extensions/configmacros.js +1 -0
  394. package/source/libs/mathjax/es5/input/tex/extensions/enclose.js +1 -0
  395. package/source/libs/mathjax/es5/input/tex/extensions/extpfeil.js +1 -0
  396. package/source/libs/mathjax/es5/input/tex/extensions/gensymb.js +1 -0
  397. package/source/libs/mathjax/es5/input/tex/extensions/html.js +1 -0
  398. package/source/libs/mathjax/es5/input/tex/extensions/mathtools.js +1 -0
  399. package/source/libs/mathjax/es5/input/tex/extensions/mhchem.js +34 -0
  400. package/source/libs/mathjax/es5/input/tex/extensions/newcommand.js +1 -0
  401. package/source/libs/mathjax/es5/input/tex/extensions/noerrors.js +1 -0
  402. package/source/libs/mathjax/es5/input/tex/extensions/noundefined.js +1 -0
  403. package/source/libs/mathjax/es5/input/tex/extensions/physics.js +1 -0
  404. package/source/libs/mathjax/es5/input/tex/extensions/require.js +1 -0
  405. package/source/libs/mathjax/es5/input/tex/extensions/setoptions.js +1 -0
  406. package/source/libs/mathjax/es5/input/tex/extensions/tagformat.js +1 -0
  407. package/source/libs/mathjax/es5/input/tex/extensions/textcomp.js +1 -0
  408. package/source/libs/mathjax/es5/input/tex/extensions/textmacros.js +1 -0
  409. package/source/libs/mathjax/es5/input/tex/extensions/unicode.js +1 -0
  410. package/source/libs/mathjax/es5/input/tex/extensions/upgreek.js +1 -0
  411. package/source/libs/mathjax/es5/input/tex/extensions/verb.js +1 -0
  412. package/source/libs/mathjax/es5/input/tex-base.js +1 -0
  413. package/source/libs/mathjax/es5/input/tex-full.js +34 -0
  414. package/source/libs/mathjax/es5/input/tex.js +1 -0
  415. package/source/libs/mathjax/es5/latest.js +1 -0
  416. package/source/libs/mathjax/es5/loader.js +1 -0
  417. package/source/libs/mathjax/es5/mml-chtml.js +1 -0
  418. package/source/libs/mathjax/es5/mml-svg.js +1 -0
  419. package/source/libs/mathjax/es5/node-main.js +1 -0
  420. package/source/libs/mathjax/es5/output/chtml/fonts/tex.js +1 -0
  421. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  422. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  423. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  424. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  425. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  426. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  427. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  428. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  429. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  430. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  431. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  432. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  433. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  434. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  435. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  436. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  437. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  438. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  439. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  440. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  441. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  442. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  443. package/source/libs/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  444. package/source/libs/mathjax/es5/output/chtml.js +1 -0
  445. package/source/libs/mathjax/es5/output/svg/fonts/tex.js +1 -0
  446. package/source/libs/mathjax/es5/output/svg.js +1 -0
  447. package/source/libs/mathjax/es5/sre/mathmaps/de.js +125 -0
  448. package/source/libs/mathjax/es5/sre/mathmaps/en.js +131 -0
  449. package/source/libs/mathjax/es5/sre/mathmaps/es.js +122 -0
  450. package/source/libs/mathjax/es5/sre/mathmaps/fr.js +125 -0
  451. package/source/libs/mathjax/es5/sre/mathmaps/hi.js +125 -0
  452. package/source/libs/mathjax/es5/sre/mathmaps/it.js +125 -0
  453. package/source/libs/mathjax/es5/sre/mathmaps/nemeth.js +113 -0
  454. package/source/libs/mathjax/es5/sre/sre-node.js +11 -0
  455. package/source/libs/mathjax/es5/sre/sre_browser.js +999 -0
  456. package/source/libs/mathjax/es5/startup.js +1 -0
  457. package/source/libs/mathjax/es5/tex-chtml-full.js +34 -0
  458. package/source/libs/mathjax/es5/tex-chtml.js +1 -0
  459. package/source/libs/mathjax/es5/tex-mml-chtml.js +1 -0
  460. package/source/libs/mathjax/es5/tex-mml-svg.js +1 -0
  461. package/source/libs/mathjax/es5/tex-svg-full.js +34 -0
  462. package/source/libs/mathjax/es5/tex-svg.js +1 -0
  463. package/source/libs/mathjax/es5/ui/lazy.js +1 -0
  464. package/source/libs/mathjax/es5/ui/menu.js +1 -0
  465. package/source/libs/mathjax/es5/ui/safe.js +1 -0
  466. package/source/libs/meting/LICENSE +21 -0
  467. package/source/libs/meting/README.md +125 -0
  468. package/source/libs/meting/dist/Meting.min.js +1 -0
  469. package/source/libs/node-waves/LICENSE +21 -0
  470. package/source/libs/node-waves/README.md +23 -0
  471. package/source/libs/node-waves/dist/waves.min.css +7 -0
  472. package/source/libs/node-waves/dist/waves.min.js +2 -0
  473. package/source/libs/node-waves/dist/waves.min.js.map +1 -0
  474. package/source/libs/nprogress/License.md +19 -0
  475. package/source/libs/nprogress/Readme.md +197 -0
  476. package/source/libs/nprogress/nprogress.js +476 -0
  477. package/source/libs/pjax/LICENSE +20 -0
  478. package/source/libs/pjax/README.md +726 -0
  479. package/source/libs/pjax/pjax.min.js +1 -0
  480. package/source/libs/scrollreveal/README.md +126 -0
  481. package/source/libs/scrollreveal/dist/scrollreveal.min.js +12 -0
  482. package/source/libs/swiper/swiper-bundle.min.css +13 -0
  483. package/source/libs/swiper/swiper-bundle.min.js +14 -0
  484. package/source/libs/swiper/swiper-bundle.min.js.map +1 -0
  485. package/source/libs/vanilla-lazyload/LICENSE +21 -0
  486. package/source/libs/vanilla-lazyload/README.md +874 -0
  487. package/source/libs/vanilla-lazyload/dist/lazyload.min.js +1 -0
  488. package/source/media/cursor/circle.png +0 -0
  489. package/source/media/cursor/left_ptr.png +0 -0
  490. package/source/media/cursor/openhand.png +0 -0
  491. package/source/media/cursor/pointer.png +0 -0
  492. package/source/media/cursor/text.png +0 -0
  493. package/source/media/cursor/zoom-in.png +0 -0
  494. package/source/media/cursor/zoom-out.png +0 -0
  495. package/source/media/fonts/CascadiaCode/Cascadia.ttf +0 -0
  496. package/source/media/fonts/CascadiaCode/CascadiaMono.ttf +0 -0
  497. package/source/media/fonts/CascadiaCode/CascadiaMonoPL.ttf +0 -0
  498. package/source/media/fonts/CascadiaCode/CascadiaPL.ttf +0 -0
  499. package/source/media/fonts/CascadiaCode/README.md +9 -0
  500. package/source/media/fonts/Monaco/Monaco.ttf +0 -0
  501. package/source/media/fonts/UbuntuMono/UbuntuMono-Regular.ttf +0 -0
  502. package/source/media/fonts/VarelaRound/VarelaRound-Regular.ttf +0 -0
  503. package/source/media/org.volantis/README.md +19 -0
  504. package/source/media/org.volantis/blog/Logo-Cover@3x.png +0 -0
  505. package/source/media/org.volantis/blog/Logo-NavBar@3x.png +0 -0
  506. package/source/media/org.volantis/blog/favicon/android-chrome-192x192.png +0 -0
  507. package/source/media/org.volantis/blog/favicon/android-chrome-512x512.png +0 -0
  508. package/source/media/org.volantis/blog/favicon/apple-touch-icon.png +0 -0
  509. package/source/media/org.volantis/blog/favicon/browserconfig.xml +9 -0
  510. package/source/media/org.volantis/blog/favicon/favicon-16x16.png +0 -0
  511. package/source/media/org.volantis/blog/favicon/favicon-32x32.png +0 -0
  512. package/source/media/org.volantis/blog/favicon/favicon.ico +0 -0
  513. package/source/media/org.volantis/blog/favicon/mstile-150x150.png +0 -0
  514. package/source/media/org.volantis/blog/favicon/safari-pinned-tab.svg +26 -0
  515. package/source/media/org.volantis/blog/favicon/site.webmanifest +19 -0
  516. package/source/media/org.volantis/blog/logo/hexo.jpg +0 -0
  517. package/source/media/org.volantis/blog/qrcode/github@volantis.png +0 -0
  518. package/source/media/org.volantis/icon/1322024-social-media/001-google-drive.svg +1 -0
  519. package/source/media/org.volantis/icon/1322024-social-media/002-myspace.svg +1 -0
  520. package/source/media/org.volantis/icon/1322024-social-media/003-reddit.svg +1 -0
  521. package/source/media/org.volantis/icon/1322024-social-media/004-wattpad.svg +1 -0
  522. package/source/media/org.volantis/icon/1322024-social-media/005-dribbble.svg +1 -0
  523. package/source/media/org.volantis/icon/1322024-social-media/006-youtube.svg +1 -0
  524. package/source/media/org.volantis/icon/1322024-social-media/007-forrst.svg +1 -0
  525. package/source/media/org.volantis/icon/1322024-social-media/008-pinterest.svg +1 -0
  526. package/source/media/org.volantis/icon/1322024-social-media/009-flickr.svg +1 -0
  527. package/source/media/org.volantis/icon/1322024-social-media/010-facebook.svg +1 -0
  528. package/source/media/org.volantis/icon/1322024-social-media/011-team-viewer.svg +1 -0
  529. package/source/media/org.volantis/icon/1322024-social-media/012-blogger.svg +1 -0
  530. package/source/media/org.volantis/icon/1322024-social-media/013-grooveshark.svg +1 -0
  531. package/source/media/org.volantis/icon/1322024-social-media/014-whatsapp.svg +1 -0
  532. package/source/media/org.volantis/icon/1322024-social-media/015-instagram.svg +1 -0
  533. package/source/media/org.volantis/icon/1322024-social-media/016-skype.svg +1 -0
  534. package/source/media/org.volantis/icon/1322024-social-media/017-picasa.svg +1 -0
  535. package/source/media/org.volantis/icon/1322024-social-media/018-twitter.svg +1 -0
  536. package/source/media/org.volantis/icon/1322024-social-media/019-yahoo.svg +1 -0
  537. package/source/media/org.volantis/icon/1322024-social-media/020-rss.svg +1 -0
  538. package/source/media/org.volantis/icon/1322024-social-media/021-envato.svg +1 -0
  539. package/source/media/org.volantis/icon/1322024-social-media/022-soundcloud.svg +1 -0
  540. package/source/media/org.volantis/icon/1322024-social-media/023-kickstarter.svg +1 -0
  541. package/source/media/org.volantis/icon/1322024-social-media/024-snapchat.svg +1 -0
  542. package/source/media/org.volantis/icon/1322024-social-media/025-quora.svg +1 -0
  543. package/source/media/org.volantis/icon/1322024-social-media/026-yelp.svg +1 -0
  544. package/source/media/org.volantis/icon/1322024-social-media/027-slideshare.svg +1 -0
  545. package/source/media/org.volantis/icon/1322024-social-media/028-opera.svg +1 -0
  546. package/source/media/org.volantis/icon/1322024-social-media/029-github.svg +1 -0
  547. package/source/media/org.volantis/icon/1322024-social-media/030-last-fm.svg +1 -0
  548. package/source/media/org.volantis/icon/1322024-social-media/031-twitch.svg +1 -0
  549. package/source/media/org.volantis/icon/1322024-social-media/032-tumblr.svg +1 -0
  550. package/source/media/org.volantis/icon/1322024-social-media/033-spotify.svg +1 -0
  551. package/source/media/org.volantis/icon/1322024-social-media/034-foursquare.svg +1 -0
  552. package/source/media/org.volantis/icon/1322024-social-media/035-hangout.svg +1 -0
  553. package/source/media/org.volantis/icon/1322024-social-media/036-dropbox.svg +1 -0
  554. package/source/media/org.volantis/icon/1322024-social-media/037-vine.svg +1 -0
  555. package/source/media/org.volantis/icon/1322024-social-media/038-google-plus.svg +1 -0
  556. package/source/media/org.volantis/icon/1322024-social-media/039-path.svg +1 -0
  557. package/source/media/org.volantis/icon/1322024-social-media/040-vimeo.svg +1 -0
  558. package/source/media/org.volantis/icon/1322024-social-media/041-addthis.svg +1 -0
  559. package/source/media/org.volantis/icon/1322024-social-media/042-xing.svg +1 -0
  560. package/source/media/org.volantis/icon/1322024-social-media/043-stumbleupon.svg +1 -0
  561. package/source/media/org.volantis/icon/1322024-social-media/044-deviantart.svg +1 -0
  562. package/source/media/org.volantis/icon/1322024-social-media/045-telegram.svg +1 -0
  563. package/source/media/org.volantis/icon/1322024-social-media/046-vk.svg +1 -0
  564. package/source/media/org.volantis/icon/1322024-social-media/047-swarm.svg +1 -0
  565. package/source/media/org.volantis/icon/1322024-social-media/048-bebo.svg +1 -0
  566. package/source/media/org.volantis/icon/1322024-social-media/049-technorati.svg +1 -0
  567. package/source/media/org.volantis/icon/1322024-social-media/050-periscope.svg +1 -0
  568. package/source/media/org.volantis/icon/2439351-arrows/001-arrows.svg +1 -0
  569. package/source/media/org.volantis/icon/2439351-arrows/002-arrows.svg +1 -0
  570. package/source/media/org.volantis/icon/2439351-arrows/003-arrows.svg +1 -0
  571. package/source/media/org.volantis/icon/2439351-arrows/004-arrows.svg +1 -0
  572. package/source/media/org.volantis/icon/2439351-arrows/005-arrows.svg +1 -0
  573. package/source/media/org.volantis/icon/2439351-arrows/006-arrows.svg +1 -0
  574. package/source/media/org.volantis/icon/2439351-arrows/007-arrows.svg +1 -0
  575. package/source/media/org.volantis/icon/2439351-arrows/008-arrows.svg +1 -0
  576. package/source/media/org.volantis/icon/2439351-arrows/009-arrows.svg +1 -0
  577. package/source/media/org.volantis/icon/2439351-arrows/010-arrows.svg +1 -0
  578. package/source/media/org.volantis/icon/2439351-arrows/011-arrows.svg +1 -0
  579. package/source/media/org.volantis/icon/2439351-arrows/012-arrows.svg +1 -0
  580. package/source/media/org.volantis/icon/2439351-arrows/013-arrows.svg +1 -0
  581. package/source/media/org.volantis/icon/2439351-arrows/014-arrows.svg +1 -0
  582. package/source/media/org.volantis/icon/2439351-arrows/015-arrows.svg +1 -0
  583. package/source/media/org.volantis/icon/2439351-arrows/016-arrows.svg +1 -0
  584. package/source/media/org.volantis/icon/2439351-arrows/017-arrows.svg +1 -0
  585. package/source/media/org.volantis/icon/2439351-arrows/018-arrows.svg +1 -0
  586. package/source/media/org.volantis/icon/2439351-arrows/019-arrows.svg +1 -0
  587. package/source/media/org.volantis/icon/2439351-arrows/020-arrows.svg +1 -0
  588. package/source/media/org.volantis/icon/2439351-arrows/021-arrows.svg +1 -0
  589. package/source/media/org.volantis/icon/2439351-arrows/022-arrows.svg +1 -0
  590. package/source/media/org.volantis/icon/2439351-arrows/023-arrows.svg +1 -0
  591. package/source/media/org.volantis/icon/2439351-arrows/024-arrows.svg +1 -0
  592. package/source/media/org.volantis/icon/2439351-arrows/025-arrows.svg +1 -0
  593. package/source/media/org.volantis/icon/2439351-arrows/026-arrows.svg +1 -0
  594. package/source/media/org.volantis/icon/2439351-arrows/027-arrows.svg +1 -0
  595. package/source/media/org.volantis/icon/2439351-arrows/028-arrows.svg +1 -0
  596. package/source/media/org.volantis/icon/2439351-arrows/029-arrows.svg +1 -0
  597. package/source/media/org.volantis/icon/2439351-arrows/030-arrows.svg +1 -0
  598. package/source/media/org.volantis/icon/2439351-arrows/031-arrows.svg +1 -0
  599. package/source/media/org.volantis/icon/2439351-arrows/032-arrows.svg +1 -0
  600. package/source/media/org.volantis/icon/2439351-arrows/033-arrows.svg +1 -0
  601. package/source/media/org.volantis/icon/2439351-arrows/034-arrows.svg +1 -0
  602. package/source/media/org.volantis/icon/2439351-arrows/035-arrows.svg +1 -0
  603. package/source/media/org.volantis/icon/2439351-arrows/036-arrows.svg +1 -0
  604. package/source/media/org.volantis/icon/2439351-arrows/037-arrows.svg +1 -0
  605. package/source/media/org.volantis/icon/2439351-arrows/038-arrows.svg +1 -0
  606. package/source/media/org.volantis/icon/2439351-arrows/039-arrows.svg +1 -0
  607. package/source/media/org.volantis/icon/2439351-arrows/040-arrows.svg +1 -0
  608. package/source/media/org.volantis/icon/2439351-arrows/041-arrows.svg +1 -0
  609. package/source/media/org.volantis/icon/2439351-arrows/042-arrows.svg +1 -0
  610. package/source/media/org.volantis/icon/2439351-arrows/043-arrows.svg +1 -0
  611. package/source/media/org.volantis/icon/2439351-arrows/044-arrows.svg +1 -0
  612. package/source/media/org.volantis/icon/2439351-arrows/045-arrows.svg +1 -0
  613. package/source/media/org.volantis/icon/2439351-arrows/046-arrows.svg +1 -0
  614. package/source/media/org.volantis/icon/2439351-arrows/047-arrows.svg +1 -0
  615. package/source/media/org.volantis/icon/2439351-arrows/048-arrows.svg +1 -0
  616. package/source/media/org.volantis/icon/2439351-arrows/049-arrows.svg +1 -0
  617. package/source/media/org.volantis/icon/2439351-arrows/050-arrows.svg +1 -0
  618. package/source/media/org.volantis/icon/2820262-cloud-networking/001-download.svg +1 -0
  619. package/source/media/org.volantis/icon/2820262-cloud-networking/002-upload.svg +1 -0
  620. package/source/media/org.volantis/icon/2820262-cloud-networking/003-cloud.svg +1 -0
  621. package/source/media/org.volantis/icon/2820262-cloud-networking/004-storage.svg +1 -0
  622. package/source/media/org.volantis/icon/2820262-cloud-networking/005-downloading.svg +1 -0
  623. package/source/media/org.volantis/icon/2820262-cloud-networking/006-upload.svg +1 -0
  624. package/source/media/org.volantis/icon/2820262-cloud-networking/007-direct download.svg +1 -0
  625. package/source/media/org.volantis/icon/2820262-cloud-networking/008-button.svg +1 -0
  626. package/source/media/org.volantis/icon/2820262-cloud-networking/009-file.svg +1 -0
  627. package/source/media/org.volantis/icon/2820262-cloud-networking/010-save file.svg +1 -0
  628. package/source/media/org.volantis/icon/2820262-cloud-networking/011-save.svg +1 -0
  629. package/source/media/org.volantis/icon/2820262-cloud-networking/012-image.svg +1 -0
  630. package/source/media/org.volantis/icon/2820262-cloud-networking/013-bar.svg +1 -0
  631. package/source/media/org.volantis/icon/2820262-cloud-networking/014-loading.svg +1 -0
  632. package/source/media/org.volantis/icon/2820262-cloud-networking/015-button.svg +1 -0
  633. package/source/media/org.volantis/icon/2820262-cloud-networking/016-save button.svg +1 -0
  634. package/source/media/org.volantis/icon/2820262-cloud-networking/017-download.svg +1 -0
  635. package/source/media/org.volantis/icon/2820262-cloud-networking/018-upload.svg +1 -0
  636. package/source/media/org.volantis/icon/2820262-cloud-networking/019-download.svg +1 -0
  637. package/source/media/org.volantis/icon/2820262-cloud-networking/020-upload.svg +1 -0
  638. package/source/media/org.volantis/icon/2820262-cloud-networking/021-download.svg +1 -0
  639. package/source/media/org.volantis/icon/2820262-cloud-networking/022-export.svg +1 -0
  640. package/source/media/org.volantis/icon/2820262-cloud-networking/023-download.svg +1 -0
  641. package/source/media/org.volantis/icon/2820262-cloud-networking/024-uploading.svg +1 -0
  642. package/source/media/org.volantis/icon/2820262-cloud-networking/025-download.svg +1 -0
  643. package/source/media/org.volantis/icon/2820262-cloud-networking/026-upload.svg +1 -0
  644. package/source/media/org.volantis/icon/2820262-cloud-networking/027-upload.svg +1 -0
  645. package/source/media/org.volantis/icon/2820262-cloud-networking/028-upload button.svg +1 -0
  646. package/source/media/org.volantis/icon/2820262-cloud-networking/029-up arrow.svg +1 -0
  647. package/source/media/org.volantis/icon/2820262-cloud-networking/030-up arrow.svg +1 -0
  648. package/source/media/org.volantis/icon/2820262-cloud-networking/031-upload button.svg +1 -0
  649. package/source/media/org.volantis/icon/2820262-cloud-networking/032-upload file.svg +1 -0
  650. package/source/media/org.volantis/icon/725277-social-media/001-livejournal.svg +75 -0
  651. package/source/media/org.volantis/icon/725277-social-media/002-linkedin.svg +67 -0
  652. package/source/media/org.volantis/icon/725277-social-media/003-ello.svg +60 -0
  653. package/source/media/org.volantis/icon/725277-social-media/004-hi5.svg +85 -0
  654. package/source/media/org.volantis/icon/725277-social-media/005-skype.svg +90 -0
  655. package/source/media/org.volantis/icon/725277-social-media/006-quora.svg +77 -0
  656. package/source/media/org.volantis/icon/725277-social-media/007-daily-motion.svg +58 -0
  657. package/source/media/org.volantis/icon/725277-social-media/008-air-bnb.svg +77 -0
  658. package/source/media/org.volantis/icon/725277-social-media/009-buzznet.svg +55 -0
  659. package/source/media/org.volantis/icon/725277-social-media/010-meetup.svg +130 -0
  660. package/source/media/org.volantis/icon/725277-social-media/011-diaspora.svg +64 -0
  661. package/source/media/org.volantis/icon/725277-social-media/012-bebo.svg +59 -0
  662. package/source/media/org.volantis/icon/725277-social-media/013-filmaffinity.svg +89 -0
  663. package/source/media/org.volantis/icon/725277-social-media/014-tinder.svg +57 -0
  664. package/source/media/org.volantis/icon/725277-social-media/015-skyrock.svg +74 -0
  665. package/source/media/org.volantis/icon/725277-social-media/016-snapchat.svg +86 -0
  666. package/source/media/org.volantis/icon/725277-social-media/017-nextdoor.svg +54 -0
  667. package/source/media/org.volantis/icon/725277-social-media/018-reverbnation.svg +54 -0
  668. package/source/media/org.volantis/icon/725277-social-media/019-tripadvisor.svg +85 -0
  669. package/source/media/org.volantis/icon/725277-social-media/020-snapfish.svg +72 -0
  670. package/source/media/org.volantis/icon/725277-social-media/021-path.svg +73 -0
  671. package/source/media/org.volantis/icon/725277-social-media/022-etsy.svg +65 -0
  672. package/source/media/org.volantis/icon/725277-social-media/023-medium.svg +63 -0
  673. package/source/media/org.volantis/icon/725277-social-media/024-renren.svg +88 -0
  674. package/source/media/org.volantis/icon/725277-social-media/025-xing.svg +57 -0
  675. package/source/media/org.volantis/icon/725277-social-media/026-tout.svg +61 -0
  676. package/source/media/org.volantis/icon/725277-social-media/027-twitter.svg +75 -0
  677. package/source/media/org.volantis/icon/725277-social-media/028-howcast.svg +64 -0
  678. package/source/media/org.volantis/icon/725277-social-media/029-yelp.svg +88 -0
  679. package/source/media/org.volantis/icon/725277-social-media/030-classmates.svg +105 -0
  680. package/source/media/org.volantis/icon/725277-social-media/031-deviantart.svg +50 -0
  681. package/source/media/org.volantis/icon/725277-social-media/032-foursquare.svg +62 -0
  682. package/source/media/org.volantis/icon/725277-social-media/033-kickstarter.svg +56 -0
  683. package/source/media/org.volantis/icon/725277-social-media/034-dots.svg +76 -0
  684. package/source/media/org.volantis/icon/725277-social-media/035-tagged.svg +67 -0
  685. package/source/media/org.volantis/icon/725277-social-media/036-periscope.svg +65 -0
  686. package/source/media/org.volantis/icon/725277-social-media/037-stumbleupon.svg +66 -0
  687. package/source/media/org.volantis/icon/725277-social-media/038-youtube.svg +62 -0
  688. package/source/media/org.volantis/icon/725277-social-media/039-lastfm.svg +76 -0
  689. package/source/media/org.volantis/icon/725277-social-media/040-reddit.svg +77 -0
  690. package/source/media/org.volantis/icon/725277-social-media/041-weheartit.svg +66 -0
  691. package/source/media/org.volantis/icon/725277-social-media/042-pinterest.svg +81 -0
  692. package/source/media/org.volantis/icon/725277-social-media/043-viadeo.svg +74 -0
  693. package/source/media/org.volantis/icon/725277-social-media/044-taringa.svg +59 -0
  694. package/source/media/org.volantis/icon/725277-social-media/045-google-plus.svg +84 -0
  695. package/source/media/org.volantis/icon/725277-social-media/046-uber.svg +54 -0
  696. package/source/media/org.volantis/icon/725277-social-media/047-sina-weibo.svg +116 -0
  697. package/source/media/org.volantis/icon/725277-social-media/048-vimeo.svg +76 -0
  698. package/source/media/org.volantis/icon/725277-social-media/049-facebook.svg +55 -0
  699. package/source/media/org.volantis/icon/725277-social-media/050-vk.svg +77 -0
  700. package/source/media/org.volantis/icon/725277-social-media/051-badoo.svg +60 -0
  701. package/source/media/org.volantis/icon/725277-social-media/052-dribbble.svg +113 -0
  702. package/source/media/org.volantis/icon/725277-social-media/053-delicious.svg +45 -0
  703. package/source/media/org.volantis/icon/725277-social-media/054-soundcloud.svg +67 -0
  704. package/source/media/org.volantis/icon/725277-social-media/055-tumblr.svg +54 -0
  705. package/source/media/org.volantis/icon/725277-social-media/056-myspace.svg +69 -0
  706. package/source/media/org.volantis/icon/725277-social-media/057-spotify.svg +88 -0
  707. package/source/media/org.volantis/icon/725277-social-media/058-flickr.svg +54 -0
  708. package/source/media/org.volantis/icon/725277-social-media/059-behance.svg +83 -0
  709. package/source/media/org.volantis/icon/725277-social-media/060-instagram.svg +61 -0
  710. package/source/media/org.volantis/icon/ui-interface-21/plus.svg +61 -0
  711. package/source/media/org.volantis/logo/128/facebook.png +0 -0
  712. package/source/media/org.volantis/logo/128/github.png +0 -0
  713. package/source/media/org.volantis/logo/128/google_icon.png +0 -0
  714. package/source/media/org.volantis/logo/128/google_logo.png +0 -0
  715. package/source/media/org.volantis/logo/128/googleplus.png +0 -0
  716. package/source/media/org.volantis/logo/128/linkedin.png +0 -0
  717. package/source/media/org.volantis/logo/128/qq.png +0 -0
  718. package/source/media/org.volantis/logo/128/qrcode.png +0 -0
  719. package/source/media/org.volantis/logo/128/qzone.png +0 -0
  720. package/source/media/org.volantis/logo/128/telegram.png +0 -0
  721. package/source/media/org.volantis/logo/128/twitter.png +0 -0
  722. package/source/media/org.volantis/logo/128/wechat.png +0 -0
  723. package/source/media/org.volantis/logo/128/weibo.png +0 -0
  724. package/source/media/org.volantis/logo/128/youdao.png +0 -0
  725. package/source/media/org.volantis/logo/256/chrome.png +0 -0
  726. package/source/media/org.volantis/logo/256/facebook.png +0 -0
  727. package/source/media/org.volantis/logo/256/firefox.png +0 -0
  728. package/source/media/org.volantis/logo/256/github.png +0 -0
  729. package/source/media/org.volantis/logo/256/google_icon.png +0 -0
  730. package/source/media/org.volantis/logo/256/google_logo.png +0 -0
  731. package/source/media/org.volantis/logo/256/googleplus.png +0 -0
  732. package/source/media/org.volantis/logo/256/linkedin.png +0 -0
  733. package/source/media/org.volantis/logo/256/qq.png +0 -0
  734. package/source/media/org.volantis/logo/256/qrcode.png +0 -0
  735. package/source/media/org.volantis/logo/256/qzone.png +0 -0
  736. package/source/media/org.volantis/logo/256/safari.png +0 -0
  737. package/source/media/org.volantis/logo/256/telegram.png +0 -0
  738. package/source/media/org.volantis/logo/256/twitter.png +0 -0
  739. package/source/media/org.volantis/logo/256/wechat.png +0 -0
  740. package/source/media/org.volantis/logo/256/weibo.png +0 -0
  741. package/source/media/org.volantis/logo/256/youdao.png +0 -0
  742. package/source/media/org.volantis/logo/64/chrome.png +0 -0
  743. package/source/media/org.volantis/logo/64/facebook.png +0 -0
  744. package/source/media/org.volantis/logo/64/firefox.png +0 -0
  745. package/source/media/org.volantis/logo/64/github.png +0 -0
  746. package/source/media/org.volantis/logo/64/google_icon.png +0 -0
  747. package/source/media/org.volantis/logo/64/google_logo.png +0 -0
  748. package/source/media/org.volantis/logo/64/googleplus.png +0 -0
  749. package/source/media/org.volantis/logo/64/linkedin.png +0 -0
  750. package/source/media/org.volantis/logo/64/qq.png +0 -0
  751. package/source/media/org.volantis/logo/64/qrcode.png +0 -0
  752. package/source/media/org.volantis/logo/64/qzone.png +0 -0
  753. package/source/media/org.volantis/logo/64/safari.png +0 -0
  754. package/source/media/org.volantis/logo/64/telegram.png +0 -0
  755. package/source/media/org.volantis/logo/64/twitter.png +0 -0
  756. package/source/media/org.volantis/logo/64/wechat.png +0 -0
  757. package/source/media/org.volantis/logo/64/weibo.png +0 -0
  758. package/source/media/org.volantis/logo/64/youdao.png +0 -0
  759. package/source/media/org.volantis/placeholder/c617bfd2497fcea598e621413e315c368f8d8e.svg +23 -0
  760. package/source/media/org.volantis/placeholder/d570170f4f12e1ee829ca0e85a7dffeb77343a.svg +29 -0
  761. package/source/media/org.volantis/placeholder/f107c4d98691c0e2f4592acf09f83acb46fdf7.svg +20 -0
  762. package/source/media/placeholder/404/1c830bfcd517d.svg +70 -0
  763. package/source/media/placeholder/LICENSE +21 -0
  764. package/source/media/placeholder/README.md +8 -0
  765. package/source/media/placeholder/arrow/064b95430caf4.svg +11 -0
  766. package/source/media/placeholder/arrow/f049bbd4e88ec.svg +11 -0
  767. package/source/media/placeholder/avatar/rect/2922565.svg +1 -0
  768. package/source/media/placeholder/avatar/round/3442055.svg +1 -0
  769. package/source/media/placeholder/avatar/round/3442075.svg +1 -0
  770. package/source/media/placeholder/avatar/round/3442091.svg +1 -0
  771. package/source/media/placeholder/avatar/round/547413.svg +116 -0
  772. package/source/media/placeholder/avatar/round/547420.svg +108 -0
  773. package/source/media/placeholder/avatar/round/rainbow64@2x.webp +0 -0
  774. package/source/media/placeholder/avatar/round/rainbow64@3x.webp +0 -0
  775. package/source/media/placeholder/badge/3279dd441df8b.svg +1 -0
  776. package/source/media/placeholder/cover/76b86c0226ffd.svg +95 -0
  777. package/source/media/placeholder/frame/iphone11.svg +1 -0
  778. package/source/media/placeholder/image/2659360.svg +1 -0
  779. package/source/media/placeholder/link/8f277b4ee0ecd.svg +1 -0
  780. package/source/media/placeholder/social/08a41b181ce68.svg +27 -0
  781. package/source/media/placeholder/social/25678f144c438.svg +65 -0
  782. package/source/media/placeholder/social/3616429.svg +1 -0
  783. package/source/media/placeholder/social/3845874.svg +114 -0
  784. package/source/media/placeholder/social/80c07e4dbb303.svg +1 -0
  785. package/source/media/placeholder/social/8411ed322ced6.svg +21 -0
  786. package/source/media/placeholder/social/942ebbf1a4b91.svg +43 -0
  787. package/source/media/placeholder/social/a1b00e20f425d.svg +39 -0
  788. package/source/media/placeholder/social/b32ef3da1162a.svg +55 -0
  789. package/source/media/placeholder/social/cf1ae151f9e83.svg +110 -0
  790. package/source/media/twemoji/LICENSE +19 -0
  791. package/source/media/twemoji/README.md +256 -0
  792. package/source/media/twemoji/assets/svg/1f389.svg +1 -0
  793. package/source/media/twemoji/assets/svg/1f396.svg +1 -0
  794. package/source/media/twemoji/assets/svg/1f4cc.svg +1 -0
  795. package/source/media/twemoji/assets/svg/1f4f0.svg +1 -0
  796. package/source/media/twemoji/assets/svg/1f516.svg +1 -0
  797. package/source/media/twemoji/assets/svg/1f5c3.svg +1 -0
  798. package/source/media/twemoji/assets/svg/1f9ec.svg +1 -0
  799. package/.eslintrc.json +0 -111
  800. package/layout/_partial/rightmenu.ejs +0 -204
  801. package/layout/_partial/scripts/cover.ejs +0 -45
  802. package/layout/_partial/scripts/darkmode.ejs +0 -83
  803. package/layout/_partial/scripts/issues.ejs +0 -15
  804. package/layout/_partial/scripts/loadfunction.ejs +0 -72
  805. package/layout/_partial/scripts/search.ejs +0 -62
  806. package/layout/_partial/snackbar.ejs +0 -22
  807. package/layout/_third-party/analytics/script.ejs +0 -24
  808. package/layout/_third-party/aplayer/script.ejs +0 -24
  809. package/layout/_third-party/clipboard/script.ejs +0 -53
  810. package/layout/_third-party/comments/disqus/layout.ejs +0 -5
  811. package/layout/_third-party/comments/disqus/script.ejs +0 -90
  812. package/layout/_third-party/comments/disqusjs/layout.ejs +0 -1
  813. package/layout/_third-party/comments/disqusjs/script.ejs +0 -37
  814. package/layout/_third-party/comments/gitalk/layout.ejs +0 -1
  815. package/layout/_third-party/comments/gitalk/script.ejs +0 -22
  816. package/layout/_third-party/comments/hashover/layout.ejs +0 -2
  817. package/layout/_third-party/comments/hashover/script.ejs +0 -1
  818. package/layout/_third-party/comments/isso/layout.ejs +0 -1
  819. package/layout/_third-party/comments/isso/script.ejs +0 -1
  820. package/layout/_third-party/comments/livere/layout.ejs +0 -3
  821. package/layout/_third-party/comments/livere/script.ejs +0 -10
  822. package/layout/_third-party/comments/minivaline/layout.ejs +0 -3
  823. package/layout/_third-party/comments/minivaline/script.ejs +0 -36
  824. package/layout/_third-party/comments/twikoo/layout.ejs +0 -3
  825. package/layout/_third-party/comments/twikoo/script.ejs +0 -34
  826. package/layout/_third-party/comments/valine/layout.ejs +0 -3
  827. package/layout/_third-party/comments/vssue/layout.ejs +0 -1
  828. package/layout/_third-party/comments/vssue/script.ejs +0 -22
  829. package/layout/_third-party/comments/waline/layout.ejs +0 -3
  830. package/layout/_third-party/comments/waline/script.ejs +0 -33
  831. package/layout/_third-party/fancybox/script.ejs +0 -50
  832. package/layout/_third-party/killOldVersionsOfIE/script.ejs +0 -7
  833. package/layout/_third-party/pjax/index.ejs +0 -128
  834. package/layout/_third-party/pjax/pdata.ejs +0 -47
  835. package/layout/_third-party/scrollreveal/script.ejs +0 -20
  836. package/layout/_third-party/tidio/script.ejs +0 -3
  837. package/layout/artitalk.ejs +0 -13
  838. package/layout/bb.ejs +0 -10
  839. package/package-lock.json +0 -916
  840. package/scripts/tags/issues.js +0 -41
  841. package/source/css/_highlight/index.styl +0 -316
  842. package/source/css/_layout/friends.styl +0 -79
  843. package/source/css/_plugins/clipboard.styl +0 -37
  844. package/source/css/_plugins/darkmode.styl +0 -9
  845. package/source/css/_plugins/twikoo.styl +0 -21
  846. package/source/css/_tag-plugins/simpleuser.styl +0 -21
  847. package/source/css/_tag-plugins/site-card.styl +0 -70
  848. package/source/js/aplayer.js +0 -159
  849. package/source/js/issues.js +0 -186
  850. package/source/js/search/algolia.js +0 -344
  851. package/source/js/search/azure.js +0 -355
  852. package/source/js/search/baidu.js +0 -340
  853. 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,2 @@
1
+ /*globals hexo */
2
+ hexo.extend.helper.register("structured_data", require('./lib/'));
@@ -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);