diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..4f260da
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,73 @@
+name: Bug report
+description: Create a report to help us improve
+title: '[Bug]: '
+
+body:
+ - type: markdown
+ attributes:
+ value: |
+ 重要:請依照該模板來提交
+ Please follow the template to create a new issue
+ - type: input
+ id: butterfly-ver
+ attributes:
+ label: 使用的 Butterfly 版本? | What version of Butterfly are you use?
+ 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 browse 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: 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
+ description: 請提供下可復現網站地址 | Please supply a website url which can reproduce problem.
+ placeholder:
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..9b338d0
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,22 @@
+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 1群
+ url: https://jq.qq.com/?_wv=1027&k=KU9105XR
+ about: '群號 1070540070,不要兩個Q群都添加'
+
+ - name: QQ 2群
+ url: https://jq.qq.com/?_wv=1027&k=r1nK0DQz
+ about: '群號 978221020,不要兩個Q群都添加'
+
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..3bf7c30
--- /dev/null
+++ b/.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/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..d68365d
--- /dev/null
+++ b/.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/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 0000000..a50d9de
--- /dev/null
+++ b/.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/LICENSE b/LICENSE
new file mode 100644
index 0000000..7a4a3ea
--- /dev/null
+++ b/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/README.md b/README.md
new file mode 100644
index 0000000..8b7b6e3
--- /dev/null
+++ b/README.md
@@ -0,0 +1,113 @@
+
+
+# hexo-theme-butterfly
+
+
+
+
+
+
+
+
+
+Demo: 👍 [Butterfly](https://butterfly.js.org/) || 🤞 [CrazyWong](https://crazywong.com/)
+
+Docs: 📖 [Butterfly Docs](https://butterfly.js.org/posts/21cfbf15/)
+
+Based on [hexo-theme-melody](https://github.com/Molunerfinn/hexo-theme-melody) theme.
+
+## 💻 Installation
+
+### GIT
+
+> If you are in Mainland China, you can download in [Gitee](https://gitee.com/immyw/hexo-theme-butterfly.git)
+
+Stable branch [recommend]:
+
+```
+git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
+```
+
+Dev branch:
+
+```
+git clone -b dev https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
+```
+
+### NPM
+
+> It supports Hexo 5.0.0 or later
+
+In Hexo site root directory
+
+```powershell
+npm i hexo-theme-butterfly
+```
+
+## ⚙ Configuration
+
+ Set theme in the hexo work folder's root config file `_config.yml`:
+
+> theme: butterfly
+
+ If you don't have pug & stylus renderer, try this:
+
+> npm install hexo-renderer-pug hexo-renderer-stylus
+
+## 🎉 Features
+
+- [x] Card UI Design
+- [X] Support sub-menu
+- [x] Two Column designs
+- [x] Responsive Web Design
+- [x] Dark Mode
+- [x] Pjax
+- [x] Read Mode
+- [x] Conversion between Traditional and Simplified Chinese
+- [X] TOC catalog is available for both computers and mobile phones
+- [X] Color themes (darker/pale night/light/ocean/mac/mac light), support custom colors
+- [X] Code Blocks (Display code language/close or expand Code Blocks/Copy Button/word wrap)
+- [X] Disable copy/Add a Copyright Notice to the Copied Text
+- [X] Search (Algolia SearchZ/Local Search)
+- [x] Mathjax and Katex
+- [x] Built-in 404 page
+- [x] WordCount
+- [x] Related articles
+- [x] Displays outdated notice for a post
+- [x] Share (AddThis/Sharejs/Addtoany)
+- [X] Comment (Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Twikoo/Giscus/Remark42/artalk)
+- [x] Multiple Comment System Support
+- [x] Online Chats (Chatra/Tidio/Daovoice/Gitter/Crisp/messenger)
+- [x] Web analytics
+- [x] Google AdSense
+- [x] Webmaster Verification
+- [x] Change website colour scheme
+- [x] Typewriter Effect: activate_power_mode
+- [x] Background effects (Canvas ribbon/canvas_ribbon_piao/canvas_nest)
+- [x] Mouse click effects (Fireworks/Heart/Text)
+- [x] Preloader/Loading Animation/pace.js
+- [x] Busuanzi visitor counter
+- [x] Medium Zoom/Fancybox
+- [x] Mermaid
+- [x] Justified Gallery
+- [x] Lazyload images
+- [x] Instantpage/Pangu/Snackbar notification toast/PWA......
+
+## ✨ Contributors
+
+
+
+
+
+## 📷 Screenshots
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README_CN.md b/README_CN.md
new file mode 100644
index 0000000..1dcfc96
--- /dev/null
+++ b/README_CN.md
@@ -0,0 +1,113 @@
+
+
+# hexo-theme-butterfly
+
+
+
+
+
+
+
+
+
+預覽: 👍 [Butterfly](https://butterfly.js.org/) || 🤞 [CrazyWong](https://crazywong.com/)
+
+文檔: 📖 [Butterfly Docs](https://butterfly.js.org/posts/21cfbf15/)
+
+一款基於[hexo-theme-melody](https://github.com/Molunerfinn/hexo-theme-melody)修改的主題
+
+## 💻 安裝
+
+### Git 安裝
+
+> 本倉庫同時上傳到 [Gitee](https://gitee.com/immyw/hexo-theme-butterfly.git),如果你訪問 Github 緩慢,可從 Gitee 中下載。
+
+在博客根目錄裡安裝穩定版【推薦】
+
+```powershell
+git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
+```
+
+如果想要安裝比較新的dev分支,可以
+
+```powershell
+git clone -b dev https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
+```
+
+### npm 安裝
+
+> 此方法只支持Hexo 5.0.0以上版本
+
+在博客根目錄裡
+
+```powershell
+npm i hexo-theme-butterfly
+```
+
+## ⚙ 應用主題
+
+修改hexo配置文件`_config.yml`,把主題改為`Butterfly`
+
+```
+theme: butterfly
+```
+
+>如果你沒有pug以及stylus的渲染器,請下載安裝: npm install hexo-renderer-pug hexo-renderer-stylus --save
+
+## 🎉 特色
+
+- [x] 卡片化設計
+- [X] 支持二級目錄
+- [x] 雙欄設計
+- [x] 響應式主題
+- [x] 夜間模式
+- [x] Pjax
+- [x] 文章閲讀模式
+- [x] 簡體和繁體轉換
+- [X] 電腦和手機都可查看TOC目錄
+- [X] 內置多種代碼配色(darker/pale night/light/ocean/mac/mac light),可自定義代碼配色
+- [X] 代碼塊顯示代碼語言/關閉或展開代碼塊/代碼複製/代碼自動換行
+- [X] 可關閉文字複製/可開啟內容複製增加版權信息)
+- [X] 兩種搜索(Algolia搜索和本地搜索)
+- [x] Mathjax 和 Katex
+- [x] 內置404頁面
+- [x] 顯示字數統計
+- [x] 顯示相關文章
+- [x] 過期文章提醒
+- [x] 多種分享系統(AddThis/Sharejs/Addtoany)
+- [X] 多種評論系統(Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Twikoo/Giscus/Remark42/artalk)
+- [x] 支持雙評論部署
+- [x] 多種在線聊天(Chatra/Tidio/Daovoice/Gitter/Crisp/messenger)
+- [x] 多種分析系統
+- [x] 谷歌廣告/手動廣告位置
+- [x] 各種站長驗證(Google/Bing/Baidu/360/Yandex)
+- [x] 修改網站配色
+- [x] 打字特效 activate_power_mode
+- [x] 多種背景特效(靜止彩帶/動態彩帶/Canvas Nest)
+- [x] 多種鼠標點擊特效(煙花/文字/愛心)
+- [x] 內置一種 Preloader 加載動畫和 pace.js 加載動畫條
+- [x] 不蒜子訪問統計
+- [x] 兩種大圖模式(Medium Zoom/Fancybox)
+- [x] Mermaid 圖表顯示
+- [x] 照片牆
+- [x] 圖片懶加載
+- [x] Instantpage/Pangu/Snackbar彈窗/PWA......
+
+## ✨ 貢獻者
+
+
+
+
+
+## 📷 截圖
+
+
+
+
+
+
+
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..5153937
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,955 @@
+# Main menu navigation (導航目錄)
+# see https://butterfly.js.org/posts/4aa8abbe/#導航菜單
+# --------------------------------------
+
+menu:
+ # Home: / || fas fa-home
+ # Archives: /archives/ || fas fa-archive
+ # Tags: /tags/ || fas fa-tags
+ # Categories: /categories/ || fas fa-folder-open
+ # List||fas fa-list:
+ # Music: /music/ || fas fa-music
+ # Movie: /movies/ || fas fa-video
+ # Link: /link/ || fas fa-link
+ # About: /about/ || fas fa-heart
+
+# Code Blocks (代碼相關)
+# --------------------------------------
+
+highlight_theme: light # darker / pale night / light / ocean / mac / mac light / false
+highlight_copy: true # copy button
+highlight_lang: true # show the code language
+highlight_shrink: false # true: shrink the code blocks / false: expand the code blocks | none: expand code blocks and hide the button
+highlight_height_limit: false # unit: px
+code_word_wrap: false
+
+# copy settings
+# copyright: Add the copyright information after copied content (複製的內容後面加上版權信息)
+copy:
+ enable: true
+ copyright:
+ enable: false
+ limit_count: 50
+
+# social settings (社交圖標設置)
+# formal:
+# icon: link || the description
+social:
+ # fab fa-github: https://github.com/xxxxx || Github
+ # fas fa-envelope: mailto:xxxxxx@gmail.com || Email
+
+# search (搜索)
+# see https://butterfly.js.org/posts/ceeb73f/#搜索系統
+# --------------------------------------
+
+# Algolia search
+algolia_search:
+ enable: false
+ hits:
+ per_page: 6
+
+# Local search
+local_search:
+ enable: false
+ preload: false
+ CDN:
+
+# Math (數學)
+# --------------------------------------
+# About the per_page
+# if you set it to true, it will load mathjax/katex script in each page (true 表示每一頁都加載js)
+# if you set it to false, it will load mathjax/katex script according to your setting (add the 'mathjax: true' in page's front-matter)
+# (false 需要時加載,須在使用的 Markdown Front-matter 加上 mathjax: true)
+
+# MathJax
+mathjax:
+ enable: false
+ per_page: false
+
+# KaTeX
+katex:
+ enable: false
+ per_page: false
+ hide_scrollbar: true
+
+# Image (圖片設置)
+# --------------------------------------
+
+# Favicon(網站圖標)
+favicon: /img/favicon.png
+
+# Avatar (頭像)
+avatar:
+ img: https://i.loli.net/2021/02/24/5O1day2nriDzjSu.png
+ effect: false
+
+# Disable all banner image
+disable_top_img: false
+
+# The banner image of home page
+index_img:
+
+# If the banner of page not setting, it will show the top_img
+default_top_img:
+
+# The banner image of archive page
+archive_img:
+
+# If the banner of tag page not setting, it will show the top_img
+# note: tag page, not tags page (子標籤頁面的 top_img)
+tag_img:
+
+# The banner image of tag page
+# format:
+# - tag name: xxxxx
+tag_per_img:
+
+# If the banner of category page not setting, it will show the top_img
+# note: category page, not categories page (子分類頁面的 top_img)
+category_img:
+
+# The banner image of category page
+# format:
+# - category name: xxxxx
+category_per_img:
+
+cover:
+ # display the cover or not (是否顯示文章封面)
+ index_enable: true
+ aside_enable: true
+ archives_enable: true
+ # the position of cover in home page (封面顯示的位置)
+ # left/right/both
+ position: both
+ # When cover is not set, the default cover is displayed (當沒有設置cover時,默認的封面顯示)
+ default_cover:
+ # - https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg
+
+# Replace Broken Images (替換無法顯示的圖片)
+error_img:
+ flink: /img/friend_404.gif
+ post_page: /img/404.jpg
+
+# A simple 404 page
+error_404:
+ enable: false
+ subtitle: 'Page Not Found'
+ background: https://i.loli.net/2020/05/19/aKOcLiyPl2JQdFD.png
+
+post_meta:
+ page: # Home Page
+ date_type: created # created or updated or both 主頁文章日期是創建日或者更新日或都顯示
+ date_format: date # date/relative 顯示日期還是相對日期
+ categories: true # true or false 主頁是否顯示分類
+ tags: false # true or false 主頁是否顯示標籤
+ label: true # true or false 顯示描述性文字
+ post:
+ date_type: both # created or updated or both 文章頁日期是創建日或者更新日或都顯示
+ date_format: date # date/relative 顯示日期還是相對日期
+ categories: true # true or false 文章頁是否顯示分類
+ tags: true # true or false 文章頁是否顯示標籤
+ label: true # true or false 顯示描述性文字
+
+# wordcount (字數統計)
+# see https://butterfly.js.org/posts/ceeb73f/#字數統計
+wordcount:
+ enable: false
+ post_wordcount: true
+ min2read: true
+ total_wordcount: true
+
+# Display the article introduction on homepage
+# 1: description
+# 2: both (if the description exists, it will show description, or show the auto_excerpt)
+# 3: auto_excerpt (default)
+# false: do not show the article introduction
+index_post_content:
+ method: 3
+ length: 500 # if you set method to 2 or 3, the length need to config
+
+# anchor
+anchor:
+ button:
+ enable: false
+ always_show: false
+ icon: # the unicode value of Font Awesome icon, such as '\3423'
+ auto_update: false # when you scroll in post, the URL will update according to header id.
+
+# Post
+# --------------------------------------
+
+# toc (目錄)
+toc:
+ post: true
+ page: false
+ number: true
+ expand: false
+ style_simple: false # for post
+
+post_copyright:
+ enable: true
+ decode: false
+ author_href:
+ license: CC BY-NC-SA 4.0
+ license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/
+
+# Sponsor/reward
+reward:
+ enable: false
+ QR_code:
+ # - img: /img/wechat.jpg
+ # link:
+ # text: wechat
+ # - img: /img/alipay.jpg
+ # link:
+ # text: alipay
+
+# Post edit
+# Easily browse and edit blog source code online.
+post_edit:
+ enable: false
+ # url: https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name/
+ # For example: https://github.com/jerryc127/butterfly.js.org/edit/main/source/
+ url:
+
+# Related Articles
+related_post:
+ enable: true
+ limit: 6 # Number of posts displayed
+ date_type: created # or created or updated 文章日期顯示創建日或者更新日
+
+# figcaption (圖片描述文字)
+photofigcaption: false
+
+# post_pagination (分頁)
+# value: 1 || 2 || false
+# 1: The 'next post' will link to old post
+# 2: The 'next post' will link to new post
+# false: disable pagination
+post_pagination: 1
+
+# Displays outdated notice for a post (文章過期提醒)
+noticeOutdate:
+ enable: false
+ style: flat # style: simple/flat
+ limit_day: 500 # When will it be shown
+ position: top # position: top/bottom
+ message_prev: It has been
+ message_next: days since the last update, the content of the article may be outdated.
+
+# Share System (分享功能)
+# --------------------------------------
+
+# AddThis
+# https://www.addthis.com/
+addThis:
+ enable: false
+ pubid:
+
+# Share.js
+# https://github.com/overtrue/share.js
+sharejs:
+ enable: true
+ sites: facebook,twitter,wechat,weibo,qq
+
+# AddToAny
+# https://www.addtoany.com/
+addtoany:
+ enable: false
+ item: facebook,twitter,wechat,sina_weibo,facebook_messenger,email,copy_link
+
+# Comments System
+# --------------------------------------
+
+comments:
+ # Up to two comments system, the first will be shown as default
+ # Choose: Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Twikoo/Giscus/Remark42/Artalk
+ use: # Valine,Disqus
+ text: true # Display the comment name next to the button
+ # lazyload: The comment system will be load when comment element enters the browser's viewport.
+ # If you set it to true, the comment count will be invalid
+ lazyload: false
+ count: false # Display comment count in post's top_img
+ card_post_count: false # Display comment count in Home Page
+
+# disqus
+# https://disqus.com/
+disqus:
+ shortname:
+ apikey: # For newest comments widget
+
+# Alternative Disqus - Render comments with Disqus API
+# DisqusJS 評論系統,可以實現在網路審查地區載入 Disqus 評論列表,兼容原版
+# https://github.com/SukkaW/DisqusJS
+disqusjs:
+ shortname:
+ apikey:
+ option:
+
+# livere (來必力)
+# https://www.livere.com/
+livere:
+ uid:
+
+# gitalk
+# https://github.com/gitalk/gitalk
+gitalk:
+ client_id:
+ client_secret:
+ repo:
+ owner:
+ admin:
+ option:
+
+# valine
+# https://valine.js.org
+valine:
+ appId: # leancloud application app id
+ appKey: # leancloud application app key
+ avatar: monsterid # gravatar style https://valine.js.org/#/avatar
+ serverURLs: # This configuration is suitable for domestic custom domain name users, overseas version will be automatically detected (no need to manually fill in)
+ bg: # valine background
+ visitor: false
+ option:
+
+# waline - A simple comment system with backend support fork from Valine
+# https://waline.js.org/
+waline:
+ serverURL: # Waline server address url
+ bg: # waline background
+ pageview: false
+ option:
+
+# utterances
+# https://utteranc.es/
+utterances:
+ repo:
+ # Issue Mapping: pathname/url/title/og:title
+ issue_term: pathname
+ # Theme: github-light/github-dark/github-dark-orange/icy-dark/dark-blue/photon-dark
+ light_theme: github-light
+ dark_theme: photon-dark
+
+# Facebook Comments Plugin
+# https://developers.facebook.com/docs/plugins/comments/
+facebook_comments:
+ app_id:
+ user_id: # optional
+ pageSize: 10 # The number of comments to show
+ order_by: social # social/time/reverse_time
+ lang: zh_TW # Language en_US/zh_CN/zh_TW and so on
+
+# Twikoo
+# https://github.com/imaegoo/twikoo
+twikoo:
+ envId:
+ region:
+ visitor: false
+ option:
+
+# Giscus
+# https://giscus.app/
+giscus:
+ repo:
+ repo_id:
+ category_id:
+ theme:
+ light: light
+ dark: dark
+ option:
+
+# Remark42
+# https://remark42.com/docs/configuration/frontend/
+remark42:
+ host: # Your Host URL
+ siteId: # Your Site ID
+ option:
+
+# Artalk
+# https://artalk.js.org/guide/frontend/config.html
+artalk:
+ server:
+ site:
+ visitor: false
+ option:
+
+# Chat Services
+# --------------------------------------
+
+# Chat Button [recommend]
+# It will create a button in the bottom right corner of website, and hide the origin button
+chat_btn: false
+
+# The origin chat button is displayed when scrolling up, and the button is hidden when scrolling down
+chat_hide_show: false
+
+# chatra
+# https://chatra.io/
+chatra:
+ enable: false
+ id:
+
+# tidio
+# https://www.tidio.com/
+tidio:
+ enable: false
+ public_key:
+
+# daovoice
+# http://daovoice.io/
+daovoice:
+ enable: false
+ app_id:
+
+# gitter
+# https://gitter.im/
+gitter:
+ enable: false
+ room:
+
+# crisp
+# https://crisp.chat/en/
+crisp:
+ enable: false
+ website_id:
+
+# messenger
+# https://developers.facebook.com/docs/messenger-platform/discovery/facebook-chat-plugin/
+messenger:
+ enable: false
+ pageID:
+ lang: zh_TW # Language en_US/zh_CN/zh_TW and so on
+
+# Footer Settings
+# --------------------------------------
+footer:
+ owner:
+ enable: true
+ since: 2020
+ custom_text:
+ copyright: true # Copyright of theme and framework
+
+# Analysis
+# --------------------------------------
+
+# Baidu Analytics
+# https://tongji.baidu.com/web/welcome/login
+baidu_analytics:
+
+# Google Analytics
+# https://analytics.google.com/analytics/web/
+google_analytics:
+
+# CNZZ Analytics
+# https://www.umeng.com/
+cnzz_analytics:
+
+# Cloudflare Analytics
+# https://www.cloudflare.com/zh-tw/web-analytics/
+cloudflare_analytics:
+
+# Microsoft Clarity
+# https://clarity.microsoft.com/
+microsoft_clarity:
+
+# Advertisement
+# --------------------------------------
+
+# Google Adsense (谷歌廣告)
+google_adsense:
+ enable: false
+ auto_ads: true
+ js: https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
+ client:
+ enable_page_level_ads: true
+
+# Insert ads manually (手動插入廣告)
+# ad:
+# index:
+# aside:
+# post:
+
+# Verification (站長驗證)
+# --------------------------------------
+
+site_verification:
+ # - name: google-site-verification
+ # content: xxxxxx
+ # - name: baidu-site-verification
+ # content: xxxxxxx
+
+# Beautify/Effect (美化/效果)
+# --------------------------------------
+
+# Theme color for customize
+# Notice: color value must in double quotes like "#000" or may cause error!
+
+# theme_color:
+# enable: true
+# main: "#32C9EB"
+# paginator: "#32C9EB"
+# button_hover: "#ff7a7a"
+# text_selection: "#32C9EB"
+# link_color: "#99a9bf"
+# meta_color: "#858585"
+# hr_color: "#A4D8FA"
+# code_foreground: "#F47466"
+# code_background: "rgba(27, 31, 35, .05)"
+# toc_color: "#32C9EB"
+# blockquote_padding_color: "#32C9EB"
+# blockquote_background_color: "#32C9EB"
+# scrollbar_color: "#32C9EB"
+# meta_theme_color_light: "ffffff"
+# meta_theme_color_dark: "#0d0d0d"
+
+# The top_img settings of home page
+# default: top img - full screen, site info - middle (默認top_img全屏,site_info在中間)
+# The position of site info, eg: 300px/300em/300rem/10% (主頁標題距離頂部距離)
+index_site_info_top:
+# The height of top_img, eg: 300px/300em/300rem (主頁top_img高度)
+index_top_img_height:
+
+# The user interface setting of category and tag page (category和tag頁的UI設置)
+# index - same as Homepage UI (index 值代表 UI將與首頁的UI一樣)
+# default - same as archives UI 默認跟archives頁面UI一樣
+category_ui: # 留空或 index
+tag_ui: # 留空或 index
+
+# Website Background (設置網站背景)
+# can set it to color or image (可設置圖片 或者 顔色)
+# The formal of image: url(http://xxxxxx.com/xxx.jpg)
+background:
+
+# Footer Background
+footer_bg: false
+
+# the position of bottom right button/default unit: px (右下角按鈕距離底部的距離/默認單位為px)
+rightside-bottom:
+
+# Enter transitions (開啓網頁進入效果)
+enter_transitions: true
+
+# Background effects (背景特效)
+# --------------------------------------
+
+# canvas_ribbon (靜止彩帶背景)
+# See: https://github.com/hustcc/ribbon.js
+canvas_ribbon:
+ enable: false
+ size: 150
+ alpha: 0.6
+ zIndex: -1
+ click_to_change: false
+ mobile: false
+
+# Fluttering Ribbon (動態彩帶)
+canvas_fluttering_ribbon:
+ enable: false
+ mobile: false
+
+# canvas_nest
+# https://github.com/hustcc/canvas-nest.js
+canvas_nest:
+ enable: false
+ color: '0,0,255' #color of lines, default: '0,0,0'; RGB values: (R,G,B).(note: use ',' to separate.)
+ opacity: 0.7 # the opacity of line (0~1), default: 0.5.
+ zIndex: -1 # z-index property of the background, default: -1.
+ count: 99 # the number of lines, default: 99.
+ mobile: false
+
+# Typewriter Effect (打字效果)
+# https://github.com/disjukr/activate-power-mode
+activate_power_mode:
+ enable: false
+ colorful: true # open particle animation (冒光特效)
+ shake: true # open shake (抖動特效)
+ mobile: false
+
+# Mouse click effects: fireworks (鼠標點擊效果: 煙火特效)
+fireworks:
+ enable: false
+ zIndex: 9999 # -1 or 9999
+ mobile: false
+
+# Mouse click effects: Heart symbol (鼠標點擊效果: 愛心)
+click_heart:
+ enable: false
+ mobile: false
+
+# Mouse click effects: words (鼠標點擊效果: 文字)
+ClickShowText:
+ enable: false
+ text:
+ # - I
+ # - LOVE
+ # - YOU
+ fontSize: 15px
+ random: false
+ mobile: false
+
+# Default display mode (網站默認的顯示模式)
+# light (default) / dark
+display_mode: light
+
+# Beautify (美化頁面顯示)
+beautify:
+ enable: false
+ field: post # site/post
+ title-prefix-icon: # '\f0c1'
+ title-prefix-icon-color: # '#F47466'
+
+# Global font settings
+# Don't modify the following settings unless you know how they work (非必要不要修改)
+font:
+ global-font-size:
+ code-font-size:
+ font-family:
+ code-font-family:
+
+# Font settings for the site title and site subtitle
+# 左上角網站名字 主頁居中網站名字
+blog_title_font:
+ font_link:
+ font-family:
+
+# The setting of divider icon (水平分隔線圖標設置)
+hr_icon:
+ enable: true
+ icon: # the unicode value of Font Awesome icon, such as '\3423'
+ icon-top:
+
+# the subtitle on homepage (主頁subtitle)
+subtitle:
+ enable: false
+ # Typewriter Effect (打字效果)
+ effect: true
+ # Effect Speed Options (打字效果速度參數)
+ startDelay: 300 # time before typing starts in milliseconds
+ typeSpeed: 150 # type speed in milliseconds
+ backSpeed: 50 # backspacing speed in milliseconds
+ # loop (循環打字)
+ loop: true
+ # source 調用第三方服務
+ # source: false 關閉調用
+ # source: 1 調用一言網的一句話(簡體) https://hitokoto.cn/
+ # source: 2 調用一句網(簡體) http://yijuzhan.com/
+ # source: 3 調用今日詩詞(簡體) https://www.jinrishici.com/
+ # subtitle 會先顯示 source , 再顯示 sub 的內容
+ source: false
+ # 如果關閉打字效果,subtitle 只會顯示 sub 的第一行文字
+ sub:
+
+# Loading Animation (加載動畫)
+preloader:
+ enable: false
+ # source
+ # 1. fullpage-loading
+ # 2. pace (progress bar)
+ source: 1
+ # pace theme (see https://codebyzach.github.io/pace/)
+ pace_css_url:
+
+# aside (側邊欄)
+# --------------------------------------
+
+aside:
+ enable: true
+ hide: false
+ button: true
+ mobile: true # display on mobile
+ position: right # left or right
+ display:
+ archive: true
+ tag: true
+ category: true
+ card_author:
+ enable: true
+ description:
+ button:
+ enable: true
+ icon: fab fa-github
+ text: Follow Me
+ link: https://github.com/xxxxxx
+ card_announcement:
+ enable: true
+ content: This is my Blog
+ card_recent_post:
+ enable: true
+ limit: 5 # if set 0 will show all
+ sort: date # date or updated
+ sort_order: # Don't modify the setting unless you know how it works
+ card_categories:
+ enable: true
+ limit: 8 # if set 0 will show all
+ expand: none # none/true/false
+ sort_order: # Don't modify the setting unless you know how it works
+ card_tags:
+ enable: true
+ limit: 40 # if set 0 will show all
+ color: false
+ sort_order: # Don't modify the setting unless you know how it works
+ card_archives:
+ enable: true
+ type: monthly # yearly or monthly
+ format: MMMM YYYY # eg: YYYY年MM月
+ order: -1 # Sort of order. 1, asc for ascending; -1, desc for descending
+ limit: 8 # if set 0 will show all
+ sort_order: # Don't modify the setting unless you know how it works
+ card_webinfo:
+ enable: true
+ post_count: true
+ last_push_date: true
+ sort_order: # Don't modify the setting unless you know how it works
+
+# busuanzi count for PV / UV in site
+# 訪問人數
+busuanzi:
+ site_uv: true
+ site_pv: true
+ page_pv: true
+
+# Time difference between publish date and now (網頁運行時間)
+# Formal: Month/Day/Year Time or Year/Month/Day Time
+runtimeshow:
+ enable: false
+ publish_date:
+
+# Aside widget - Newest Comments
+newest_comments:
+ enable: false
+ sort_order: # Don't modify the setting unless you know how it works
+ limit: 6
+ storage: 10 # unit: mins, save data to localStorage
+ avatar: true
+
+# Bottom right button (右下角按鈕)
+# --------------------------------------
+
+# Conversion between Traditional and Simplified Chinese (簡繁轉換)
+translate:
+ enable: false
+ # The text of a button
+ default: 繁
+ # the language of website (1 - Traditional Chinese/ 2 - Simplified Chinese)
+ defaultEncoding: 2
+ # Time delay
+ translateDelay: 0
+ # The text of the button when the language is Simplified Chinese
+ msgToTraditionalChinese: '繁'
+ # The text of the button when the language is Traditional Chinese
+ msgToSimplifiedChinese: '簡'
+
+# Read Mode (閲讀模式)
+readmode: true
+
+# dark mode
+darkmode:
+ enable: true
+ # Toggle Button to switch dark/light mode
+ button: true
+ # Switch dark/light mode automatically (自動切換 dark mode和 light mode)
+ # autoChangeMode: 1 Following System Settings, if the system doesn't support dark mode, it will switch dark mode between 6 pm to 6 am
+ # autoChangeMode: 2 Switch dark mode between 6 pm to 6 am
+ # autoChangeMode: false
+ autoChangeMode: false
+
+# Don't modify the following settings unless you know how they work (非必要請不要修改 )
+# Choose: readmode,translate,darkmode,hideAside,toc,chat,comment
+# Don't repeat 不要重複
+rightside_item_order:
+ enable: false
+ hide: # readmode,translate,darkmode,hideAside
+ show: # toc,chat,comment
+
+# Lightbox (圖片大圖查看模式)
+# --------------------------------------
+# You can only choose one, or neither (只能選擇一個 或者 兩個都不選)
+
+# medium-zoom
+# https://github.com/francoischalifour/medium-zoom
+medium_zoom: false
+
+# fancybox
+# http://fancyapps.com/fancybox/3/
+fancybox: true
+
+# Tag Plugins settings (標籤外掛)
+# --------------------------------------
+
+# mermaid
+# see https://github.com/mermaid-js/mermaid
+mermaid:
+ enable: false
+ # built-in themes: default/forest/dark/neutral
+ theme:
+ light: default
+ dark: dark
+
+# Note (Bootstrap Callout)
+note:
+ # Note tag style values:
+ # - simple bs-callout old alert style. Default.
+ # - modern bs-callout new (v2-v3) alert style.
+ # - flat flat callout style with background, like on Mozilla or StackOverflow.
+ # - disabled disable all CSS styles import of note tag.
+ style: flat
+ icons: true
+ border_radius: 3
+ # Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6).
+ # Offset also applied to label tag variables. This option can work with disabled note tag.
+ light_bg_offset: 0
+
+# other
+# --------------------------------------
+
+# Pjax
+# It may contain bugs and unstable, give feedback when you find the bugs.
+# https://github.com/MoOx/pjax
+pjax:
+ enable: false
+ exclude:
+ # - xxxx
+ # - xxxx
+
+# Inject the css and script (aplayer/meting)
+aplayerInject:
+ enable: false
+ per_page: true
+
+# Snackbar (Toast Notification 彈窗)
+# https://github.com/polonel/SnackBar
+# position 彈窗位置
+# 可選 top-left / top-center / top-right / bottom-left / bottom-center / bottom-right
+snackbar:
+ enable: false
+ position: bottom-left
+ bg_light: '#32C9EB' # The background color of Toast Notification in light mode
+ bg_dark: '#1f1f1f' # The background color of Toast Notification in dark mode
+
+# https://instant.page/
+# prefetch (預加載)
+instantpage: false
+
+# https://github.com/vinta/pangu.js
+# Insert a space between Chinese character and English character (中英文之間添加空格)
+pangu:
+ enable: false
+ field: site # site/post
+
+# Lazyload (圖片懶加載)
+# https://github.com/verlok/vanilla-lazyload
+lazyload:
+ enable: false
+ field: site # site/post
+ placeholder:
+ blur: false
+
+# PWA
+# See https://github.com/JLHwung/hexo-offline
+# ---------------
+# pwa:
+# enable: false
+# manifest: /pwa/manifest.json
+# apple_touch_icon: /pwa/apple-touch-icon.png
+# favicon_32_32: /pwa/32.png
+# favicon_16_16: /pwa/16.png
+# mask_icon: /pwa/safari-pinned-tab.svg
+
+# Open graph meta tags
+# https://developers.facebook.com/docs/sharing/webmasters/
+Open_Graph_meta:
+ enable: true
+ option:
+ # twitter_card:
+ # twitter_image:
+ # twitter_id:
+ # twitter_site:
+ # google_plus:
+ # fb_admins:
+ # fb_app_id:
+
+# Add the vendor prefixes to ensure compatibility
+css_prefix: true
+
+# Inject
+# Insert the code to head (before '' tag) and the bottom (before '