diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index ee93322..0000000
--- a/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Please make sure you took care of the following things before you submit this issue. Thank you!
-
-- [ ] I have set up and configured my blog according to the [Hexo docs](https://hexo.io/) and the [Icarus docs](https://ppoffice.github.io/hexo-theme-icarus/);
-- [ ] I have looked up [Github issues](https://github.com/ppoffice/hexo-theme-icarus/issues) and found no solutions to my problems.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..2c3b8a1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,46 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**System and Environment**
+The version and configuration of Hexo and Icarus.
+
+- Hexo, OS, and node version (use `hexo version` command)
+- Site configuration file `_config.yml`
+- Theme configuration file `themes/icarus/_config.yml`
+- Any additional theme configuration files (post front-matter, `_config.post.yml`, or `_config.page.yml`)
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information if applicable):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Smartphone (please complete the following information if applicable):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+ - Browser [e.g. stock browser, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..f0291e0
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,24 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+
+Add any other context or screenshots about the feature request here.
diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
new file mode 100644
index 0000000..e5bbf71
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
@@ -0,0 +1,30 @@
+---
+name: Pull request
+about: Suggest a code change to this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Note 0**
+Please review [the contributing guide](https://github.com/ppoffice/hexo-theme-icarus/blob/master/CONTRIBUTING.md) before making this pull request.
+
+**Note 1**
+
+Please break up your pull request into multiple smaller requests if it contains multiple bug fixes
+or new features.
+Each pull request should have one bug fix or new feature only for better code maintainability.
+
+**Note 2**
+
+Many components of this theme, including core functions, some Hexo extensions, widgets and plugins,
+have been moved to [ppoffice/hexo-component-inferno](https://github.com/ppoffice/hexo-component-inferno).
+Please make a pull request to that repository instead of this one if your changes are related to
+the above components.
+
+**Detailed description**
+
+> Please use the [Icarus issue template](https://github.com/ppoffice/hexo-theme-icarus/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) if it is a bug fix.
+
+> Please use the [Icarus feature request template](https://github.com/ppoffice/hexo-theme-icarus/blob/master/.github/ISSUE_TEMPLATE/feature_request.md) if it is a bug fix.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..79646e9
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,40 @@
+# Contributing Guidelines
+
+## Code styles
+
+Please refer to the [.eslintrc.json](https://github.com/ppoffice/hexo-theme-icarus/blob/master/.eslintrc.json).
+You can also use `npm run lint` or `yarn lint` to fix code style issues.
+
+## Project versioning
+
+We use [SemVer](http://semver.org/) for versioning.
+Any changes to the code base should not be released using an existing version.
+
+## Commit message format
+
+The commit message should follow the [Bluejava commit message format](https://github.com/bluejava/git-commit-guide).
+The supported scopes are:
+
+- **core** for changes related to Hexo extensions and Icarus-specific functions
+- **comment** for comment plugin layout, schema, style, or script changes
+- **share** for share plugin layout, schema, style, or script changes
+- **donate** for donation plugin layout, schema, style, or script changes
+- **search** for search plugin layout, schema, style, or script changes
+- **widget** for widget layout, schema, style, or script changes
+- **plugin** for other plugin layout, schema, style, or script changes
+- **i18n** for adding or updating translations
+- **test** for testing or linting-related commits
+- **build** for build scripts, CI, other development or deployment related commits
+- use __\*__ or leave empty to refer to commits that do not have a clear scope
+
+## Submit changes
+
+1. Fork this repository, make changes to it, and run it against some actual Hexo sites to see if
+anything is broken.
+You should also run `npm run lint` or `yarn lint` to find and fix any code formatting issue.
+2. Submit a pull request to our repository. Please make sure you followed the instructions
+above.
+3. We will review the pull request regularly and inform you of our questions and any changes
+that need to be made before we can merge your pull request.
+4. We expect your response within two weeks, after which your pull request may be closed if
+no activity is shown.
diff --git a/README.md b/README.md
index 2693808..e322de4 100644
--- a/README.md
+++ b/README.md
@@ -15,107 +15,181 @@
Download & extract or `git clone` Icarus from GitHub to your blog's theme folder, and that's it!
```shell
-git clone https://github.com/ppoffice/hexo-theme-icarus.git themes/icarus
+$ git clone https://github.com/ppoffice/hexo-theme-icarus.git themes/icarus
+$ hexo s // start a live server
```
-Once started, Icarus will remind you of any missing dependencies and configuration files.
+Once started, Icarus will remind you of any missing dependencies to install.
+And it will create a theme configuration file (`_config.yml`) if it is not there.
### :gift: Features
+**Cyberpunk Theme Variant**
+
+Tap into the future cyber world with the newly added Cyberpunk theme variant.
+Inspired by [Cyberpunk 2077](https://www.cyberpunk.net).
+
+![Icarus Cyberpunk](https://ppoffice.github.io/hexo-theme-icarus/gallery/screenshots/cyberpunk.png "Icarus Cyberpunk")
+
**Extensive Plugin Support**
-Icarus includes plentiful search, comment, sharing and other plugins out of the box. You can choose any of them to enrich your
-blog experience, or build your own plugin easily referring to the existing Icarus plugins.
+Icarus includes plentiful search, comment, sharing and other plugins out of the box that makes your
+blog feature-rich and powerful.
-Comment plugins
-
-- [Changyan](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/changyan-comment-plugin/)
-- [Disqus](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/disqus-comment-plugin/)
-- [Facebook](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/facebook-comment-plugin/)
-- [Gitment](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/gitment-comment-plugin/)
-- [Isso](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/isso-comment-plugin/)
-- [LiveRe](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/livere-comment-plugin/)
-- [Valine](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Comment/valine-comment-plugin/)
-
-Search plugins
-
-- [Insight Search](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Search/insight-search-plugin/)
-- [Google Custom Search Engine](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Search/google-cse-plugin/)
-- [Baidu Site Search](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Search/baidu-search-plugin/)
-
-Share plugins
-
-- [AddThis](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Share/addthis-share-plugin/)
-- [AddToAny](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Share/addtoany-share-plugin/)
-- [Baidu Share](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Share/baidu-share-plugin/)
-- [Share.js](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Share/share-js-share-plugin/)
-- [ShareThis](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Share/sharethis-share-plugin/)
-
-Donation Buttons
-
-- [Alipay](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Donation/making-money-off-your-blog-with-donation-buttons/#Alipay)
-- [Wechat](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Donation/making-money-off-your-blog-with-donation-buttons/#Wechat)
-- [Paypal](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Donation/making-money-off-your-blog-with-donation-buttons/#Paypal)
-- [Patreon](https://ppoffice.github.io/hexo-theme-icarus/Plugins/Donation/making-money-off-your-blog-with-donation-buttons/#Patreon)
-
-Other plugins
-
-- [Hexo Tag Plugin](https://ppoffice.github.io/hexo-theme-icarus/Configuration/Posts/hexo-built-in-tag-helpers/)
-- [lightGallery & Justified Gallery](https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/gallery-plugin/)
-- [MathJax](https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/mathjax-plugin/)
-- [Site Analytics](https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/)
+
+
+ Comment |
+ Donation |
+ Search |
+ Share |
+ Widgets |
+ Other Plugins |
+
+
+ Changyan |
+ Alipay |
+ Insight |
+ AddThis |
+ Google AdSense |
+ Baidu Analytics |
+
+
+ Disqus |
+ Buy Me A Coffee |
+ Algolia |
+ AddToAny |
+ Archives |
+ BuSuanZi Vistor Counter |
+
+
+ DisqusJS |
+ Patreon |
+ Google CSE |
+ Baidu Share |
+ Categories |
+ CNZZ Analytics |
+
+
+ Facebook |
+ Paypal |
+ Baidu |
+ Share.js |
+ External Site Links |
+ Light Gallery and Justified Gallery |
+
+
+ Gitalk |
+ Wechat |
+ |
+ ShareThis |
+ Recent Posts |
+ Google Analytics |
+
+
+ Gitment |
+ |
+ |
+ |
+ Google Feedburner |
+ Hotjar User Feedback |
+
+
+ Isso |
+ |
+ |
+ |
+ Author Profile |
+ KaTex |
+
+
+ LiveRe |
+ |
+ |
+ |
+ Tags |
+ MathJax |
+
+
+ Utterances |
+ |
+ |
+ |
+ Table of Contents |
+ Outdated Browser Detection |
+
+
+ Valine |
+ |
+ |
+ |
+ |
+ Page Loading Animations
|
+
+
**Rich Code Highlight Theme Choices**
-Icarus directly import code highlight themes from the [highlight.js](https://highlightjs.org/) package, and makes more than
-70 highlight themes available to you.
+Icarus directly import stylesheets from the [highlight.js](https://highlightjs.org/) package and makes more than
+90 code highlight themes available to you.
- |
- |
- |
+ Atom One Light |
+ Monokai |
+ Kimbie Dark |
+
+
+ |
+ |
+ |
-**Elastic Theme Configuration**
+**Flexible Theme Configuration**
-In addition to the minimalistic and easy-to-understand configuration design, Icarus allows you to set configurations on a
-per-page basis with the ability to merge and override partial configurations.
+Icarus allows you to configure your site on a per-page or per-layout basis.
_config.yml |
post.md |
+ _config.page.yml |
- menu:
- Archives: /archives
- Categories: /categories
- Tags: /tags
- About: /about
+widgets:
+ - type: profile
+ position: left
+ - type: recent_posts
+ position: right
|
- title: A Simple Post
-menu:
- Go Home: /index.html
----
-# Here is some simple markdown.
+widgets:
+- type: profile
+ position: left
+- type: recent_posts
+ position: left
+ |
+
+widgets: null
+
+
+
+
|
- |
- |
+ |
+ |
+ |
**Responsive Layout**
-No matter what modern browsering device your audiences are using, they can always get the best experience because Icarus's responsive
-layout across multiple viewpoints.
+Give your audiences best viewing experience with Icarus's mobile-friendly responsive layout.
![Responsive Layout](https://ppoffice.github.io/hexo-theme-icarus/gallery/responsive.png)
@@ -123,21 +197,22 @@ layout across multiple viewpoints.
This project is built with
-- Hexo 3.7.1
-- Ejs
-- Stylus
-- Bulma 0.7.2
+- [Hexo](https://hexo.io/)
+- [Inferno.js](https://infernojs.org/)
+- [Stylus](https://stylus-lang.com/)
+- [Bulma](https://bulma.io/)
-Please refer to the documentation for Icarus implementation details.
+Please refer to the [documentation](https://ppoffice.github.io/hexo-theme-icarus/categories/) and
+[contributing guide](https://github.com/ppoffice/hexo-theme-icarus/blob/master/CONTRIBUTING.md) for implementation details.
### :tada: Contribute
If you feel like to help us build a better Icarus, you can
-:electric_plug: Write a plugin |
-:black_nib: Submit a tutorial |
-:triangular_flag_on_post: Report a bug |
-:earth_asia: Add a translation
+:black_nib: [Submit a tutorial](https://github.com/ppoffice/hexo-theme-icarus/new/site/source/_posts) |
+:earth_asia: [Add a translation](https://github.com/ppoffice/hexo-theme-icarus/tree/master/languages) |
+:triangular_flag_on_post: [Report a bug](https://github.com/ppoffice/hexo-theme-icarus/issues/new) |
+:electric_plug: [Suggest a new feature](https://github.com/ppoffice/hexo-theme-icarus/pulls)
### :memo: License