chore: prepare for the 3.0.0 release
|
@ -6,3 +6,4 @@ node_modules/
|
||||||
public/
|
public/
|
||||||
.deploy*/
|
.deploy*/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
yarn.lock
|
||||||
|
|
|
@ -1,39 +1,91 @@
|
||||||
# Version of the Icarus theme that is currently used
|
# Version of the configuration file
|
||||||
version: 2.6.0
|
version: 3.0.0
|
||||||
# Path or URL to the website's icon
|
# Icarus theme variant, can be "default" or "cyberpunk"
|
||||||
favicon: /images/favicon.svg
|
variant: default
|
||||||
# Path or URL to RSS atom.xml
|
# Path or URL to the website's logo
|
||||||
rss:
|
logo: /img/logo.svg
|
||||||
# Path or URL to the website's logo to be shown on the left of the navigation bar or footer
|
# Page metadata configurations
|
||||||
logo: /images/logo.svg
|
head:
|
||||||
# Open Graph metadata
|
# URL or path to the website's icon
|
||||||
# https://hexo.io/docs/helpers.html#open-graph
|
favicon: /img/favicon.svg
|
||||||
open_graph:
|
# Canonical URL of the current page
|
||||||
# Facebook App ID
|
canonical_url:
|
||||||
fb_app_id:
|
# Open Graph metadata
|
||||||
# Facebook Admin ID
|
# https://hexo.io/docs/helpers.html#open-graph
|
||||||
fb_admins:
|
open_graph:
|
||||||
# Twitter ID
|
# Page title (og:title) (optional)
|
||||||
twitter_id:
|
# You should leave this blank for most of the time
|
||||||
# Twitter site
|
title:
|
||||||
twitter_site:
|
# Page type (og:type) (optional)
|
||||||
# Google+ profile link
|
# You should leave this blank for most of the time
|
||||||
google_plus:
|
type: blog
|
||||||
# Navigation bar link settings
|
# Page URL (og:url) (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
url:
|
||||||
|
# Page cover (og:image) (optional) Default to the Open Graph image or thumbnail of the page
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
image:
|
||||||
|
# Site name (og:site_name) (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
site_name:
|
||||||
|
# Page author (article:author) (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
author:
|
||||||
|
# Page description (og:description) (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
description:
|
||||||
|
# Twitter card type (twitter:card)
|
||||||
|
twitter_card:
|
||||||
|
# Twitter ID (twitter:creator)
|
||||||
|
twitter_id:
|
||||||
|
# Twitter ID (twitter:creator)
|
||||||
|
twitter_site:
|
||||||
|
# Google+ profile link (deprecated)
|
||||||
|
google_plus:
|
||||||
|
# Facebook admin ID
|
||||||
|
fb_admins:
|
||||||
|
# Facebook App ID
|
||||||
|
fb_app_id:
|
||||||
|
# Structured data of the page
|
||||||
|
# https://developers.google.com/search/docs/guides/intro-structured-data
|
||||||
|
structured_data:
|
||||||
|
# Page title (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
title:
|
||||||
|
# Page description (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
description:
|
||||||
|
# Page URL (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
url:
|
||||||
|
# Page author (article:author) (optional)
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
author:
|
||||||
|
# Page images (optional) Default to the Open Graph image or thumbnail of the page
|
||||||
|
# You should leave this blank for most of the time
|
||||||
|
image:
|
||||||
|
# Additional HTML meta tags in an array
|
||||||
|
meta:
|
||||||
|
# Meta tag specified in <attribute>=<value> style
|
||||||
|
# E.g., name=theme-color;content=#123456 => <meta name="theme-color" content="#123456">
|
||||||
|
- ''
|
||||||
|
# URL or path to the website's RSS atom.xml
|
||||||
|
rss:
|
||||||
|
# Page top navigation bar configurations
|
||||||
navbar:
|
navbar:
|
||||||
# Navigation bar menu links
|
# Naviagtion menu items
|
||||||
menu:
|
menu:
|
||||||
Home: /
|
Home: /
|
||||||
Archives: /archives
|
Archives: /archives
|
||||||
Categories: /categories
|
Categories: /categories
|
||||||
Tags: /tags
|
Tags: /tags
|
||||||
About: /about
|
About: /about
|
||||||
# Navigation bar links to be shown on the right
|
# Links to be shown on the right of the navigation bar
|
||||||
links:
|
links:
|
||||||
Download on GitHub:
|
Download on GitHub:
|
||||||
icon: fab fa-github
|
icon: fab fa-github
|
||||||
url: 'http://github.com/ppoffice/hexo-theme-icarus'
|
url: 'https://github.com/ppoffice/hexo-theme-icarus'
|
||||||
# Footer section link settings
|
# Page footer configurations
|
||||||
footer:
|
footer:
|
||||||
# Links to be shown on the right of the footer section
|
# Links to be shown on the right of the footer section
|
||||||
links:
|
links:
|
||||||
|
@ -45,196 +97,221 @@ footer:
|
||||||
url: 'https://creativecommons.org/licenses/by/4.0/'
|
url: 'https://creativecommons.org/licenses/by/4.0/'
|
||||||
Download on GitHub:
|
Download on GitHub:
|
||||||
icon: fab fa-github
|
icon: fab fa-github
|
||||||
url: 'http://github.com/ppoffice/hexo-theme-icarus'
|
url: 'https://github.com/ppoffice/hexo-theme-icarus'
|
||||||
# Article display settings
|
# Article related configurations
|
||||||
article:
|
article:
|
||||||
# Code highlight settings
|
# Code highlight settings
|
||||||
highlight:
|
highlight:
|
||||||
# Code highlight themes
|
# Code highlight themes
|
||||||
# https://github.com/highlightjs/highlight.js/tree/master/src/styles
|
# https://github.com/highlightjs/highlight.js/tree/master/src/styles
|
||||||
theme: atom-one-light
|
theme: atom-one-light
|
||||||
# Show code copying button
|
# Show copy code button
|
||||||
clipboard: true
|
clipboard: true
|
||||||
# Default folding status of the code blocks. Can be "", "folded", "unfolded"
|
# Default folding status of the code blocks. Can be "", "folded", "unfolded"
|
||||||
fold: unfolded
|
fold: unfolded
|
||||||
# Whether to show article thumbnail images
|
# Whether to show thumbnail image for every article
|
||||||
thumbnail: true
|
thumbnail: true
|
||||||
# Whether to show estimate article reading time
|
# Whether to show estimated article reading time
|
||||||
readtime: true
|
readtime: true
|
||||||
# Search plugin settings
|
# Search plugin configurations
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/categories/Configuration/Search-Plugins
|
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Search/
|
||||||
search:
|
search:
|
||||||
# Name of the search plugin
|
|
||||||
type: insight
|
type: insight
|
||||||
# Comment plugin settings
|
# Comment plugin configurations
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/categories/Configuration/Comment-Plugins
|
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Comment/
|
||||||
comment:
|
comment:
|
||||||
# Name of the comment plugin
|
|
||||||
type: disqus
|
type: disqus
|
||||||
|
# Disqus shortname
|
||||||
shortname: hexo-theme-icarus
|
shortname: hexo-theme-icarus
|
||||||
# Donation entries
|
# Donate plugin configurations
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/categories/Donation/
|
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Donation/
|
||||||
# donate:
|
# donates:
|
||||||
|
# # Alipay donate button configurations
|
||||||
# -
|
# -
|
||||||
# # Donation entry name
|
|
||||||
# type: alipay
|
# type: alipay
|
||||||
# # Qrcode image URL
|
# # Alipay qrcode image URL
|
||||||
# qrcode: /gallery/donate/alipay.png
|
# qrcode: ''
|
||||||
|
# # "Buy me a coffee" donate button configurations
|
||||||
# -
|
# -
|
||||||
# # Donation entry name
|
# type: buymeacoffee
|
||||||
# type: wechat
|
# # URL to the "Buy me a coffee" page
|
||||||
# # Qrcode image URL
|
# url: ''
|
||||||
# qrcode: /gallery/donate/wechat.jpg
|
# # Patreon donate button configurations
|
||||||
# -
|
# -
|
||||||
# # Donation entry name
|
|
||||||
# type: paypal
|
|
||||||
# # Paypal business ID or email address
|
|
||||||
# business: paypal@paypal.com
|
|
||||||
# # Currency code
|
|
||||||
# currency_code: USD
|
|
||||||
# -
|
|
||||||
# # Donation entry name
|
|
||||||
# type: patreon
|
# type: patreon
|
||||||
# # URL to the Patreon page
|
# # URL to the Patreon page
|
||||||
# url: https://www.patreon.com/
|
# url: ''
|
||||||
# Share plugin settings
|
# # Paypal donate button configurations
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/categories/Configuration/Share-Plugins
|
# -
|
||||||
|
# type: paypal
|
||||||
|
# # Paypal business ID or email address
|
||||||
|
# business: ''
|
||||||
|
# # Currency code
|
||||||
|
# currency_code: USD
|
||||||
|
# # Wechat donate button configurations
|
||||||
|
# -
|
||||||
|
# type: wechat
|
||||||
|
# # Wechat qrcode image URL
|
||||||
|
# qrcode: ''
|
||||||
|
# Share plugin configurations
|
||||||
|
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Share/
|
||||||
share:
|
share:
|
||||||
# Share plugin name
|
|
||||||
type: sharethis
|
type: sharethis
|
||||||
|
# URL to the ShareThis share plugin script
|
||||||
install_url: //platform-api.sharethis.com/js/sharethis.js#property=5ab6f60ace89f00013641890&product=inline-share-buttons
|
install_url: //platform-api.sharethis.com/js/sharethis.js#property=5ab6f60ace89f00013641890&product=inline-share-buttons
|
||||||
# Sidebar settings.
|
# Sidebar configurations.
|
||||||
# Please be noted that a sidebar is only visible when it has at least one widget
|
# Please be noted that a sidebar is only visible when it has at least one widget
|
||||||
sidebar:
|
sidebar:
|
||||||
# left sidebar settings
|
# Left sidebar configurations
|
||||||
left:
|
left:
|
||||||
# Whether the left sidebar is sticky when page scrolls
|
# Whether the sidebar sticks to the top when page scrolls
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
|
|
||||||
sticky: false
|
sticky: false
|
||||||
# right sidebar settings
|
# Right sidebar configurations
|
||||||
right:
|
right:
|
||||||
# Whether the right sidebar is sticky when page scrolls
|
# Whether the sidebar sticks to the top when page scrolls
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
|
|
||||||
sticky: false
|
sticky: false
|
||||||
# Sidebar widget settings
|
# Sidebar widget configurations
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/categories/Widgets/
|
# http://ppoffice.github.io/hexo-theme-icarus/categories/Widgets/
|
||||||
widgets:
|
widgets:
|
||||||
|
# Profile widget configurations
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
type: profile
|
|
||||||
# Where should the widget be placed, left or right
|
|
||||||
position: left
|
position: left
|
||||||
# Author name to be shown in the profile widget
|
type: profile
|
||||||
|
# Author name
|
||||||
author: PPOffice
|
author: PPOffice
|
||||||
# Title of the author to be shown in the profile widget
|
# Author title
|
||||||
author_title: Web Developer
|
author_title: Web Developer
|
||||||
# Author's current location to be shown in the profile widget
|
# Author's current location
|
||||||
location: Earth, Solar System
|
location: Earth, Solar System
|
||||||
# Path or URL to the avatar to be shown in the profile widget
|
# URL or path to the avatar image
|
||||||
avatar:
|
avatar:
|
||||||
# Email address for the Gravatar to be shown in the profile widget
|
# Whether show the rounded avatar image
|
||||||
gravatar:
|
|
||||||
# Whether to show avatar image rounded or square
|
|
||||||
avatar_rounded: false
|
avatar_rounded: false
|
||||||
# Path or URL for the follow button
|
# Email address for the Gravatar
|
||||||
follow_link: 'http://github.com/ppoffice'
|
gravatar:
|
||||||
|
# URL or path for the follow button
|
||||||
|
follow_link: 'https://github.com/ppoffice'
|
||||||
# Links to be shown on the bottom of the profile widget
|
# Links to be shown on the bottom of the profile widget
|
||||||
social_links:
|
social_links:
|
||||||
Github:
|
Github:
|
||||||
icon: fab fa-github
|
icon: fab fa-github
|
||||||
url: 'http://github.com/ppoffice'
|
url: 'https://github.com/ppoffice'
|
||||||
Facebook:
|
Facebook:
|
||||||
icon: fab fa-facebook
|
icon: fab fa-facebook
|
||||||
url: 'http://facebook.com'
|
url: 'https://facebook.com'
|
||||||
Twitter:
|
Twitter:
|
||||||
icon: fab fa-twitter
|
icon: fab fa-twitter
|
||||||
url: 'http://twitter.com'
|
url: 'https://twitter.com'
|
||||||
Dribbble:
|
Dribbble:
|
||||||
icon: fab fa-dribbble
|
icon: fab fa-dribbble
|
||||||
url: 'http://dribbble.com'
|
url: 'https://dribbble.com'
|
||||||
RSS:
|
RSS:
|
||||||
icon: fas fa-rss
|
icon: fas fa-rss
|
||||||
url: /
|
url: /
|
||||||
|
# Table of contents widget configurations
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
|
position: left
|
||||||
type: toc
|
type: toc
|
||||||
# Where should the widget be placed, left or right
|
# Recommendation links widget configurations
|
||||||
position: left
|
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
type: links
|
|
||||||
# Where should the widget be placed, left or right
|
|
||||||
position: left
|
position: left
|
||||||
# Links to be shown in the links widget
|
type: links
|
||||||
|
# Names and URLs of the sites
|
||||||
links:
|
links:
|
||||||
Hexo: 'https://hexo.io'
|
Hexo: 'https://hexo.io'
|
||||||
Bulma: 'https://bulma.io'
|
Bulma: 'https://bulma.io'
|
||||||
|
# Categories widget configurations
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
type: category
|
|
||||||
# Where should the widget be placed, left or right
|
|
||||||
position: left
|
position: left
|
||||||
|
type: categories
|
||||||
|
# Recent posts widget configurations
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
type: tagcloud
|
position: right
|
||||||
# Where should the widget be placed, left or right
|
|
||||||
position: left
|
|
||||||
-
|
|
||||||
# Widget name
|
|
||||||
type: recent_posts
|
type: recent_posts
|
||||||
# Where should the widget be placed, left or right
|
# Archives widget configurations
|
||||||
position: right
|
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
type: archive
|
|
||||||
# Where should the widget be placed, left or right
|
|
||||||
position: right
|
position: right
|
||||||
|
type: archives
|
||||||
|
# Tags widget configurations
|
||||||
-
|
-
|
||||||
# Widget name
|
# Where should the widget be placed, left sidebar or right sidebar
|
||||||
type: tag
|
|
||||||
# Where should the widget be placed, left or right
|
|
||||||
position: right
|
position: right
|
||||||
# Other plugin settings
|
type: tags
|
||||||
|
# Google FeedBurner email subscription widget configurations
|
||||||
|
# -
|
||||||
|
# # Where should the widget be placed, left sidebar or right sidebar
|
||||||
|
# position: left
|
||||||
|
# type: subscribe_email
|
||||||
|
# # Hint text under the email input
|
||||||
|
# description:
|
||||||
|
# # Feedburner ID
|
||||||
|
# feedburner_id: ''
|
||||||
|
# Google AdSense unit configurations
|
||||||
|
# -
|
||||||
|
# # Where should the widget be placed, left sidebar or right sidebar
|
||||||
|
# position: left
|
||||||
|
# type: adsense
|
||||||
|
# # AdSense client ID
|
||||||
|
# client_id: ''
|
||||||
|
# # AdSense AD unit ID
|
||||||
|
# slot_id: ''
|
||||||
|
# Plugin configurations
|
||||||
plugins:
|
plugins:
|
||||||
# Enable page animations
|
# Enable page startup animations
|
||||||
animejs: true
|
animejs: true
|
||||||
# Enable the lightGallery and Justified Gallery plugins
|
# Show the "back to top" button
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/gallery-plugin/
|
back_to_top: true
|
||||||
gallery: true
|
|
||||||
# Enable the Outdated Browser plugin
|
|
||||||
# http://outdatedbrowser.com/
|
|
||||||
outdated-browser: true
|
|
||||||
# Enable the MathJax plugin
|
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/mathjax-plugin/
|
|
||||||
mathjax: true
|
|
||||||
# Show the back to top button on mobile devices
|
|
||||||
back-to-top: true
|
|
||||||
# Google Analytics plugin settings
|
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Google-Analytics
|
|
||||||
google-analytics:
|
|
||||||
# Google Analytics tracking id
|
|
||||||
tracking_id: UA-72437521-5
|
|
||||||
# Baidu Analytics plugin settings
|
# Baidu Analytics plugin settings
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Baidu-Analytics
|
# https://tongji.baidu.com
|
||||||
baidu-analytics:
|
baidu_analytics:
|
||||||
# Baidu Analytics tracking id
|
# Baidu Analytics tracking ID
|
||||||
tracking_id:
|
tracking_id:
|
||||||
# Hotjar user feedback plugin
|
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Hotjar
|
|
||||||
hotjar:
|
|
||||||
# Hotjar site id
|
|
||||||
site_id: 1067642
|
|
||||||
# Show a loading progress bar at top of the page
|
|
||||||
progressbar: true
|
|
||||||
# BuSuanZi site/page view counter
|
# BuSuanZi site/page view counter
|
||||||
# https://busuanzi.ibruce.info
|
# https://busuanzi.ibruce.info
|
||||||
busuanzi: false
|
busuanzi: false
|
||||||
|
# CNZZ statistics
|
||||||
|
# https://www.umeng.com/web
|
||||||
|
cnzz:
|
||||||
|
# CNZZ tracker id
|
||||||
|
id:
|
||||||
|
# CNZZ website id
|
||||||
|
web_id:
|
||||||
|
# Enable the lightGallery and Justified Gallery plugins
|
||||||
|
# https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/gallery-plugin/
|
||||||
|
gallery: true
|
||||||
|
# Google Analytics plugin settings
|
||||||
|
# https://analytics.google.com
|
||||||
|
google_analytics:
|
||||||
|
# Google Analytics tracking ID
|
||||||
|
tracking_id: UA-72437521-5
|
||||||
|
# Hotjar user feedback plugin
|
||||||
|
# https://www.hotjar.com/
|
||||||
|
hotjar:
|
||||||
|
# Hotjar site id
|
||||||
|
site_id:
|
||||||
|
# Enable the KaTeX math typesetting supprot
|
||||||
|
# https://katex.org/
|
||||||
|
katex: false
|
||||||
|
# Enable the MathJax math typesetting support
|
||||||
|
# https://www.mathjax.org/
|
||||||
|
mathjax: true
|
||||||
|
# Enable the Outdated Browser plugin
|
||||||
|
# http://outdatedbrowser.com/
|
||||||
|
outdated_browser: true
|
||||||
|
# Show a progress bar at top of the page on page loading
|
||||||
|
progressbar: true
|
||||||
# CDN provider settings
|
# CDN provider settings
|
||||||
# http://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/speed-up-your-site-with-custom-cdn/
|
# https://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/speed-up-your-site-with-custom-cdn/
|
||||||
providers:
|
providers:
|
||||||
# Name or URL of the JavaScript and/or stylesheet CDN provider
|
# Name or URL template of the JavaScript and/or stylesheet CDN provider
|
||||||
cdn: jsdelivr
|
cdn: jsdelivr
|
||||||
# Name or URL of the webfont CDN provider
|
# Name or URL template of the webfont CDN provider
|
||||||
fontcdn: google
|
fontcdn: google
|
||||||
# Name or URL of the webfont Icon CDN provider
|
# Name or URL of the fontawesome icon font CDN provider
|
||||||
iconcdn: fontawesome
|
iconcdn: fontawesome
|
||||||
|
|
|
@ -93,4 +93,7 @@ marked:
|
||||||
githubEmojis:
|
githubEmojis:
|
||||||
className: not-gallery-item
|
className: not-gallery-item
|
||||||
|
|
||||||
all_minifier: true
|
algolia:
|
||||||
|
applicationID: RYILPF5LG6
|
||||||
|
apiKey: c358c55d21fca7cf3e935baced47bc28
|
||||||
|
indexName: icarus
|
||||||
|
|
13
package.json
|
@ -3,22 +3,25 @@
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"hexo": {
|
"hexo": {
|
||||||
"version": "4.0.0"
|
"version": "4.2.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"bulma-stylus": "0.8.0",
|
||||||
"clean-css": "^4.2.1",
|
"clean-css": "^4.2.1",
|
||||||
"hexo": "^4.0.0",
|
"hexo": "^4.0.0",
|
||||||
"hexo-all-minifier": "^0.5.3",
|
"hexo-algolia": "^1.3.1",
|
||||||
|
"hexo-component-inferno": "^0.1.3",
|
||||||
"hexo-deployer-git": "^2.0.0",
|
"hexo-deployer-git": "^2.0.0",
|
||||||
"hexo-filter-github-emojis": "^2.1.0",
|
"hexo-filter-github-emojis": "^2.1.0",
|
||||||
"hexo-generator-archive": "^1.0.0",
|
"hexo-generator-archive": "^1.0.0",
|
||||||
"hexo-generator-category": "^1.0.0",
|
"hexo-generator-category": "^1.0.0",
|
||||||
"hexo-generator-index": "^1.0.0",
|
"hexo-generator-index": "^1.0.0",
|
||||||
"hexo-generator-tag": "^1.0.0",
|
"hexo-generator-tag": "^1.0.0",
|
||||||
"hexo-renderer-ejs": "^1.0.0",
|
"hexo-renderer-inferno": "^0.1.3",
|
||||||
"hexo-renderer-marked": "^2.0.0",
|
"hexo-renderer-marked": "^2.0.0",
|
||||||
"hexo-renderer-stylus": "^1.1.0",
|
"hexo-renderer-stylus": "^1.1.0",
|
||||||
"hexo-server": "^1.0.0",
|
"hexo-server": "^1.0.0",
|
||||||
"uglify-es": "^3.3.9"
|
"inferno": "^7.3.3",
|
||||||
|
"inferno-create-element": "^7.3.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
const cheerio = require('cheerio');
|
|
||||||
const UglifyJS = require('uglify-es');
|
|
||||||
const CleanCSS = require('clean-css');
|
|
||||||
|
|
||||||
const root = path.join(__dirname, '../themes/icarus/source/');
|
|
||||||
|
|
||||||
function replaceWithBundled(html) {
|
|
||||||
const urlFor = hexo.extend.helper.get('url_for').bind(hexo);
|
|
||||||
const $ = cheerio.load(html, { decodeEntities: false });
|
|
||||||
$('script').each(function () {
|
|
||||||
const url = $(this).attr('src');
|
|
||||||
if (url && url.startsWith(urlFor('/js')) && url.endsWith('.js') && !url.includes('animation')) {
|
|
||||||
$(this).remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('body').append(`<script src="${urlFor('/js/bundle.js')}" defer></script>`);
|
|
||||||
$('link[rel="stylesheet"]').each(function () {
|
|
||||||
const url = $(this).attr('href');
|
|
||||||
if (url && url.startsWith(urlFor('/css')) && url.endsWith('.css') && !url.endsWith('style.css')) {
|
|
||||||
$(this).remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('head').append(`<link rel="stylesheet" href="${urlFor('/css/bundle.css')}">`);
|
|
||||||
return $.html();
|
|
||||||
}
|
|
||||||
|
|
||||||
hexo.extend.generator.register('bundle.js', function (locals) {
|
|
||||||
const folder = path.join(root, 'js');
|
|
||||||
const concated = fs.readdirSync(path.join(root, 'js'))
|
|
||||||
.filter(filename => filename.endsWith('.js') && !filename.includes('animation'))
|
|
||||||
.map(filename => fs.readFileSync(path.join(folder, filename)))
|
|
||||||
.join('\n');
|
|
||||||
const result = UglifyJS.minify(concated);
|
|
||||||
return {
|
|
||||||
path: '/js/bundle.js',
|
|
||||||
data: result.code
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
hexo.extend.generator.register('bundle.css', function (locals) {
|
|
||||||
const folder = path.join(root, 'css');
|
|
||||||
const concated = fs.readdirSync(path.join(root, 'css'))
|
|
||||||
.filter(filename => filename.endsWith('.css'))
|
|
||||||
.map(filename => fs.readFileSync(path.join(folder, filename)))
|
|
||||||
.join('\n');
|
|
||||||
const result = new CleanCSS().minify(concated);
|
|
||||||
return {
|
|
||||||
path: '/css/bundle.css',
|
|
||||||
data: result.styles
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
hexo.extend.filter.register('after_render:html', function (content, data) {
|
|
||||||
return replaceWithBundled(content);
|
|
||||||
});
|
|
|
@ -1,15 +0,0 @@
|
||||||
const cheerio = require('cheerio');
|
|
||||||
const UglifyJS = require('uglify-es');
|
|
||||||
|
|
||||||
hexo.extend.filter.register('after_render:html', function (content, data) {
|
|
||||||
const $ = cheerio.load(content, { decodeEntities: false });
|
|
||||||
|
|
||||||
$('script').each(function () {
|
|
||||||
const url = $(this).attr('src');
|
|
||||||
if (!url) {
|
|
||||||
$(this).html(UglifyJS.minify($(this).html()).code);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return $.html();
|
|
||||||
});
|
|
|
@ -5,7 +5,7 @@ categories:
|
||||||
- Comment
|
- Comment
|
||||||
comment:
|
comment:
|
||||||
type: changyan
|
type: changyan
|
||||||
appid: cyrDUlCiF
|
app_id: cyrDUlCiF
|
||||||
conf: prod_43aadda874910d8f86160e62e6a1ade7
|
conf: prod_43aadda874910d8f86160e62e6a1ade7
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
title: Making Money off Your Blog with Donation Buttons
|
title: Making Money off Your Blog with Donation Buttons
|
||||||
date: 2016-01-30 00:00:01
|
date: 2016-01-30 00:00:01
|
||||||
donate:
|
donates:
|
||||||
-
|
-
|
||||||
type: alipay
|
type: alipay
|
||||||
qrcode: /gallery/donate/alipay.png
|
qrcode: /gallery/donate/alipay.png
|
||||||
|
|
|
@ -4,7 +4,7 @@ categories:
|
||||||
- Plugins
|
- Plugins
|
||||||
- Search
|
- Search
|
||||||
search:
|
search:
|
||||||
type: google-cse
|
type: google_cse
|
||||||
cx: 006888261376761189075:qxqdcvqzio0
|
cx: 006888261376761189075:qxqdcvqzio0
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -42,13 +42,13 @@ widgets:
|
||||||
type: recent_posts
|
type: recent_posts
|
||||||
position: left
|
position: left
|
||||||
-
|
-
|
||||||
type: archive
|
type: archives
|
||||||
position: left
|
position: left
|
||||||
-
|
-
|
||||||
type: category
|
type: categories
|
||||||
position: left
|
position: left
|
||||||
-
|
-
|
||||||
type: tag
|
type: tags
|
||||||
position: left
|
position: left
|
||||||
---
|
---
|
||||||
Sometimes you may want your sidebar's position to stay fixed when other parts of your page scrolls. This can be done via the `sticky` option of the sidebar in the theme's `_config.yml`. You can set any of the sidebar or even both of them to `sticky`.
|
Sometimes you may want your sidebar's position to stay fixed when other parts of your page scrolls. This can be done via the `sticky` option of the sidebar in the theme's `_config.yml`. You can set any of the sidebar or even both of them to `sticky`.
|
||||||
|
|
|
@ -18,10 +18,10 @@ comment:
|
||||||
placeholder: 快来评论吧
|
placeholder: 快来评论吧
|
||||||
plugins:
|
plugins:
|
||||||
gallery: true
|
gallery: true
|
||||||
outdated-browser: true
|
outdated_browser: true
|
||||||
mathjax: true
|
mathjax: true
|
||||||
animejs: true
|
animejs: true
|
||||||
back-to-top: true
|
back_to_top: true
|
||||||
progressbar: true
|
progressbar: true
|
||||||
---
|
---
|
||||||
作为静态网站生成器Hexo的一款主题,Icarus以简洁、现代和精美为设计理念。在灵活且强大的配置系统的助力下,用户可以自由实现单栏与多栏的灵活页面布局。同时,Icarus提供了丰富的插件与挂件供用户选择,让网站的个性化配置变得触手可及。此外,得力于全新设计的API,开发者可以更便捷地对Icarus进行深层定制。
|
作为静态网站生成器Hexo的一款主题,Icarus以简洁、现代和精美为设计理念。在灵活且强大的配置系统的助力下,用户可以自由实现单栏与多栏的灵活页面布局。同时,Icarus提供了丰富的插件与挂件供用户选择,让网站的个性化配置变得触手可及。此外,得力于全新设计的API,开发者可以更便捷地对Icarus进行深层定制。
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
title:
|
title:
|
||||||
toc: true
|
toc: true
|
||||||
---
|
---
|
||||||
<p align="center" class="has-mb-6">
|
<p align="center" class="mb-2">
|
||||||
<img class="not-gallery-item" style="height:48px" src="/hexo-theme-icarus/images/logo.svg">
|
<img class="not-gallery-item" style="height:48px" src="/hexo-theme-icarus/img/logo.svg">
|
||||||
<br> A simple, delicate, and modern theme for the static site generator Hexo.
|
<br> A simple, delicate, and modern theme for the static site generator Hexo.
|
||||||
</p>
|
</p>
|
||||||
<p class="is-size-6 has-text-centered">
|
<p class="is-size-6 has-text-centered">
|
||||||
|
|
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 879 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 1.0 MiB |
|
@ -1 +1 @@
|
||||||
Subproject commit ca1e73a4cfaed85a7e25c2cfd02cb71b668515cf
|
Subproject commit e4cdb01dd8d92ebbb1cfc45124ad34c554fdc3d6
|