From 9f5a885f4bc604254e4f60a545b59c75e2993dad Mon Sep 17 00:00:00 2001 From: Linloir <3145078758@qq.com> Date: Thu, 10 Oct 2024 00:06:54 +0800 Subject: [PATCH] feat: upload butterfly theme --- .gitea/workflows/deploy.yml | 12 +- themes/butterfly | 1 - themes/butterfly/.github/FUNDING.yml | 13 + .../.github/ISSUE_TEMPLATE/bug_report.yml | 83 ++ .../.github/ISSUE_TEMPLATE/config.yml | 18 + .../ISSUE_TEMPLATE/feature_request.yml | 14 + .../butterfly/.github/workflows/publish.yml | 19 + themes/butterfly/.github/workflows/stale.yml | 19 + themes/butterfly/LICENSE | 202 +++ themes/butterfly/README.md | 116 ++ themes/butterfly/README_CN.md | 116 ++ themes/butterfly/_config.yml | 1094 +++++++++++++++++ themes/butterfly/languages/default.yml | 121 ++ themes/butterfly/languages/en.yml | 121 ++ themes/butterfly/languages/ja.yml | 121 ++ themes/butterfly/languages/ko.yml | 121 ++ themes/butterfly/languages/zh-CN.yml | 122 ++ themes/butterfly/languages/zh-HK.yml | 121 ++ themes/butterfly/languages/zh-TW.yml | 121 ++ themes/butterfly/layout/archive.pug | 8 + themes/butterfly/layout/category.pug | 12 + .../layout/includes/additional-js.pug | 60 + themes/butterfly/layout/includes/footer.pug | 18 + themes/butterfly/layout/includes/head.pug | 68 + .../layout/includes/head/Open_Graph.pug | 16 + .../layout/includes/head/analytics.pug | 34 + .../butterfly/layout/includes/head/config.pug | 137 +++ .../layout/includes/head/config_site.pug | 27 + .../layout/includes/head/google_adsense.pug | 9 + .../layout/includes/head/preconnect.pug | 35 + themes/butterfly/layout/includes/head/pwa.pug | 13 + .../includes/head/site_verification.pug | 3 + .../layout/includes/header/index.pug | 53 + .../layout/includes/header/menu_item.pug | 27 + .../butterfly/layout/includes/header/nav.pug | 22 + .../layout/includes/header/post-info.pug | 158 +++ .../layout/includes/header/social.pug | 8 + themes/butterfly/layout/includes/layout.pug | 36 + .../includes/loading/fullpage-loading.pug | 33 + .../layout/includes/loading/index.pug | 5 + .../layout/includes/loading/pace.pug | 12 + .../layout/includes/mixins/article-sort.pug | 23 + .../layout/includes/mixins/indexPostUI.pug | 122 ++ themes/butterfly/layout/includes/page/404.pug | 8 + .../layout/includes/page/categories.pug | 1 + .../layout/includes/page/default-page.pug | 2 + .../butterfly/layout/includes/page/flink.pug | 82 ++ .../layout/includes/page/shuoshuo.pug | 103 ++ .../butterfly/layout/includes/page/tags.pug | 2 + .../butterfly/layout/includes/pagination.pug | 39 + .../layout/includes/post/post-copyright.pug | 23 + .../butterfly/layout/includes/post/reward.pug | 12 + .../butterfly/layout/includes/rightside.pug | 61 + themes/butterfly/layout/includes/sidebar.pug | 18 + .../includes/third-party/abcjs/abcjs.pug | 17 + .../includes/third-party/abcjs/index.pug | 6 + .../layout/includes/third-party/aplayer.pug | 23 + .../third-party/card-post-count/artalk.pug | 31 + .../third-party/card-post-count/disqus.pug | 25 + .../third-party/card-post-count/fb.pug | 18 + .../third-party/card-post-count/index.pug | 16 + .../third-party/card-post-count/remark42.pug | 18 + .../third-party/card-post-count/twikoo.pug | 37 + .../third-party/card-post-count/valine.pug | 20 + .../third-party/card-post-count/waline.pug | 21 + .../includes/third-party/chat/chatra.pug | 42 + .../includes/third-party/chat/crisp.pug | 37 + .../includes/third-party/chat/daovoice.pug | 40 + .../includes/third-party/chat/index.pug | 9 + .../includes/third-party/chat/tidio.pug | 41 + .../includes/third-party/comments/artalk.pug | 55 + .../includes/third-party/comments/disqus.pug | 59 + .../third-party/comments/disqusjs.pug | 64 + .../comments/facebook_comments.pug | 46 + .../includes/third-party/comments/giscus.pug | 52 + .../includes/third-party/comments/gitalk.pug | 44 + .../includes/third-party/comments/index.pug | 46 + .../includes/third-party/comments/js.pug | 26 + .../includes/third-party/comments/livere.pug | 25 + .../third-party/comments/remark42.pug | 68 + .../includes/third-party/comments/twikoo.pug | 45 + .../third-party/comments/utterances.pug | 47 + .../includes/third-party/comments/valine.pug | 38 + .../includes/third-party/comments/waline.pug | 45 + .../layout/includes/third-party/effect.pug | 35 + .../includes/third-party/math/index.pug | 11 + .../includes/third-party/math/katex.pug | 16 + .../includes/third-party/math/mathjax.pug | 47 + .../includes/third-party/math/mermaid.pug | 51 + .../third-party/newest-comments/artalk.pug | 64 + .../third-party/newest-comments/common.pug | 60 + .../newest-comments/disqus-comment.pug | 34 + .../newest-comments/github-issues.pug | 62 + .../third-party/newest-comments/index.pug | 30 + .../third-party/newest-comments/remark42.pug | 30 + .../newest-comments/twikoo-comment.pug | 45 + .../third-party/newest-comments/valine.pug | 51 + .../third-party/newest-comments/waline.pug | 32 + .../layout/includes/third-party/pangu.pug | 23 + .../layout/includes/third-party/pjax.pug | 63 + .../layout/includes/third-party/prismjs.pug | 23 + .../includes/third-party/search/algolia.pug | 22 + .../includes/third-party/search/docsearch.pug | 29 + .../includes/third-party/search/index.pug | 7 + .../third-party/search/local-search.pug | 22 + .../includes/third-party/share/addtoany.pug | 10 + .../includes/third-party/share/index.pug | 9 + .../includes/third-party/share/share-js.pug | 4 + .../layout/includes/third-party/subtitle.pug | 93 ++ .../includes/third-party/umami_analytics.pug | 65 + .../layout/includes/widget/card_ad.pug | 3 + .../includes/widget/card_announcement.pug | 6 + .../layout/includes/widget/card_archives.pug | 7 + .../layout/includes/widget/card_author.pug | 26 + .../includes/widget/card_bottom_self.pug | 9 + .../includes/widget/card_categories.pug | 4 + .../includes/widget/card_newest_comment.pug | 7 + .../includes/widget/card_post_series.pug | 21 + .../layout/includes/widget/card_post_toc.pug | 15 + .../includes/widget/card_recent_post.pug | 27 + .../layout/includes/widget/card_tags.pug | 14 + .../layout/includes/widget/card_top_self.pug | 8 + .../layout/includes/widget/card_webinfo.pug | 45 + .../layout/includes/widget/index.pug | 36 + themes/butterfly/layout/index.pug | 5 + themes/butterfly/layout/page.pug | 32 + themes/butterfly/layout/post.pug | 32 + themes/butterfly/layout/tag.pug | 12 + themes/butterfly/package.json | 32 + themes/butterfly/plugins.yml | 211 ++++ themes/butterfly/scripts/events/404.js | 20 + themes/butterfly/scripts/events/cdn.js | 97 ++ themes/butterfly/scripts/events/comment.js | 17 + themes/butterfly/scripts/events/init.js | 20 + .../butterfly/scripts/events/merge_config.js | 573 +++++++++ themes/butterfly/scripts/events/stylus.js | 24 + themes/butterfly/scripts/events/welcome.js | 13 + .../scripts/filters/post_lazyload.js | 27 + .../butterfly/scripts/filters/random_cover.js | 40 + .../scripts/helpers/aside_archives.js | 77 ++ .../scripts/helpers/aside_categories.js | 81 ++ .../scripts/helpers/getArchiveLength.js | 45 + .../scripts/helpers/inject_head_js.js | 156 +++ themes/butterfly/scripts/helpers/page.js | 94 ++ .../butterfly/scripts/helpers/related_post.js | 85 ++ themes/butterfly/scripts/helpers/series.js | 22 + themes/butterfly/scripts/tag/button.js | 21 + themes/butterfly/scripts/tag/flink.js | 34 + themes/butterfly/scripts/tag/gallery.js | 64 + themes/butterfly/scripts/tag/hide.js | 65 + themes/butterfly/scripts/tag/inlineImg.js | 19 + themes/butterfly/scripts/tag/label.js | 14 + themes/butterfly/scripts/tag/mermaid.js | 17 + themes/butterfly/scripts/tag/note.js | 27 + themes/butterfly/scripts/tag/score.js | 22 + themes/butterfly/scripts/tag/series.js | 63 + themes/butterfly/scripts/tag/tabs.js | 51 + themes/butterfly/scripts/tag/timeline.js | 41 + .../source/css/_global/function.styl | 280 +++++ .../butterfly/source/css/_global/index.styl | 227 ++++ .../source/css/_highlight/highlight.styl | 281 +++++ .../source/css/_highlight/highlight/diff.styl | 81 ++ .../css/_highlight/highlight/index.styl | 39 + .../source/css/_highlight/prismjs/diff.styl | 302 +++++ .../source/css/_highlight/prismjs/index.styl | 24 + .../css/_highlight/prismjs/line-number.styl | 42 + .../source/css/_highlight/theme.styl | 121 ++ .../butterfly/source/css/_layout/aside.styl | 423 +++++++ themes/butterfly/source/css/_layout/chat.styl | 9 + .../source/css/_layout/comments.styl | 81 ++ .../butterfly/source/css/_layout/footer.styl | 35 + themes/butterfly/source/css/_layout/head.styl | 436 +++++++ .../butterfly/source/css/_layout/loading.styl | 95 ++ .../source/css/_layout/pagination.styl | 77 ++ themes/butterfly/source/css/_layout/post.styl | 261 ++++ .../source/css/_layout/relatedposts.styl | 41 + .../butterfly/source/css/_layout/reward.styl | 78 ++ .../source/css/_layout/rightside.styl | 72 ++ .../butterfly/source/css/_layout/sidebar.styl | 78 ++ .../source/css/_layout/third-party.styl | 161 +++ .../butterfly/source/css/_mode/darkmode.styl | 160 +++ .../butterfly/source/css/_mode/readmode.styl | 185 +++ themes/butterfly/source/css/_page/404.styl | 66 + .../butterfly/source/css/_page/archives.styl | 115 ++ .../source/css/_page/categories.styl | 37 + themes/butterfly/source/css/_page/common.styl | 60 + themes/butterfly/source/css/_page/flink.styl | 87 ++ .../butterfly/source/css/_page/homepage.styl | 174 +++ .../butterfly/source/css/_page/shuoshuo.styl | 53 + themes/butterfly/source/css/_page/tags.styl | 27 + .../butterfly/source/css/_search/algolia.styl | 92 ++ .../butterfly/source/css/_search/index.styl | 59 + .../source/css/_search/local-search.styl | 69 ++ themes/butterfly/source/css/_tags/button.styl | 56 + .../butterfly/source/css/_tags/gallery.styl | 218 ++++ themes/butterfly/source/css/_tags/hexo.styl | 30 + themes/butterfly/source/css/_tags/hide.styl | 48 + .../butterfly/source/css/_tags/inlineImg.styl | 6 + themes/butterfly/source/css/_tags/label.styl | 11 + themes/butterfly/source/css/_tags/note.styl | 124 ++ themes/butterfly/source/css/_tags/series.styl | 5 + themes/butterfly/source/css/_tags/tabs.styl | 77 ++ .../butterfly/source/css/_tags/timeline.styl | 68 + .../source/css/_third-party/normalize.min.css | 180 +++ themes/butterfly/source/css/index.styl | 15 + themes/butterfly/source/css/var.styl | 186 +++ themes/butterfly/source/img/404.jpg | Bin 0 -> 16393 bytes .../butterfly/source/img/butterfly-icon.png | Bin 0 -> 275383 bytes themes/butterfly/source/img/error-page.png | Bin 0 -> 35850 bytes themes/butterfly/source/img/favicon.ico | Bin 0 -> 15406 bytes themes/butterfly/source/img/friend_404.gif | Bin 0 -> 65097 bytes themes/butterfly/source/js/main.js | 943 ++++++++++++++ themes/butterfly/source/js/search/algolia.js | 173 +++ .../source/js/search/local-search.js | 360 ++++++ themes/butterfly/source/js/tw_cn.js | 117 ++ themes/butterfly/source/js/utils.js | 297 +++++ 216 files changed, 15557 insertions(+), 10 deletions(-) delete mode 160000 themes/butterfly create mode 100644 themes/butterfly/.github/FUNDING.yml create mode 100644 themes/butterfly/.github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 themes/butterfly/.github/ISSUE_TEMPLATE/config.yml create mode 100644 themes/butterfly/.github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 themes/butterfly/.github/workflows/publish.yml create mode 100644 themes/butterfly/.github/workflows/stale.yml create mode 100644 themes/butterfly/LICENSE create mode 100644 themes/butterfly/README.md create mode 100644 themes/butterfly/README_CN.md create mode 100644 themes/butterfly/_config.yml create mode 100644 themes/butterfly/languages/default.yml create mode 100644 themes/butterfly/languages/en.yml create mode 100644 themes/butterfly/languages/ja.yml create mode 100644 themes/butterfly/languages/ko.yml create mode 100644 themes/butterfly/languages/zh-CN.yml create mode 100644 themes/butterfly/languages/zh-HK.yml create mode 100644 themes/butterfly/languages/zh-TW.yml create mode 100644 themes/butterfly/layout/archive.pug create mode 100644 themes/butterfly/layout/category.pug create mode 100644 themes/butterfly/layout/includes/additional-js.pug create mode 100644 themes/butterfly/layout/includes/footer.pug create mode 100644 themes/butterfly/layout/includes/head.pug create mode 100644 themes/butterfly/layout/includes/head/Open_Graph.pug create mode 100644 themes/butterfly/layout/includes/head/analytics.pug create mode 100644 themes/butterfly/layout/includes/head/config.pug create mode 100644 themes/butterfly/layout/includes/head/config_site.pug create mode 100644 themes/butterfly/layout/includes/head/google_adsense.pug create mode 100644 themes/butterfly/layout/includes/head/preconnect.pug create mode 100644 themes/butterfly/layout/includes/head/pwa.pug create mode 100644 themes/butterfly/layout/includes/head/site_verification.pug create mode 100644 themes/butterfly/layout/includes/header/index.pug create mode 100644 themes/butterfly/layout/includes/header/menu_item.pug create mode 100644 themes/butterfly/layout/includes/header/nav.pug create mode 100644 themes/butterfly/layout/includes/header/post-info.pug create mode 100644 themes/butterfly/layout/includes/header/social.pug create mode 100644 themes/butterfly/layout/includes/layout.pug create mode 100644 themes/butterfly/layout/includes/loading/fullpage-loading.pug create mode 100644 themes/butterfly/layout/includes/loading/index.pug create mode 100644 themes/butterfly/layout/includes/loading/pace.pug create mode 100644 themes/butterfly/layout/includes/mixins/article-sort.pug create mode 100644 themes/butterfly/layout/includes/mixins/indexPostUI.pug create mode 100644 themes/butterfly/layout/includes/page/404.pug create mode 100644 themes/butterfly/layout/includes/page/categories.pug create mode 100644 themes/butterfly/layout/includes/page/default-page.pug create mode 100644 themes/butterfly/layout/includes/page/flink.pug create mode 100644 themes/butterfly/layout/includes/page/shuoshuo.pug create mode 100644 themes/butterfly/layout/includes/page/tags.pug create mode 100644 themes/butterfly/layout/includes/pagination.pug create mode 100644 themes/butterfly/layout/includes/post/post-copyright.pug create mode 100644 themes/butterfly/layout/includes/post/reward.pug create mode 100644 themes/butterfly/layout/includes/rightside.pug create mode 100644 themes/butterfly/layout/includes/sidebar.pug create mode 100644 themes/butterfly/layout/includes/third-party/abcjs/abcjs.pug create mode 100644 themes/butterfly/layout/includes/third-party/abcjs/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/aplayer.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/artalk.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/disqus.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/fb.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/remark42.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/twikoo.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/valine.pug create mode 100644 themes/butterfly/layout/includes/third-party/card-post-count/waline.pug create mode 100644 themes/butterfly/layout/includes/third-party/chat/chatra.pug create mode 100644 themes/butterfly/layout/includes/third-party/chat/crisp.pug create mode 100644 themes/butterfly/layout/includes/third-party/chat/daovoice.pug create mode 100644 themes/butterfly/layout/includes/third-party/chat/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/chat/tidio.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/artalk.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/disqus.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/disqusjs.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/facebook_comments.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/giscus.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/gitalk.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/js.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/livere.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/remark42.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/twikoo.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/utterances.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/valine.pug create mode 100644 themes/butterfly/layout/includes/third-party/comments/waline.pug create mode 100644 themes/butterfly/layout/includes/third-party/effect.pug create mode 100644 themes/butterfly/layout/includes/third-party/math/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/math/katex.pug create mode 100644 themes/butterfly/layout/includes/third-party/math/mathjax.pug create mode 100644 themes/butterfly/layout/includes/third-party/math/mermaid.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/artalk.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/common.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/disqus-comment.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/github-issues.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/remark42.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/twikoo-comment.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/valine.pug create mode 100644 themes/butterfly/layout/includes/third-party/newest-comments/waline.pug create mode 100644 themes/butterfly/layout/includes/third-party/pangu.pug create mode 100644 themes/butterfly/layout/includes/third-party/pjax.pug create mode 100644 themes/butterfly/layout/includes/third-party/prismjs.pug create mode 100644 themes/butterfly/layout/includes/third-party/search/algolia.pug create mode 100644 themes/butterfly/layout/includes/third-party/search/docsearch.pug create mode 100644 themes/butterfly/layout/includes/third-party/search/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/search/local-search.pug create mode 100644 themes/butterfly/layout/includes/third-party/share/addtoany.pug create mode 100644 themes/butterfly/layout/includes/third-party/share/index.pug create mode 100644 themes/butterfly/layout/includes/third-party/share/share-js.pug create mode 100644 themes/butterfly/layout/includes/third-party/subtitle.pug create mode 100644 themes/butterfly/layout/includes/third-party/umami_analytics.pug create mode 100644 themes/butterfly/layout/includes/widget/card_ad.pug create mode 100644 themes/butterfly/layout/includes/widget/card_announcement.pug create mode 100644 themes/butterfly/layout/includes/widget/card_archives.pug create mode 100644 themes/butterfly/layout/includes/widget/card_author.pug create mode 100644 themes/butterfly/layout/includes/widget/card_bottom_self.pug create mode 100644 themes/butterfly/layout/includes/widget/card_categories.pug create mode 100644 themes/butterfly/layout/includes/widget/card_newest_comment.pug create mode 100644 themes/butterfly/layout/includes/widget/card_post_series.pug create mode 100644 themes/butterfly/layout/includes/widget/card_post_toc.pug create mode 100644 themes/butterfly/layout/includes/widget/card_recent_post.pug create mode 100644 themes/butterfly/layout/includes/widget/card_tags.pug create mode 100644 themes/butterfly/layout/includes/widget/card_top_self.pug create mode 100644 themes/butterfly/layout/includes/widget/card_webinfo.pug create mode 100644 themes/butterfly/layout/includes/widget/index.pug create mode 100644 themes/butterfly/layout/index.pug create mode 100644 themes/butterfly/layout/page.pug create mode 100644 themes/butterfly/layout/post.pug create mode 100644 themes/butterfly/layout/tag.pug create mode 100644 themes/butterfly/package.json create mode 100644 themes/butterfly/plugins.yml create mode 100644 themes/butterfly/scripts/events/404.js create mode 100644 themes/butterfly/scripts/events/cdn.js create mode 100644 themes/butterfly/scripts/events/comment.js create mode 100644 themes/butterfly/scripts/events/init.js create mode 100644 themes/butterfly/scripts/events/merge_config.js create mode 100644 themes/butterfly/scripts/events/stylus.js create mode 100644 themes/butterfly/scripts/events/welcome.js create mode 100644 themes/butterfly/scripts/filters/post_lazyload.js create mode 100644 themes/butterfly/scripts/filters/random_cover.js create mode 100644 themes/butterfly/scripts/helpers/aside_archives.js create mode 100644 themes/butterfly/scripts/helpers/aside_categories.js create mode 100644 themes/butterfly/scripts/helpers/getArchiveLength.js create mode 100644 themes/butterfly/scripts/helpers/inject_head_js.js create mode 100644 themes/butterfly/scripts/helpers/page.js create mode 100644 themes/butterfly/scripts/helpers/related_post.js create mode 100644 themes/butterfly/scripts/helpers/series.js create mode 100644 themes/butterfly/scripts/tag/button.js create mode 100644 themes/butterfly/scripts/tag/flink.js create mode 100644 themes/butterfly/scripts/tag/gallery.js create mode 100644 themes/butterfly/scripts/tag/hide.js create mode 100644 themes/butterfly/scripts/tag/inlineImg.js create mode 100644 themes/butterfly/scripts/tag/label.js create mode 100644 themes/butterfly/scripts/tag/mermaid.js create mode 100644 themes/butterfly/scripts/tag/note.js create mode 100644 themes/butterfly/scripts/tag/score.js create mode 100644 themes/butterfly/scripts/tag/series.js create mode 100644 themes/butterfly/scripts/tag/tabs.js create mode 100644 themes/butterfly/scripts/tag/timeline.js create mode 100644 themes/butterfly/source/css/_global/function.styl create mode 100644 themes/butterfly/source/css/_global/index.styl create mode 100644 themes/butterfly/source/css/_highlight/highlight.styl create mode 100644 themes/butterfly/source/css/_highlight/highlight/diff.styl create mode 100644 themes/butterfly/source/css/_highlight/highlight/index.styl create mode 100644 themes/butterfly/source/css/_highlight/prismjs/diff.styl create mode 100644 themes/butterfly/source/css/_highlight/prismjs/index.styl create mode 100644 themes/butterfly/source/css/_highlight/prismjs/line-number.styl create mode 100644 themes/butterfly/source/css/_highlight/theme.styl create mode 100644 themes/butterfly/source/css/_layout/aside.styl create mode 100644 themes/butterfly/source/css/_layout/chat.styl create mode 100644 themes/butterfly/source/css/_layout/comments.styl create mode 100644 themes/butterfly/source/css/_layout/footer.styl create mode 100644 themes/butterfly/source/css/_layout/head.styl create mode 100644 themes/butterfly/source/css/_layout/loading.styl create mode 100644 themes/butterfly/source/css/_layout/pagination.styl create mode 100644 themes/butterfly/source/css/_layout/post.styl create mode 100644 themes/butterfly/source/css/_layout/relatedposts.styl create mode 100644 themes/butterfly/source/css/_layout/reward.styl create mode 100644 themes/butterfly/source/css/_layout/rightside.styl create mode 100644 themes/butterfly/source/css/_layout/sidebar.styl create mode 100644 themes/butterfly/source/css/_layout/third-party.styl create mode 100644 themes/butterfly/source/css/_mode/darkmode.styl create mode 100644 themes/butterfly/source/css/_mode/readmode.styl create mode 100644 themes/butterfly/source/css/_page/404.styl create mode 100644 themes/butterfly/source/css/_page/archives.styl create mode 100644 themes/butterfly/source/css/_page/categories.styl create mode 100644 themes/butterfly/source/css/_page/common.styl create mode 100644 themes/butterfly/source/css/_page/flink.styl create mode 100644 themes/butterfly/source/css/_page/homepage.styl create mode 100644 themes/butterfly/source/css/_page/shuoshuo.styl create mode 100644 themes/butterfly/source/css/_page/tags.styl create mode 100644 themes/butterfly/source/css/_search/algolia.styl create mode 100644 themes/butterfly/source/css/_search/index.styl create mode 100644 themes/butterfly/source/css/_search/local-search.styl create mode 100644 themes/butterfly/source/css/_tags/button.styl create mode 100644 themes/butterfly/source/css/_tags/gallery.styl create mode 100644 themes/butterfly/source/css/_tags/hexo.styl create mode 100644 themes/butterfly/source/css/_tags/hide.styl create mode 100644 themes/butterfly/source/css/_tags/inlineImg.styl create mode 100644 themes/butterfly/source/css/_tags/label.styl create mode 100644 themes/butterfly/source/css/_tags/note.styl create mode 100644 themes/butterfly/source/css/_tags/series.styl create mode 100644 themes/butterfly/source/css/_tags/tabs.styl create mode 100644 themes/butterfly/source/css/_tags/timeline.styl create mode 100644 themes/butterfly/source/css/_third-party/normalize.min.css create mode 100644 themes/butterfly/source/css/index.styl create mode 100644 themes/butterfly/source/css/var.styl create mode 100644 themes/butterfly/source/img/404.jpg create mode 100644 themes/butterfly/source/img/butterfly-icon.png create mode 100644 themes/butterfly/source/img/error-page.png create mode 100644 themes/butterfly/source/img/favicon.ico create mode 100644 themes/butterfly/source/img/friend_404.gif create mode 100644 themes/butterfly/source/js/main.js create mode 100644 themes/butterfly/source/js/search/algolia.js create mode 100644 themes/butterfly/source/js/search/local-search.js create mode 100644 themes/butterfly/source/js/tw_cn.js create mode 100644 themes/butterfly/source/js/utils.js diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 63ae7b6..db5f45a 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -23,9 +23,7 @@ jobs: - name: Install dependencies run: npm install - name: Install hexo-cli - run: npm install hexo-cli -g - - name: Check repository - run: ls -al + run: npm install -g hexo-cli - name: Generate pages run: hexo generate - name: Copy pages @@ -35,13 +33,9 @@ jobs: git fetch git checkout publish - name: Remove old files - run: | - rm -rf `ls | grep -v .git` - ls -al + run: rm -rf `ls | grep -v .git` - name: Copy new files - run: | - cp -r ../pages/* . - ls -al + run: cp -r ../pages/* . - name: Commit and Push back Changes uses: https://github.com/stefanzweifel/git-auto-commit-action@v5 with: diff --git a/themes/butterfly b/themes/butterfly deleted file mode 160000 index f0e147c..0000000 --- a/themes/butterfly +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f0e147c12570b84cdd870d9b7475ff00b47f7e8b diff --git a/themes/butterfly/.github/FUNDING.yml b/themes/butterfly/.github/FUNDING.yml new file mode 100644 index 0000000..0cd9243 --- /dev/null +++ b/themes/butterfly/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: ['https://buy.stripe.com/3cs6rP6YA91sbbG5kk','https://jsd.012700.xyz/gh/jerryc127/CDN/Photo/wechat.jpg'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/themes/butterfly/.github/ISSUE_TEMPLATE/bug_report.yml b/themes/butterfly/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..d12e9e8 --- /dev/null +++ b/themes/butterfly/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,83 @@ +name: Bug report +description: Create a report to help us improve +title: '[Bug]: ' + +body: + - type: markdown + attributes: + value: | + 重要:請依照該模板來提交 + Important: Please follow the template to create a new issue + + - type: input + id: butterfly-ver + attributes: + label: 使用的 Butterfly 版本? | What version of Butterfly are you using? + description: 檢視主題的 package.json | Check the theme's package.json + validations: + required: true + + - type: dropdown + id: modify + attributes: + label: 是否修改過主題文件? | Has the theme files been modified? + options: + - 是 (Yes) + - 否 (No) + validations: + required: true + + - type: dropdown + id: browser + attributes: + label: 使用的瀏覽器? | What browser are you using? + options: + - Chrome + - Edge + - Safari + - Opera + - Other + validations: + required: true + + - type: dropdown + id: platform + attributes: + label: 使用的系統? | What operating system are you using? + options: + - Windows + - macOS + - Linux + - Android + - iOS + - Other + validations: + required: true + + - type: textarea + id: dependencies + attributes: + label: 依賴插件 | Package dependencies information + description: 在 Hexo 根目錄下執行 `npm ls --depth 0` | Run `npm ls --depth 0` in Hexo root directory + render: Text + validations: + required: true + + - type: textarea + id: description + attributes: + label: 問題描述 | Describe the bug + description: 請描述你的問題現象 | A clear and concise description of what the bug is. + placeholder: 請儘量提供截圖來定位問題 | If applicable, add screenshots to help explain your problem + value: + validations: + required: true + + - type: input + id: website + attributes: + label: 出現問題的網站 | Website with the issue + description: 請提供可復現問題的網站地址 | Please provide a website URL where the problem can be reproduced. + placeholder: 請填寫具體的網址,不要填寫 localhost 網站 | Please provide a specific URL, do not use localhost. + validations: + required: true \ No newline at end of file diff --git a/themes/butterfly/.github/ISSUE_TEMPLATE/config.yml b/themes/butterfly/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..9af6ea1 --- /dev/null +++ b/themes/butterfly/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,18 @@ +blank_issues_enabled: false +contact_links: + - name: Questions about Butterfly + url: https://github.com/jerryc127/hexo-theme-butterfly/discussions + about: 一些使用問題請到 Discussion 詢問。 Please ask questions in Discussion. + + - name: Butterfly Q&A + url: https://butterfly.js.org/posts/98d20436/ + about: Butterfly Q&A + + - name: Telegram + url: https://t.me/bu2fly + about: 'Official Telegram Group' + + - name: QQ 群 + url: https://jq.qq.com/?_wv=1027&k=KU9105XR + about: '群號 1070540070' + diff --git a/themes/butterfly/.github/ISSUE_TEMPLATE/feature_request.yml b/themes/butterfly/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..3bf7c30 --- /dev/null +++ b/themes/butterfly/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,14 @@ +name: Feature request +description: Suggest an idea for this project +title: '[Feature]: ' + +body: + - type: textarea + id: feature-request + attributes: + label: 想要的功能 | What feature do you want? + description: 請描述你需要的新功能 | A clear and concise description of what the feature is. + placeholder: + value: + validations: + require: true \ No newline at end of file diff --git a/themes/butterfly/.github/workflows/publish.yml b/themes/butterfly/.github/workflows/publish.yml new file mode 100644 index 0000000..d68365d --- /dev/null +++ b/themes/butterfly/.github/workflows/publish.yml @@ -0,0 +1,19 @@ +name: npm publish + +on: + release: + types: [created] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + # Setup .npmrc file to publish to npm + - uses: actions/setup-node@v1 + with: + node-version: '12.x' + registry-url: 'https://registry.npmjs.org' + - run: npm install + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/themes/butterfly/.github/workflows/stale.yml b/themes/butterfly/.github/workflows/stale.yml new file mode 100644 index 0000000..a50d9de --- /dev/null +++ b/themes/butterfly/.github/workflows/stale.yml @@ -0,0 +1,19 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '30 1 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v5 + with: + days-before-issue-stale: 30 + days-before-pr-stale: -1 + days-before-close: 7 + stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.' + close-pr-message: 'This issue has not seen any activity since it was marked stale. Closing.' + stale-issue-label: 'Stale' + exempt-issue-labels: 'pinned,bug,enhancement,documentation,Plan' + operations-per-run: 1000 \ No newline at end of file diff --git a/themes/butterfly/LICENSE b/themes/butterfly/LICENSE new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/themes/butterfly/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/themes/butterfly/README.md b/themes/butterfly/README.md new file mode 100644 index 0000000..7589930 --- /dev/null +++ b/themes/butterfly/README.md @@ -0,0 +1,116 @@ +