chore: prepare for the 3.0.0 release

pull/701/head
ppoffice 2020-03-12 12:13:52 -04:00
parent 692975dd3f
commit 750e057473
25 changed files with 242 additions and 7002 deletions

1
.gitignore vendored
View File

@ -6,3 +6,4 @@ node_modules/
public/
.deploy*/
.vscode/
yarn.lock

View File

@ -1,39 +1,91 @@
# Version of the Icarus theme that is currently used
version: 2.6.0
# Path or URL to the website's icon
favicon: /images/favicon.svg
# Path or URL to RSS atom.xml
rss:
# Path or URL to the website's logo to be shown on the left of the navigation bar or footer
logo: /images/logo.svg
# Open Graph metadata
# https://hexo.io/docs/helpers.html#open-graph
open_graph:
# Facebook App ID
fb_app_id:
# Facebook Admin ID
fb_admins:
# Twitter ID
twitter_id:
# Twitter site
twitter_site:
# Google+ profile link
google_plus:
# Navigation bar link settings
# Version of the configuration file
version: 3.0.0
# Icarus theme variant, can be "default" or "cyberpunk"
variant: default
# Path or URL to the website's logo
logo: /img/logo.svg
# Page metadata configurations
head:
# URL or path to the website's icon
favicon: /img/favicon.svg
# Canonical URL of the current page
canonical_url:
# Open Graph metadata
# https://hexo.io/docs/helpers.html#open-graph
open_graph:
# Page title (og:title) (optional)
# You should leave this blank for most of the time
title:
# Page type (og:type) (optional)
# You should leave this blank for most of the time
type: blog
# 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:
# Navigation bar menu links
# Naviagtion menu items
menu:
Home: /
Archives: /archives
Categories: /categories
Tags: /tags
About: /about
# Navigation bar links to be shown on the right
# Links to be shown on the right of the navigation bar
links:
Download on GitHub:
icon: fab fa-github
url: 'http://github.com/ppoffice/hexo-theme-icarus'
# Footer section link settings
url: 'https://github.com/ppoffice/hexo-theme-icarus'
# Page footer configurations
footer:
# Links to be shown on the right of the footer section
links:
@ -45,196 +97,221 @@ footer:
url: 'https://creativecommons.org/licenses/by/4.0/'
Download on GitHub:
icon: fab fa-github
url: 'http://github.com/ppoffice/hexo-theme-icarus'
# Article display settings
url: 'https://github.com/ppoffice/hexo-theme-icarus'
# Article related configurations
article:
# Code highlight settings
highlight:
# Code highlight themes
# https://github.com/highlightjs/highlight.js/tree/master/src/styles
theme: atom-one-light
# Show code copying button
# Show copy code button
clipboard: true
# Default folding status of the code blocks. Can be "", "folded", "unfolded"
fold: unfolded
# Whether to show article thumbnail images
# Whether to show thumbnail image for every article
thumbnail: true
# Whether to show estimate article reading time
# Whether to show estimated article reading time
readtime: true
# Search plugin settings
# http://ppoffice.github.io/hexo-theme-icarus/categories/Configuration/Search-Plugins
# Search plugin configurations
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Search/
search:
# Name of the search plugin
type: insight
# Comment plugin settings
# http://ppoffice.github.io/hexo-theme-icarus/categories/Configuration/Comment-Plugins
# Comment plugin configurations
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Comment/
comment:
# Name of the comment plugin
type: disqus
# Disqus shortname
shortname: hexo-theme-icarus
# Donation entries
# http://ppoffice.github.io/hexo-theme-icarus/categories/Donation/
# donate:
# Donate plugin configurations
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Donation/
# donates:
# # Alipay donate button configurations
# -
# # Donation entry name
# type: alipay
# # Qrcode image URL
# qrcode: /gallery/donate/alipay.png
# # Alipay qrcode image URL
# qrcode: ''
# # "Buy me a coffee" donate button configurations
# -
# # Donation entry name
# type: wechat
# # Qrcode image URL
# qrcode: /gallery/donate/wechat.jpg
# type: buymeacoffee
# # URL to the "Buy me a coffee" page
# url: ''
# # 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
# # URL to the Patreon page
# url: https://www.patreon.com/
# Share plugin settings
# http://ppoffice.github.io/hexo-theme-icarus/categories/Configuration/Share-Plugins
# url: ''
# # Paypal donate button configurations
# -
# 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 plugin name
type: sharethis
# URL to the ShareThis share plugin script
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
sidebar:
# left sidebar settings
# Left sidebar configurations
left:
# Whether the left sidebar is sticky when page scrolls
# http://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
# Whether the sidebar sticks to the top when page scrolls
sticky: false
# right sidebar settings
# Right sidebar configurations
right:
# Whether the right sidebar is sticky when page scrolls
# http://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
# Whether the sidebar sticks to the top when page scrolls
sticky: false
# Sidebar widget settings
# Sidebar widget configurations
# http://ppoffice.github.io/hexo-theme-icarus/categories/Widgets/
widgets:
# Profile widget configurations
-
# Widget name
type: profile
# Where should the widget be placed, left or right
# Where should the widget be placed, left sidebar or right sidebar
position: left
# Author name to be shown in the profile widget
type: profile
# Author name
author: PPOffice
# Title of the author to be shown in the profile widget
# Author title
author_title: Web Developer
# Author's current location to be shown in the profile widget
# Author's current location
location: Earth, Solar System
# Path or URL to the avatar to be shown in the profile widget
avatar:
# Email address for the Gravatar to be shown in the profile widget
gravatar:
# Whether to show avatar image rounded or square
# URL or path to the avatar image
avatar:
# Whether show the rounded avatar image
avatar_rounded: false
# Path or URL for the follow button
follow_link: 'http://github.com/ppoffice'
# Email address for the Gravatar
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
social_links:
Github:
icon: fab fa-github
url: 'http://github.com/ppoffice'
url: 'https://github.com/ppoffice'
Facebook:
icon: fab fa-facebook
url: 'http://facebook.com'
url: 'https://facebook.com'
Twitter:
icon: fab fa-twitter
url: 'http://twitter.com'
url: 'https://twitter.com'
Dribbble:
icon: fab fa-dribbble
url: 'http://dribbble.com'
url: 'https://dribbble.com'
RSS:
icon: fas fa-rss
url: /
# Table of contents widget configurations
-
# Widget name
# Where should the widget be placed, left sidebar or right sidebar
position: left
type: toc
# Where should the widget be placed, left or right
position: left
# Recommendation links widget configurations
-
# Widget name
type: links
# Where should the widget be placed, left or right
# Where should the widget be placed, left sidebar or right sidebar
position: left
# Links to be shown in the links widget
type: links
# Names and URLs of the sites
links:
Hexo: 'https://hexo.io'
Bulma: 'https://bulma.io'
# Categories widget configurations
-
# Widget name
type: category
# Where should the widget be placed, left or right
# Where should the widget be placed, left sidebar or right sidebar
position: left
type: categories
# Recent posts widget configurations
-
# Widget name
type: tagcloud
# Where should the widget be placed, left or right
position: left
-
# Widget name
# Where should the widget be placed, left sidebar or right sidebar
position: right
type: recent_posts
# Where should the widget be placed, left or right
position: right
# Archives widget configurations
-
# Widget name
type: archive
# Where should the widget be placed, left or right
# Where should the widget be placed, left sidebar or right sidebar
position: right
type: archives
# Tags widget configurations
-
# Widget name
type: tag
# Where should the widget be placed, left or right
# Where should the widget be placed, left sidebar or right sidebar
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:
# Enable page animations
# Enable page startup animations
animejs: true
# Enable the lightGallery and Justified Gallery plugins
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/gallery-plugin/
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
# Show the "back to top" button
back_to_top: true
# Baidu Analytics plugin settings
# http://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Baidu-Analytics
baidu-analytics:
# Baidu Analytics 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
# https://tongji.baidu.com
baidu_analytics:
# Baidu Analytics tracking ID
tracking_id:
# BuSuanZi site/page view counter
# https://busuanzi.ibruce.info
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
# 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:
# 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
# Name or URL of the webfont CDN provider
# Name or URL template of the webfont CDN provider
fontcdn: google
# Name or URL of the webfont Icon CDN provider
# Name or URL of the fontawesome icon font CDN provider
iconcdn: fontawesome

View File

@ -93,4 +93,7 @@ marked:
githubEmojis:
className: not-gallery-item
all_minifier: true
algolia:
applicationID: RYILPF5LG6
apiKey: c358c55d21fca7cf3e935baced47bc28
indexName: icarus

6772
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -3,22 +3,25 @@
"version": "0.0.0",
"private": true,
"hexo": {
"version": "4.0.0"
"version": "4.2.0"
},
"dependencies": {
"bulma-stylus": "0.8.0",
"clean-css": "^4.2.1",
"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-filter-github-emojis": "^2.1.0",
"hexo-generator-archive": "^1.0.0",
"hexo-generator-category": "^1.0.0",
"hexo-generator-index": "^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-stylus": "^1.1.0",
"hexo-server": "^1.0.0",
"uglify-es": "^3.3.9"
"inferno": "^7.3.3",
"inferno-create-element": "^7.3.3"
}
}
}

View File

@ -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);
});

View File

@ -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();
});

View File

@ -5,7 +5,7 @@ categories:
- Comment
comment:
type: changyan
appid: cyrDUlCiF
app_id: cyrDUlCiF
conf: prod_43aadda874910d8f86160e62e6a1ade7
---

View File

@ -1,6 +1,6 @@
title: Making Money off Your Blog with Donation Buttons
date: 2016-01-30 00:00:01
donate:
donates:
-
type: alipay
qrcode: /gallery/donate/alipay.png

View File

@ -4,7 +4,7 @@ categories:
- Plugins
- Search
search:
type: google-cse
type: google_cse
cx: 006888261376761189075:qxqdcvqzio0
---

View File

@ -42,13 +42,13 @@ widgets:
type: recent_posts
position: left
-
type: archive
type: archives
position: left
-
type: category
type: categories
position: left
-
type: tag
type: tags
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`.

View File

@ -18,10 +18,10 @@ comment:
placeholder: 快来评论吧
plugins:
gallery: true
outdated-browser: true
outdated_browser: true
mathjax: true
animejs: true
back-to-top: true
back_to_top: true
progressbar: true
---
作为静态网站生成器Hexo的一款主题Icarus以简洁、现代和精美为设计理念。在灵活且强大的配置系统的助力下用户可以自由实现单栏与多栏的灵活页面布局。同时Icarus提供了丰富的插件与挂件供用户选择让网站的个性化配置变得触手可及。此外得力于全新设计的API开发者可以更便捷地对Icarus进行深层定制。

View File

@ -1,8 +1,8 @@
title:
toc: true
---
<p align="center" class="has-mb-6">
<img class="not-gallery-item" style="height:48px" src="/hexo-theme-icarus/images/logo.svg">
<p align="center" class="mb-2">
<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.
</p>
<p class="is-size-6 has-text-centered">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@ -1 +1 @@
Subproject commit ca1e73a4cfaed85a7e25c2cfd02cb71b668515cf
Subproject commit e4cdb01dd8d92ebbb1cfc45124ad34c554fdc3d6