Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
809d54eae2 | ||
|
e76f208516 | ||
|
aad79d1baa | ||
|
221c637409 | ||
|
5a4edd6483 | ||
|
0163b6bfe5 | ||
|
3fa2e339c5 | ||
|
1c857a0c5f | ||
|
302c6080fd | ||
|
ec47bd254a | ||
|
42a6eb0c33 | ||
|
0c0ea3312c | ||
|
1e0275d757 | ||
|
c5f8d5d058 | ||
|
38e99de4fb | ||
|
24be666717 | ||
|
4991ad5085 | ||
|
ed96a4ac21 | ||
|
c61cbb4803 | ||
|
2e7b792039 | ||
|
76096640f4 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@ package-lock.json
|
|||||||
node_modules/
|
node_modules/
|
||||||
.cache
|
.cache
|
||||||
.history
|
.history
|
||||||
|
_bak.yml
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
.cache/
|
.cache/
|
||||||
.history/
|
.history/
|
||||||
.github/
|
.github/
|
||||||
|
_bak.yml
|
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"plugins": {
|
|
||||||
"autoprefixer": true
|
|
||||||
}
|
|
||||||
}
|
|
101
README.md
101
README.md
@@ -27,16 +27,16 @@
|
|||||||
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/releases" target="_blank" rel="noopener noreferrer">
|
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/releases" target="_blank" rel="noopener noreferrer">
|
||||||
<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/Shen-Yu/hexo-theme-ayer?color=b37feb">
|
<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/Shen-Yu/hexo-theme-ayer?color=b37feb">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE" target="_blank" rel="noopener noreferrer"><img alt="LICENSE" src="https://img.shields.io/badge/LICENSE-SATA-yellow">
|
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE" target="_blank" rel="noopener noreferrer"><img alt="LICENSE" src="https://img.shields.io/badge/LICENSE-SATA-6ccab8">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
:ocean: Ayer is a clean and elegant theme for Hexo, also fast, powerful and responsive. It contains many awesome features, It's perfect for your blog, "Ayer" means "water" in Malaysian and "yesterday" in Spanish. If you have any queries or advice during the process of using, Please contact me! shenyu@hotmail.com
|
:ocean: Ayer is a clean and elegant theme for Hexo, also fast, powerful and responsive. It contains many awesome features, It's perfect for your blog, "Ayer" means "water" in Malaysian and "yesterday" in Spanish. If you have any queries or advice during the process of using, Please contact me! shenyu@hotmail.com
|
||||||
|
|
||||||
<b>注:收藏本主题请点右上角Star,谢谢~~ </b>
|
<b>注:收藏本主题请点右上角 Star,谢谢~~ </b>
|
||||||
<b>如果你想给主题添砖加瓦,可以点右上角Fork,然后给此仓库提交PR</b>
|
<b>如果你想给主题添砖加瓦,可以点右上角 Fork,然后给此仓库提交 PR</b>
|
||||||
|
|
||||||
### [Preview 预览](https://shen-yu.gitee.io)
|
### [Preview 预览](https://shen-yu.gitee.io)
|
||||||
|
|
||||||
@@ -48,37 +48,38 @@
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
### For hexo < 5.0
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
git clone https://github.com/Shen-Yu/hexo-theme-ayer.git themes/ayer
|
|
||||||
```
|
|
||||||
|
|
||||||
### For hexo >= 5.0
|
### For hexo >= 5.0
|
||||||
|
|
||||||
``` shell
|
```shell
|
||||||
npm i hexo-theme-ayer -S
|
npm i hexo-theme-ayer -S
|
||||||
```
|
```
|
||||||
|
|
||||||
- If this theme is newly installed, a `_config.ayer.yml` file will be generated in the root directory after the installation is complete, and you can directly edit the `_config.ayer.yml` file for configuration.
|
- If this theme is newly installed, a `_config.ayer.yml` file will be generated in the root directory after the installation is complete, and you can directly edit the `_config.ayer.yml` file for configuration.
|
||||||
- If it is a theme upgrade, you can use the configuration method of hexo < 5.0, or you can move the original configuration file to the root directory and rename it to `_config.ayer.yml`.
|
- If it is a theme upgrade, you can use the configuration method of hexo < 5.0, or you can move the original configuration file to the root directory and rename it to `_config.ayer.yml`.
|
||||||
|
|
||||||
|
### For hexo < 5.0
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/Shen-Yu/hexo-theme-ayer.git themes/ayer
|
||||||
|
```
|
||||||
|
|
||||||
## Enable
|
## Enable
|
||||||
|
|
||||||
Modify `theme` setting in `_config.yml` to `ayer`
|
Modify `theme` setting in `_config.yml` to `ayer`
|
||||||
|
|
||||||
``` yml
|
```yml
|
||||||
theme: ayer
|
theme: ayer
|
||||||
```
|
```
|
||||||
|
|
||||||
## Update
|
## Update
|
||||||
|
|
||||||
``` bash
|
```bash
|
||||||
cd themes/ayer
|
cd themes/ayer
|
||||||
git pull
|
git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
## Multi Language Support
|
## Multi Language Support
|
||||||
|
|
||||||
zh-CN(中文简体) en(English) zh-TW(中文繁体) ja(日本語) es(Español) de(Deutsch) fr(Français) ru(Русский) ko(한국어) vi(Tiếng Việt) nl(Nederlands) no(norsk) pt(Português)
|
zh-CN(中文简体) en(English) zh-TW(中文繁体) ja(日本語) es(Español) de(Deutsch) fr(Français) ru(Русский) ko(한국어) vi(Tiếng Việt) nl(Nederlands) no(norsk) pt(Português)
|
||||||
|
|
||||||
English is default languge, if you want to change, modify `language` option in `_config.yml` file in your Hexo blog's root folder.
|
English is default languge, if you want to change, modify `language` option in `_config.yml` file in your Hexo blog's root folder.
|
||||||
@@ -87,7 +88,7 @@ English is default languge, if you want to change, modify `language` option in `
|
|||||||
|
|
||||||
let me know if you have any questions.
|
let me know if you have any questions.
|
||||||
|
|
||||||
``` yml
|
```yml
|
||||||
# Menu-Sidebar
|
# Menu-Sidebar
|
||||||
menu:
|
menu:
|
||||||
Home: /
|
Home: /
|
||||||
@@ -104,7 +105,7 @@ subtitle:
|
|||||||
enable: true
|
enable: true
|
||||||
text: A clean and elegant theme
|
text: A clean and elegant theme
|
||||||
text2: It's perfect for your hexo blog
|
text2: It's perfect for your hexo blog
|
||||||
text3: Have fun! #Supports up to three lines of text
|
text3: Have fun! #Supports up to three lines of text
|
||||||
startDelay: 0
|
startDelay: 0
|
||||||
typeSpeed: 200
|
typeSpeed: 200
|
||||||
loop: true
|
loop: true
|
||||||
@@ -119,7 +120,7 @@ logo: /images/ayer-side.svg
|
|||||||
# enable: [true|false];path: [background-image];logo: [cover-logo-image]
|
# enable: [true|false];path: [background-image];logo: [cover-logo-image]
|
||||||
cover:
|
cover:
|
||||||
enable: true
|
enable: true
|
||||||
path: /images/cover1.jpg # there are some beautiful cover images in Ayer's directory: /source/images, choose your favorite image to replace it.
|
path: /images/cover1.jpg # there are some beautiful cover images in Ayer's directory: /source/images, choose your favorite image to replace it.
|
||||||
logo: /images/ayer.svg
|
logo: /images/ayer.svg
|
||||||
|
|
||||||
# ProgressBar
|
# ProgressBar
|
||||||
@@ -169,7 +170,7 @@ word_count:
|
|||||||
# type:0-close reward; 1-only open in article which you have configured reward:true; 2-open in all articles
|
# type:0-close reward; 1-only open in article which you have configured reward:true; 2-open in all articles
|
||||||
reward_type: 2
|
reward_type: 2
|
||||||
# reward word
|
# reward word
|
||||||
reward_wording: 'Buy me a cup of coffee~'
|
reward_wording: "Buy me a cup of coffee~"
|
||||||
# qrcode image path
|
# qrcode image path
|
||||||
alipay: /images/alipay.jpg
|
alipay: /images/alipay.jpg
|
||||||
# qrcode image path
|
# qrcode image path
|
||||||
@@ -222,9 +223,9 @@ cnzz:
|
|||||||
url: #
|
url: #
|
||||||
|
|
||||||
# Google Analytics
|
# Google Analytics
|
||||||
google_analytics: ''
|
google_analytics: ""
|
||||||
# Baidu Analytics
|
# Baidu Analytics
|
||||||
baidu_analytics: ''
|
baidu_analytics: ""
|
||||||
|
|
||||||
# Mathjax Support
|
# Mathjax Support
|
||||||
mathjax: true
|
mathjax: true
|
||||||
@@ -316,11 +317,12 @@ minivaline:
|
|||||||
|
|
||||||
## Plugins
|
## Plugins
|
||||||
|
|
||||||
+ [hexo-generator-search](https://github.com/wzpan/hexo-generator-search) (for Local Search)
|
- [hexo-generator-search](https://github.com/wzpan/hexo-generator-search) (for Local Search)
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
$ npm install hexo-generator-searchdb --save
|
$ npm install hexo-generator-searchdb --save
|
||||||
```
|
```
|
||||||
|
|
||||||
Then add the plugin configuration in hexo's configuration file `_config.yml` (note: not the theme's configuration file):
|
Then add the plugin configuration in hexo's configuration file `_config.yml` (note: not the theme's configuration file):
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@@ -331,7 +333,7 @@ minivaline:
|
|||||||
format: html
|
format: html
|
||||||
```
|
```
|
||||||
|
|
||||||
+ [hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed) (for RSS)
|
- [hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed) (for RSS)
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
$ npm install hexo-generator-feed --save
|
$ npm install hexo-generator-feed --save
|
||||||
@@ -351,18 +353,22 @@ minivaline:
|
|||||||
order_by: -date
|
order_by: -date
|
||||||
```
|
```
|
||||||
|
|
||||||
+ [hexo-generator-index-pin-top](https://github.com/netcan/hexo-generator-index-pin-top) (for Sticky Post)
|
- [hexo-generator-index-pin-top](https://github.com/netcan/hexo-generator-index-pin-top) (for Sticky Post)
|
||||||
|
|
||||||
``` bash
|
```bash
|
||||||
$ npm uninstall hexo-generator-index --save
|
$ npm uninstall hexo-generator-index --save
|
||||||
$ npm install hexo-generator-index-pin-top --save
|
$ npm install hexo-generator-index-pin-top --save
|
||||||
```
|
```
|
||||||
|
|
||||||
## Categories
|
## Categories
|
||||||
``` bash
|
|
||||||
|
```bash
|
||||||
hexo new page categories
|
hexo new page categories
|
||||||
```
|
```
|
||||||
|
|
||||||
Then paste following codes to file: /source/categories/index.md
|
Then paste following codes to file: /source/categories/index.md
|
||||||
``` md
|
|
||||||
|
```md
|
||||||
---
|
---
|
||||||
title: categories
|
title: categories
|
||||||
type: categories
|
type: categories
|
||||||
@@ -371,33 +377,36 @@ layout: "categories"
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Tags
|
## Tags
|
||||||
|
|
||||||
Same as categories.
|
Same as categories.
|
||||||
|
|
||||||
## Friend Links
|
## Friend Links
|
||||||
``` bash
|
|
||||||
|
```bash
|
||||||
hexo new page friends
|
hexo new page friends
|
||||||
```
|
```
|
||||||
|
|
||||||
Then paste following codes to file: /source/friends/index.md
|
Then paste following codes to file: /source/friends/index.md
|
||||||
``` md
|
|
||||||
|
```md
|
||||||
---
|
---
|
||||||
title: friends
|
title: friends
|
||||||
type: friends
|
type: friends
|
||||||
layout: "friends"
|
layout: "friends"
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
Then edit `friends_link` in `_config.yml`
|
Then edit `friends_link` in `_config.yml`
|
||||||
|
|
||||||
## Gallery
|
## Gallery
|
||||||
|
|
||||||
Need to write in the head of the markdown, this is not a good way to write, I hope to get a better way to write on github.
|
Need to write in the head of the markdown, this is not a good way to write, I hope to get a better way to write on github.
|
||||||
|
|
||||||
``` md
|
```md
|
||||||
---
|
---
|
||||||
title: Gallery
|
title: Gallery
|
||||||
|
|
||||||
albums: [
|
albums: [["img_url", "img_caption"], ["img_url", "img_caption"]]
|
||||||
["img_url","img_caption"],
|
|
||||||
["img_url","img_caption"]
|
|
||||||
]
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -405,19 +414,20 @@ albums: [
|
|||||||
|
|
||||||
Use Tocbot to parse the title tags (h1~h6) in the content and insert the directory.
|
Use Tocbot to parse the title tags (h1~h6) in the content and insert the directory.
|
||||||
|
|
||||||
+ ayer/_config.yml
|
- ayer/\_config.yml
|
||||||
|
|
||||||
``` bash
|
```bash
|
||||||
# Toc
|
# Toc
|
||||||
toc: true
|
toc: true
|
||||||
```
|
```
|
||||||
+ If Toc is turned on in ayer/_config.yml, then Tocbot will generate a Toc article directory in the title tag of each blog parsing content, but not all blogs require Toc, so in the Front-matter section of markdown Can be closed:
|
|
||||||
|
|
||||||
``` md
|
- If Toc is turned on in ayer/\_config.yml, then Tocbot will generate a Toc article directory in the title tag of each blog parsing content, but not all blogs require Toc, so in the Front-matter section of markdown Can be closed:
|
||||||
---
|
|
||||||
|
```md
|
||||||
|
---
|
||||||
no_toc: true
|
no_toc: true
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -433,19 +443,18 @@ This project exists thanks to all the people who contribute.
|
|||||||
|
|
||||||
[](https://starchart.cc/Shen-Yu/hexo-theme-ayer)
|
[](https://starchart.cc/Shen-Yu/hexo-theme-ayer)
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
<a src="https://github.com/Shen-Yu/hexo-theme-ayer">Ayer</a> by <a href="https://github.com/Shen-Yu">Eric-Shen</a> is licensed under <a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA-License</a>.
|
<a src="https://github.com/Shen-Yu/hexo-theme-ayer">Ayer</a> by <a href="https://github.com/Shen-Yu">Eric-Shen</a> is licensed under <a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA-License</a>.
|
||||||
|
|
||||||
The basic idea is, whenever using a project using SATA license, people shall star/like/+1 that project and thank the author. Just imagine Google stared your project and send you a thank-you letter because they used your project in github!
|
The basic idea is, whenever using a project using SATA license, people shall star/like/+1 that project and thank the author. Just imagine Google stared your project and send you a thank-you letter because they used your project in github!
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
本项目采用<a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA</a>开源协议,在遵守MIT许可证的前提下,你应该马不停蹄的给这个开源项目“点个赞”,比如github右上角的star,然后你应该感谢这个开源项目的作者,作者信息可以在许可证头部的版权声明部分找到。<br>
|
本项目采用<a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA</a>开源协议,在遵守 MIT 许可证的前提下,你应该马不停蹄的给这个开源项目“点个赞”,比如 github 右上角的 star,然后你应该感谢这个开源项目的作者,作者信息可以在许可证头部的版权声明部分找到。<br>
|
||||||
|
|
||||||
下面是几条SATA作者推荐的感谢途径,也是SATA包含的内容:
|
下面是几条 SATA 作者推荐的感谢途径,也是 SATA 包含的内容:
|
||||||
|
|
||||||
- 给你使用的开源项目的作者发个Email,和他交个朋友
|
- 给你使用的开源项目的作者发个 Email,和他交个朋友
|
||||||
- 提出你在使用过程中发现的BUG或者提一些建设性的意见
|
- 提出你在使用过程中发现的 BUG 或者提一些建设性的意见
|
||||||
- 告诉你的朋友们这是一个多棒的开源项目
|
- 告诉你的朋友们这是一个多棒的开源项目
|
||||||
- 当然,你也可以只是在心里默默的感激,不用让全世界都知道
|
- 当然,你也可以只是在心里默默的感激,不用让全世界都知道
|
||||||
|
10
_config.yml
10
_config.yml
@@ -157,6 +157,12 @@ katex:
|
|||||||
allpost: true
|
allpost: true
|
||||||
copy_tex: false
|
copy_tex: false
|
||||||
|
|
||||||
|
# mermaid流程图 三个选项缺一不可(https://mermaid-js.github.io/mermaid/)
|
||||||
|
mermaid:
|
||||||
|
enable: false
|
||||||
|
cdn: https://cdn.jsdelivr.net/npm/mermaid@8.9.2/dist/mermaid.min.js
|
||||||
|
theme: forest
|
||||||
|
|
||||||
# 网站成立年份(默认为 2019,若填入年份小于当前年份,则显示为 2018-2019 类似的格式)
|
# 网站成立年份(默认为 2019,若填入年份小于当前年份,则显示为 2018-2019 类似的格式)
|
||||||
since: 2015
|
since: 2015
|
||||||
|
|
||||||
@@ -227,12 +233,10 @@ twikoo:
|
|||||||
# See: https://github.com/MiniValine/MiniValine
|
# See: https://github.com/MiniValine/MiniValine
|
||||||
minivaline:
|
minivaline:
|
||||||
enable: false
|
enable: false
|
||||||
md: true
|
|
||||||
# 更多选项 https://minivaline.js.org/docs/cn/#/Options 按照yml格式继续填写即可 (除了 [el] 选项)
|
# 更多选项 https://minivaline.js.org/docs/cn/#/Options 按照yml格式继续填写即可 (除了 [el] 选项)
|
||||||
# emoticonUrl 等列表选项 可参考 https://github.com/MiniValine/hexo-next-minivaline
|
# emoticonUrl 等列表选项 可参考 https://github.com/MiniValine/hexo-next-minivaline
|
||||||
# 下面是一个例子:
|
# 下面是一个例子:
|
||||||
backend: waline
|
serverURL: https://minivaline.your-domain.com
|
||||||
serverURL: https://waline.vercel.app
|
|
||||||
|
|
||||||
# 首页广告配置
|
# 首页广告配置
|
||||||
# 可以根据需要自行增加ad_3,ad_4...,留空则不显示,建议图片和url不要带ad等关键词,否则可能会被adblock等插件屏蔽
|
# 可以根据需要自行增加ad_3,ad_4...,留空则不显示,建议图片和url不要带ad等关键词,否则可能会被adblock等插件屏蔽
|
||||||
|
@@ -1,66 +1,57 @@
|
|||||||
<%- js('/js/jquery-2.0.3.min') %>
|
<%- js('/js/jquery-2.0.3.min') %> <%- js('/js/lazyload.min') %>
|
||||||
<%- js('/js/lazyload.min') %>
|
|
||||||
<!-- Tocbot -->
|
<!-- Tocbot -->
|
||||||
<% if (theme.toc && is_post() && !page.no_toc){ %>
|
<% if (theme.toc && is_post() && !page.no_toc){ %> <%- js('/js/tocbot.min') %>
|
||||||
<%- js('/js/tocbot.min') %>
|
|
||||||
<script>
|
<script>
|
||||||
tocbot.init({
|
tocbot.init({
|
||||||
tocSelector: '.tocbot',
|
tocSelector: ".tocbot",
|
||||||
contentSelector: '.article-entry',
|
contentSelector: ".article-entry",
|
||||||
headingSelector: 'h1, h2, h3, h4, h5, h6',
|
headingSelector: "h1, h2, h3, h4, h5, h6",
|
||||||
hasInnerContainers: true,
|
hasInnerContainers: true,
|
||||||
scrollSmooth: true,
|
scrollSmooth: true,
|
||||||
scrollContainer: 'main',
|
scrollContainer: "main",
|
||||||
positionFixedSelector: '.tocbot',
|
positionFixedSelector: ".tocbot",
|
||||||
positionFixedClass: 'is-position-fixed',
|
positionFixedClass: "is-position-fixed",
|
||||||
fixedSidebarOffset: 'auto'
|
fixedSidebarOffset: "auto",
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<% } %>
|
<% } %>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script>
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css">
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css"
|
||||||
|
/>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script>
|
||||||
<%- js('dist/main') %>
|
<%- js('dist/main') %>
|
||||||
<!-- ImageViewer -->
|
<!-- ImageViewer -->
|
||||||
<% if (theme.image_viewer){ %>
|
<% if (theme.image_viewer){ %> <%- partial('viewer') %> <% } %>
|
||||||
<%- partial('viewer') %>
|
|
||||||
<% } %>
|
|
||||||
<!-- MathJax -->
|
<!-- MathJax -->
|
||||||
<% if (theme.mathjax){ %>
|
<% if (theme.mathjax){ %> <%- partial('mathjax') %>
|
||||||
<%- partial('mathjax') %>
|
|
||||||
<script>
|
<script>
|
||||||
var ayerConfig = {
|
var ayerConfig = {
|
||||||
mathjax: true
|
mathjax: true,
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
<% } %>
|
<% } %>
|
||||||
<!-- Katex -->
|
<!-- Katex -->
|
||||||
<% if (theme.katex.enable){ %>
|
<% if (theme.katex.enable){ %> <%- partial('katex') %> <% } %>
|
||||||
<%- partial('katex') %>
|
|
||||||
<% } %>
|
|
||||||
<!-- busuanzi -->
|
<!-- busuanzi -->
|
||||||
<% if (theme.busuanzi && theme.busuanzi.enable){ %>
|
<% if (theme.busuanzi && theme.busuanzi.enable){ %> <%-
|
||||||
<%- js('/js/busuanzi-2.3.pure.min') %>
|
js('/js/busuanzi-2.3.pure.min') %> <% } %>
|
||||||
<% } %>
|
|
||||||
<!-- ClickLove -->
|
<!-- ClickLove -->
|
||||||
<% if (theme.click_effect===1){ %>
|
<% if (theme.click_effect===1){ %> <%- js('/js/clickLove') %> <% } %>
|
||||||
<%- js('/js/clickLove') %>
|
|
||||||
<% } %>
|
|
||||||
<!-- ClickBoom1 -->
|
<!-- ClickBoom1 -->
|
||||||
<% if (theme.click_effect===2){ %>
|
<% if (theme.click_effect===2){ %>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/animejs@latest/anime.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/animejs@latest/anime.min.js"></script>
|
||||||
<%- js('/js/clickBoom1') %>
|
<%- js('/js/clickBoom1') %> <% } %>
|
||||||
<% } %>
|
|
||||||
<!-- ClickBoom2 -->
|
<!-- ClickBoom2 -->
|
||||||
<% if (theme.click_effect===3){ %>
|
<% if (theme.click_effect===3){ %> <%- js('/js/clickBoom2') %> <% } %>
|
||||||
<%- js('/js/clickBoom2') %>
|
|
||||||
<% } %>
|
|
||||||
<!-- CodeCopy -->
|
<!-- CodeCopy -->
|
||||||
<% if (theme.copy_btn == true) { %>
|
<% if (theme.copy_btn == true) { %> <%- css('/css/clipboard') %> <%-
|
||||||
<%- css('/css/clipboard') %>
|
partial('post/clipboard') %> <% } %>
|
||||||
<%- partial('post/clipboard') %>
|
|
||||||
<% } %>
|
|
||||||
<!-- CanvasBackground -->
|
<!-- CanvasBackground -->
|
||||||
<% if (theme.canvas_bg == 1) { %>
|
<% if (theme.canvas_bg == 1) { %> <%- js('/js/dz') %> <% } %>
|
||||||
<%- js('/js/dz') %>
|
<script>
|
||||||
<% } %>
|
if (window.mermaid) {
|
||||||
|
mermaid.initialize({ theme: "<%= theme.mermaid.theme %>" });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@@ -2,40 +2,48 @@
|
|||||||
|
|
||||||
<% if (config.language){ %>
|
<% if (config.language){ %>
|
||||||
<html lang="<%= config.language %>">
|
<html lang="<%= config.language %>">
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<% }%>
|
<% }%>
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<% var title = page.title; if (is_archive()) { title = __('archive_a'); if
|
|
||||||
(is_month()) { title += ': ' + page.year + '/' + page.month; } else if
|
|
||||||
(is_year()) { title += ': ' + page.year; } } else if (is_category()) { title
|
|
||||||
= page.category; } else if (is_tag()) {
|
|
||||||
title = __('tag') + ': ' + page.tag; } %> <% if (page.keywords){ %>
|
|
||||||
<meta name="keywords" content="<%= page.keywords %>,<%= config.keywords %>" />
|
|
||||||
<% } else if (config.keywords){ %>
|
|
||||||
<meta name="keywords" content="<%= config.keywords %>" />
|
|
||||||
<% } %> <% if (page.description){ %>
|
|
||||||
<meta name="description" content="<%= page.description %>" />
|
|
||||||
<% } else if (config.description){ %>
|
|
||||||
<meta name="description" content="<%= config.description %>" />
|
|
||||||
<% } %>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
|
||||||
<title>
|
|
||||||
<% if (title){ %><%= title %> | <% } %> <%= config.title %>
|
|
||||||
</title>
|
|
||||||
<% if (theme.favicon){ %>
|
|
||||||
<link rel="shortcut icon" href="<%- theme.favicon %>" />
|
|
||||||
<% } %>
|
|
||||||
<%- css('dist/main') %>
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min.css">
|
|
||||||
<%- css('css/custom') %>
|
|
||||||
<% if (theme.progressBar){ %>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
|
|
||||||
<% } %>
|
|
||||||
<%- partial('google-analytics') %>
|
|
||||||
<%- partial('baidu-analytics') %>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<% var title = page.title; if (is_archive()) { title = __('archive_a'); if
|
||||||
|
(is_month()) { title += ': ' + page.year + '/' + page.month; } else if
|
||||||
|
(is_year()) { title += ': ' + page.year; } } else if (is_category()) {
|
||||||
|
title = page.category; } else if (is_tag()) { title = __('tag') + ': ' +
|
||||||
|
page.tag; } %> <% if (page.keywords){ %>
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="<%= page.keywords %>,<%= config.keywords %>"
|
||||||
|
/>
|
||||||
|
<% } else if (config.keywords){ %>
|
||||||
|
<meta name="keywords" content="<%= config.keywords %>" />
|
||||||
|
<% } %> <% if (page.description){ %>
|
||||||
|
<meta name="description" content="<%= page.description %>" />
|
||||||
|
<% } else if (config.description){ %>
|
||||||
|
<meta name="description" content="<%= config.description %>" />
|
||||||
|
<% } %>
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1, maximum-scale=1"
|
||||||
|
/>
|
||||||
|
<title><% if (title){ %><%= title %> | <% } %> <%= config.title %></title>
|
||||||
|
<% if (theme.favicon){ %>
|
||||||
|
<link rel="shortcut icon" href="<%- theme.favicon %>" />
|
||||||
|
<% } %> <%- css('dist/main') %>
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min.css"
|
||||||
|
/>
|
||||||
|
<%- css('css/custom') %> <% if (theme.progressBar){ %>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
|
||||||
|
<% } %> <%- partial('google-analytics') %> <%- partial('baidu-analytics')
|
||||||
|
%>
|
||||||
|
<!-- mermaid -->
|
||||||
|
<% if (theme.mermaid.enable) { %>
|
||||||
|
<script src="<%= theme.mermaid.cdn %>"></script>
|
||||||
|
<% } %>
|
||||||
|
</head>
|
||||||
|
</html>
|
||||||
</html>
|
</html>
|
@@ -1,5 +1,5 @@
|
|||||||
<span>
|
<span>
|
||||||
<span><i class="ri-user-3-fill"></i><%- __('site_visitors') %>:<span id="busuanzi_value_site_uv"></span></s>
|
<span><i class="ri-user-3-fill"></i><%- __('site_visitors') %>:<span id="busuanzi_value_site_uv"></span></span>
|
||||||
<span class="division">|</span>
|
<span class="division">|</span>
|
||||||
<span><i class="ri-eye-fill"></i><%- __('page_views') %>:<span id="busuanzi_value_page_pv"></span></span>
|
<span><i class="ri-eye-fill"></i><%- __('page_views') %>:<span id="busuanzi_value_page_pv"></span></span>
|
||||||
</span>
|
</span>
|
@@ -1,7 +1,7 @@
|
|||||||
<% if (theme.gitalk.enable && post.comments) { %>
|
<% if (theme.gitalk.enable && post.comments) { %>
|
||||||
<div class="gitalk" id="gitalk-container"></div>
|
<div class="gitalk" id="gitalk-container"></div>
|
||||||
<%- css('https://cdn.jsdelivr.net/npm/gitalk@1.6.2/dist/gitalk.css') %>
|
<%- css('https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.css') %>
|
||||||
<%- js('https://cdn.jsdelivr.net/npm/gitalk@1.6.2/dist/gitalk.min.js') %>
|
<%- js('https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.min.js') %>
|
||||||
<%- js('https://cdn.jsdelivr.net/npm/blueimp-md5@2.10.0/js/md5.min.js') %>
|
<%- js('https://cdn.jsdelivr.net/npm/blueimp-md5@2.10.0/js/md5.min.js') %>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gitalk = new Gitalk({
|
var gitalk = new Gitalk({
|
||||||
|
@@ -3,75 +3,45 @@
|
|||||||
<div id="mvcomments-box">
|
<div id="mvcomments-box">
|
||||||
<div id="mvcomments"></div>
|
<div id="mvcomments"></div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/minivaline@latest"></script>
|
<script src="https://cdn.jsdelivr.net/npm/minivaline@6"></script>
|
||||||
<script>
|
<script>
|
||||||
new MiniValine(Object.assign(<%- JSON.stringify(theme.minivaline) %>, {
|
new MiniValine(Object.assign(<%- JSON.stringify(theme.minivaline) %>, {
|
||||||
el: '#mvcomments',
|
el: '#mvcomments',
|
||||||
}));
|
}));
|
||||||
const infoEle = document.querySelector('#mvcomments .info');
|
const infoEle = document.querySelector('#mvcomments .info');
|
||||||
if (infoEle && infoEle.childNodes && infoEle.childNodes.length > 0) {
|
if (infoEle && infoEle.childNodes && infoEle.childNodes.length > 0) {
|
||||||
infoEle.childNodes.forEach(function (item) {
|
infoEle.childNodes.forEach(function (item) {
|
||||||
item.parentNode.removeChild(item);
|
item.parentNode.removeChild(item);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
#mvcomments-box {
|
#mvcomments-box {
|
||||||
padding: 5px 30px;
|
padding: 5px 30px;
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 800px) {
|
@media screen and (max-width: 800px) {
|
||||||
#mvcomments-box {
|
#mvcomments-box {
|
||||||
padding: 5px 0px;
|
padding: 5px 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.darkmode .MiniValine *{
|
:root .darkmode {
|
||||||
color: #f1f1f1!important;
|
--ohhho-color-p: #bbb;
|
||||||
}
|
--ohhho-color-text: #fff;
|
||||||
.darkmode .commentTrigger{
|
--ohhho-color-card: #252d38;
|
||||||
background-color: #403e3e !important;
|
--ohhho-color-block: rgba(68, 68, 68, 0.65);
|
||||||
}
|
--ohhho-expand-before-background: linear-gradient(
|
||||||
.darkmode .MiniValine .vpage .more{
|
180deg,
|
||||||
background: #21232F
|
rgba(246, 246, 246, 0),
|
||||||
}
|
rgba(0, 0, 0, 0.9)
|
||||||
.darkmode img{
|
);
|
||||||
filter: brightness(30%)
|
--ohhho-expand-after-background: rgba(0, 0, 0, 0.9);
|
||||||
}
|
}
|
||||||
.darkmode .MiniValine .vlist .vcard .vcomment-body .text-wrapper .vcomment.expand:before{
|
.darkmode .ohhho pre {
|
||||||
background: linear-gradient(180deg, rgba(246,246,246,0), rgba(0,0,0,0.9))
|
background: #888;
|
||||||
}
|
border: 1px solid var(--ohhho-color-block);
|
||||||
.darkmode .MiniValine .vlist .vcard .vcomment-body .text-wrapper .vcomment.expand:after{
|
}
|
||||||
background: rgba(0,0,0,0.9)
|
.darkmode .ohhho .vlist .vcard .vcomment-body .vhead {
|
||||||
}
|
filter: brightness(85%);
|
||||||
.darkmode .MiniValine .vlist .vcard .vcomment-body .text-wrapper .vcomment pre{
|
}
|
||||||
background: #282c34
|
|
||||||
border: 1px solid #282c34
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-area .textarea-wrapper textarea{
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-area .auth-section .input-wrapper input{
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-area .vextra-area .vsmile-icons{
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-wrap{
|
|
||||||
border-color: #b2b2b5;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-wrap:hover{
|
|
||||||
border: 1px dashed #2196f3;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-area .auth-section .input-wrapper{
|
|
||||||
border-bottom: 1px dashed #b2b2b5;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-area .auth-section .input-wrapper:hover{
|
|
||||||
border-bottom: 1px dashed #2196f3;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vbtn{
|
|
||||||
background-color: transparent!important;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vbtn:hover{
|
|
||||||
border: 1px dashed #2196f3;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
12
package.json
12
package.json
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "hexo-theme-ayer",
|
"name": "hexo-theme-ayer",
|
||||||
"version": "1.8.18",
|
"version": "1.8.24",
|
||||||
"description": "a clean and elegant theme for hexo.",
|
"description": "a clean and elegant theme for hexo.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "parcel serve source-src/main.js -d source/dist",
|
"dev": "rollup -c -w",
|
||||||
"build": "rimraf source/dist && parcel build source-src/main.js -d source/dist --no-source-maps",
|
"build": "rollup -c",
|
||||||
"postinstall": "node ./move_config.js",
|
"postinstall": "node ./move_config.js",
|
||||||
"test": "stylint source-src/css/style.styl -c .stylintrc"
|
"test": "stylint source-src/css/style.styl -c .stylintrc"
|
||||||
},
|
},
|
||||||
@@ -28,9 +28,9 @@
|
|||||||
"homepage": "https://shen-yu.gitee.io/",
|
"homepage": "https://shen-yu.gitee.io/",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^9.8.6",
|
"autoprefixer": "^9.8.6",
|
||||||
"cssnano": "^4.1.10",
|
"rollup": "^2.50.2",
|
||||||
"parcel-bundler": "^1.12.5",
|
"rollup-plugin-styles": "^3.14.1",
|
||||||
"postcss-modules": "^1.5.0",
|
"rollup-plugin-terser": "^7.0.2",
|
||||||
"stylint": "^2.0.0"
|
"stylint": "^2.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
16
rollup.config.js
Normal file
16
rollup.config.js
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import autoprefixer from "autoprefixer";
|
||||||
|
import styles from "rollup-plugin-styles";
|
||||||
|
import { terser } from "rollup-plugin-terser";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
input: "source-src/main.js",
|
||||||
|
output: {
|
||||||
|
dir: "source/dist",
|
||||||
|
format: "iife",
|
||||||
|
assetFileNames: "[name][extname]",
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
styles({ mode: "extract", minimize: true, plugins: [autoprefixer()] }),
|
||||||
|
terser(),
|
||||||
|
],
|
||||||
|
};
|
11
scripts/events/index.js
Normal file
11
scripts/events/index.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
/* global hexo */
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
hexo.on("generateBefore", () => {
|
||||||
|
require("./lib/merge-configs")(hexo);
|
||||||
|
});
|
||||||
|
|
||||||
|
hexo.on("generateAfter", () => {
|
||||||
|
require("./lib/hello")(hexo);
|
||||||
|
});
|
38
scripts/events/lib/hello.js
Normal file
38
scripts/events/lib/hello.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
module.exports = (hexo) => {
|
||||||
|
const isZh = hexo.theme.i18n.languages[0].search(/zh-CN/i) !== -1;
|
||||||
|
if (isZh) {
|
||||||
|
hexo.log.info(`
|
||||||
|
------------------------------------------------
|
||||||
|
| |
|
||||||
|
| __ ________ _____ |
|
||||||
|
| /\\\\ \\ / / ____| __ \\ |
|
||||||
|
| / \\\\ \\_/ /| |__ | |__) | |
|
||||||
|
| / /\\ \\\\ / | __| | _ / |
|
||||||
|
| / ____ \\| | | |____| | \\ \\ |
|
||||||
|
| /_/ \\_\\_| |______|_| \\_\\ |
|
||||||
|
| |
|
||||||
|
| 感谢使用 Ayer 主题 ! |
|
||||||
|
| 文档: https://shen-yu.gitee.io/2019/ayer/ |
|
||||||
|
| |
|
||||||
|
------------------------------------------------
|
||||||
|
`);
|
||||||
|
} else {
|
||||||
|
hexo.log.info(`
|
||||||
|
----------------------------------------------------
|
||||||
|
| |
|
||||||
|
| __ ________ _____ |
|
||||||
|
| /\\\\ \\ / / ____| __ \\ |
|
||||||
|
| / \\\\ \\_/ /| |__ | |__) | |
|
||||||
|
| / /\\ \\\\ / | __| | _ / |
|
||||||
|
| / ____ \\| | | |____| | \\ \\ |
|
||||||
|
| /_/ \\_\\_| |______|_| \\_\\ |
|
||||||
|
| |
|
||||||
|
| Thank you for using Ayer theme ! |
|
||||||
|
| Docs: https://github.com/Shen-Yu/hexo-theme-ayer |
|
||||||
|
| |
|
||||||
|
----------------------------------------------------
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
};
|
28
scripts/events/lib/merge-configs.js
Normal file
28
scripts/events/lib/merge-configs.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const objUtil = require("../../utils/object");
|
||||||
|
const { isNotEmptyObject } = require("../../utils/object");
|
||||||
|
|
||||||
|
module.exports = (hexo) => {
|
||||||
|
const isZh = hexo.theme.i18n.languages[0].search(/zh-CN/i) !== -1;
|
||||||
|
|
||||||
|
if (isNotEmptyObject(hexo.config.theme_config)) {
|
||||||
|
hexo.theme.config = objUtil.merge(
|
||||||
|
{},
|
||||||
|
hexo.theme.config,
|
||||||
|
hexo.config.theme_config
|
||||||
|
);
|
||||||
|
if (isZh) {
|
||||||
|
hexo.log.info("[Ayer] 读取 _config.yml 中 theme_config 配置项覆盖配置");
|
||||||
|
} else {
|
||||||
|
hexo.log.info(
|
||||||
|
"[Ayer] Merge theme config from theme_config in _config.yml"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hexo.log.debug(
|
||||||
|
"[Ayer] Output theme config:\n",
|
||||||
|
JSON.stringify(hexo.theme.config, undefined, 2)
|
||||||
|
);
|
||||||
|
};
|
12
scripts/utils/join-path.js
Normal file
12
scripts/utils/join-path.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const joinPath = function(base, relative) {
|
||||||
|
if (relative && /^https*:\/\//.test(relative)) {
|
||||||
|
return relative;
|
||||||
|
}
|
||||||
|
return relative
|
||||||
|
? base.replace(/\/+$/, '') + '/' + relative.replace(/^\/+/, '')
|
||||||
|
: base;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = joinPath;
|
31
scripts/utils/object.js
Normal file
31
scripts/utils/object.js
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const isObject = (obj) => {
|
||||||
|
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
const isNotEmptyObject = (obj) => {
|
||||||
|
return obj && typeof obj === 'object' && Object.getOwnPropertyNames(obj).length !== 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
const merge = (target, ...sources) => {
|
||||||
|
for (const source of sources) {
|
||||||
|
for (const key in source) {
|
||||||
|
if (!Object.prototype.hasOwnProperty.call(source, key)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (isObject(target[key]) && isObject(source[key])) {
|
||||||
|
merge(target[key], source[key]);
|
||||||
|
} else {
|
||||||
|
target[key] = source[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return target;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
isObject,
|
||||||
|
isNotEmptyObject,
|
||||||
|
merge
|
||||||
|
};
|
@@ -56,12 +56,14 @@
|
|||||||
color sea
|
color sea
|
||||||
|
|
||||||
.float_btns
|
.float_btns
|
||||||
position fixed
|
position sticky
|
||||||
bottom 10rem
|
bottom 10rem
|
||||||
right 50px
|
right 50px
|
||||||
z-index 9996
|
z-index 9996
|
||||||
text-align center
|
text-align center
|
||||||
transform scale(1.2)
|
transform scale(1.2)
|
||||||
|
width: 50px
|
||||||
|
float: right
|
||||||
|
|
||||||
#mask
|
#mask
|
||||||
position fixed
|
position fixed
|
||||||
|
@@ -14,6 +14,13 @@
|
|||||||
opacity .8
|
opacity .8
|
||||||
background-color body-color
|
background-color body-color
|
||||||
&.nav-main
|
&.nav-main
|
||||||
|
height 60vh
|
||||||
|
overflow-y scroll
|
||||||
|
scrollbar-width none
|
||||||
|
-ms-overflow-style none
|
||||||
|
&::-webkit-scrollbar
|
||||||
|
width 0px
|
||||||
|
height 0px
|
||||||
.nav-item-link
|
.nav-item-link
|
||||||
i
|
i
|
||||||
font-size 1rem
|
font-size 1rem
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
import './css/style.styl'
|
import "./css/style.styl";
|
||||||
import './js/ayer'
|
import "./js/ayer";
|
||||||
import './js/share'
|
import "./js/share";
|
||||||
|
2
source/dist/main.css
vendored
2
source/dist/main.css
vendored
File diff suppressed because one or more lines are too long
10
source/dist/main.js
vendored
10
source/dist/main.js
vendored
@@ -1,9 +1 @@
|
|||||||
parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"MiQR":[function(require,module,exports) {
|
!function(){"use strict";var e;function t(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function o(){$(".wx-share-modal").removeClass("in ready"),$("#share-mask").hide()}function s(e,o){"weibo"===e?t("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",o):"qq"===e?t("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",o):"douban"===e?t("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",o):"qzone"===e?t("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",o):"facebook"===e?t("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",o):"twitter"===e?t("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",o):"google"===e?t("https://plus.google.com/share?url=<%-sUrl%>",o):"weixin"===e&&($(".wx-share-modal").addClass("in ready"),$("#share-mask").show())}!function(e){let t=e(".search-form-wrap"),o=!1;e(".nav-item-search").click((()=>{var s;o||(o=!0,t.addClass("on"),s=function(){e(".local-search-input").focus()},setTimeout((function(){o=!1,s&&s()}),200))})),e(document).mouseup((o=>{const s=e(".local-search");s.is(o.target)||0!==s.has(o.target).length||t.removeClass("on")})),e(".local-search").size()&&e.getScript("/js/search.js",(function(){searchFunc("/search.xml","local-search-input","local-search-result")})),e(".share-outer").click((()=>e(".share-wrap").fadeToggle())),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready((function(e){e(".anchor").click((function(t){t.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")}))})),(()=>{const t=e("#totop");t.hide(),e(".content").scroll((function(){e(".content").scrollTop()>1e3?e(t).stop().fadeTo(200,.6):e(t).stop().fadeTo(200,0)})),e(t).click((function(){return e(".content").animate({scrollTop:0},1e3),!1}))})();const s=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",(function(){e(".content,.sidebar").addClass("anim"),s.toggleClass("on"),r.toggleClass("on")})),e("#reward-btn").click((()=>{e("#reward").fadeIn(150),e("#mask").fadeIn(150)})),e("#reward .close, #mask").click((()=>{e("#mask").fadeOut(100),e("#reward").fadeOut(100)})),1==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line")),e("#todark").click((()=>{1==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.removeItem("darkmode")):(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1))}));console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错?⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/Shen-Yu/hexo-theme-ayer","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),e={id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"},function(t){var o=window,s=document,r=e,a="".concat("https:"===s.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=s.createElement("script"),c=s.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=a,n.id="LA_COLLECT",r.d=n;var i=function(){o.LA.ids.push(r)};o.LA?o.LA.ids&&i():(o.LA=e,o.LA.ids=[],i()),c.parentNode.insertBefore(n,c)}();(()=>{let e=document.querySelectorAll(".share-sns");if(!e||0===e.length)return;let t=window.location.href,r=document.querySelector("title").innerHTML,a=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===a||/^(http:|https:)?\/\//.test(a)||(a=window.location.origin+a),e.forEach((e=>{e.onclick=o=>{s(e.getAttribute("data-type"),{sUrl:t,sPic:a,sTitle:r,sDesc:r})}})),document.querySelector("#mask").onclick=o,document.querySelector(".modal-close").onclick=o})()}();
|
||||||
|
|
||||||
},{}],"jSg4":[function(require,module,exports) {
|
|
||||||
!function(e){var o=e(".search-form-wrap"),a=!1;e(".nav-item-search").click(function(){var n;a||(a=!0,o.addClass("on"),n=function(){e(".local-search-input").focus()},setTimeout(function(){a=!1,n&&n()},200))}),e(document).mouseup(function(a){var n=e(".local-search");n.is(a.target)||0!==n.has(a.target).length||o.removeClass("on")}),e(".local-search").size()&&e.getScript("/js/search.js",function(){searchFunc("/search.xml","local-search-input","local-search-result")});var n;e(".share-outer").click(function(){return e(".share-wrap").fadeToggle()}),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready(function(e){e(".anchor").click(function(o){o.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")})}),(n=e("#totop")).hide(),e(".content").scroll(function(){e(".content").scrollTop()>1e3?e(n).stop().fadeTo(200,.6):e(n).stop().fadeTo(200,0)}),e(n).click(function(){return e(".content").animate({scrollTop:0},1e3),!1});var t=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",function(){e(".content,.sidebar").addClass("anim"),t.toggleClass("on"),r.toggleClass("on")}),e("#reward-btn").click(function(){e("#reward").fadeIn(150),e("#mask").fadeIn(150)}),e("#reward .close, #mask").click(function(){e("#mask").fadeOut(100),e("#reward").fadeOut(100)}),1==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line")),e("#todark").click(function(){1==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.removeItem("darkmode")):(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1))});console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错?⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/Shen-Yu/hexo-theme-ayer","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),function(e){"use strict";!function(o){var a=window,n=document,t=e,r="".concat("https:"===n.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),s=n.createElement("script"),c=n.getElementsByTagName("script")[0];s.type="text/javascript",s.setAttribute("charset","UTF-8"),s.async=!0,s.src=r,s.id="LA_COLLECT",t.d=s;var i=function(){a.LA.ids.push(t)};a.LA?a.LA.ids&&i():(a.LA=e,a.LA.ids=[],i()),c.parentNode.insertBefore(s,c)}()}({id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"});
|
|
||||||
},{}],"BNiz":[function(require,module,exports) {
|
|
||||||
function e(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function t(){$(".wx-share-modal").addClass("in ready"),$("#share-mask").show()}function s(){$(".wx-share-modal").removeClass("in ready"),$("#share-mask").hide()}function o(s,o){"weibo"===s?e("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",o):"qq"===s?e("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",o):"douban"===s?e("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",o):"qzone"===s?e("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",o):"facebook"===s?e("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",o):"twitter"===s?e("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",o):"google"===s?e("https://plus.google.com/share?url=<%-sUrl%>",o):"weixin"===s&&t()}var r=function(){var e=document.querySelectorAll(".share-sns");if(e&&0!==e.length){var t=window.location.href,r=document.querySelector("title").innerHTML,c=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===c||/^(http:|https:)?\/\//.test(c)||(c=window.location.origin+c),e.forEach(function(e){e.onclick=function(s){o(e.getAttribute("data-type"),{sUrl:t,sPic:c,sTitle:r,sDesc:r})}}),document.querySelector("#mask").onclick=s,document.querySelector(".modal-close").onclick=s}};r();
|
|
||||||
},{}],"epB2":[function(require,module,exports) {
|
|
||||||
"use strict";require("./css/style.styl"),require("./js/ayer"),require("./js/share");
|
|
||||||
},{"./css/style.styl":"MiQR","./js/ayer":"jSg4","./js/share":"BNiz"}]},{},["epB2"], null)
|
|
||||||
|
Reference in New Issue
Block a user