Compare commits
103 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5a4edd6483 | ||
|
0163b6bfe5 | ||
|
1c857a0c5f | ||
|
302c6080fd | ||
|
ec47bd254a | ||
|
42a6eb0c33 | ||
|
0c0ea3312c | ||
|
1e0275d757 | ||
|
c5f8d5d058 | ||
|
38e99de4fb | ||
|
24be666717 | ||
|
4991ad5085 | ||
|
ed96a4ac21 | ||
|
c61cbb4803 | ||
|
2e7b792039 | ||
|
76096640f4 | ||
|
343b1435c1 | ||
|
6270c15b76 | ||
|
1292dbff48 | ||
|
651ccc266c | ||
|
61ddfbf724 | ||
|
826a654766 | ||
|
6a407dc892 | ||
|
cb4eba81c7 | ||
|
24a5b177ac | ||
|
49cf370803 | ||
|
4dc27165b9 | ||
|
77caffdbfa | ||
|
9767e1fa3f | ||
|
83572e499b | ||
|
ea8711e0ca | ||
|
5fc9da7249 | ||
|
b7c3ce4f21 | ||
|
7af6fda960 | ||
|
501ce9a842 | ||
|
8de56d6a6e | ||
|
acb071831b | ||
|
cd0825d52a | ||
|
5fec2eb442 | ||
|
8e8f682098 | ||
|
0753bb9bf3 | ||
|
8066ea8b5b | ||
|
85fe5c123e | ||
|
f6be671638 | ||
|
240304719d | ||
|
bb87ce34fc | ||
|
777fc5af56 | ||
|
c585654582 | ||
|
948cb65243 | ||
|
106f2494eb | ||
|
4c72c3521c | ||
|
2dd7a5408b | ||
|
7b58e4541a | ||
|
16ce821f1f | ||
|
8aaa2094c4 | ||
|
567584695c | ||
|
cd6c3c6e28 | ||
|
def8609767 | ||
|
af0bc34076 | ||
|
1c3644ef7b | ||
|
b1def36445 | ||
|
47d33f0b13 | ||
|
e868170925 | ||
|
2e497bf1b5 | ||
|
03607113d3 | ||
|
a31a403ec9 | ||
|
7d0130035e | ||
|
e95daf0fe7 | ||
|
a350cb7098 | ||
|
0415b2999a | ||
|
e24c1c8fde | ||
|
4460828c6a | ||
|
3932a3d8ef | ||
|
1c0b980462 | ||
|
c63f8450e3 | ||
|
7548895d03 | ||
|
b1fc783466 | ||
|
ef684cecba | ||
|
4027d32ce0 | ||
|
736a5d3876 | ||
|
b9284527ec | ||
|
c48d95fcd9 | ||
|
ee3908d8aa | ||
|
14e0f01357 | ||
|
e95cdd5cd8 | ||
|
3bb55b8fcb | ||
|
c18a2e681e | ||
|
7642eba4d6 | ||
|
4d3776ea3c | ||
|
9bb629ee79 | ||
|
83b79e97c1 | ||
|
b04e2838a0 | ||
|
e3724557a3 | ||
|
c775133f5b | ||
|
48a39f4322 | ||
|
b1f929876c | ||
|
8b0ab2c38d | ||
|
505f34cd3f | ||
|
7d1f337d59 | ||
|
7f495adc00 | ||
|
abc77cc06e | ||
|
944ae944e1 | ||
|
a19fce2fb0 |
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
*.html linguist-language=javascript
|
||||||
|
*.stylus linguist-language=javascript
|
||||||
|
*.ejs linguist-language=javascript
|
8
.github/FUNDING.yml
vendored
8
.github/FUNDING.yml
vendored
@@ -2,11 +2,15 @@
|
|||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||||
patreon: # Replace with a single Patreon username
|
patreon: # Replace with a single Patreon username
|
||||||
open_collective: # Replace with a single Open Collective username
|
open_collective: ayer # Replace with a single Open Collective username
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
liberapay: # Replace with a single Liberapay username
|
liberapay: # Replace with a single Liberapay username
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
otechie: # Replace with a single Otechie username
|
otechie: # Replace with a single Otechie username
|
||||||
custom: https://pic.downk.cc/item/5e1c70bc2fb38b8c3c5b0a2f.png
|
custom:
|
||||||
|
[
|
||||||
|
"https://shen-yu.gitee.io/images/wechat.jpg",
|
||||||
|
"https://shen-yu.gitee.io/images/alipay.jpg",
|
||||||
|
]
|
||||||
|
21
.github/workflows/npmpublish.yml
vendored
Normal file
21
.github/workflows/npmpublish.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
||||||
|
|
||||||
|
name: Node.js Package
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish-npm:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
- run: npm publish
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
5
.gitignore
vendored
5
.gitignore
vendored
@@ -6,6 +6,5 @@ yarn.lock
|
|||||||
package-lock.json
|
package-lock.json
|
||||||
node_modules/
|
node_modules/
|
||||||
.cache
|
.cache
|
||||||
|
.history
|
||||||
# Setting
|
_bak.yml
|
||||||
_config.yml
|
|
||||||
|
4
.npmignore
Normal file
4
.npmignore
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
.cache/
|
||||||
|
.history/
|
||||||
|
.github/
|
||||||
|
_bak.yml
|
@@ -6,3 +6,5 @@ cache:
|
|||||||
npm: true
|
npm: true
|
||||||
|
|
||||||
install: npm install
|
install: npm install
|
||||||
|
|
||||||
|
script: npm run test
|
197
README.md
197
README.md
@@ -10,20 +10,24 @@
|
|||||||
<img alt="js-standard-style" src="https://img.shields.io/badge/code%20style-standard-brightgreen.svg">
|
<img alt="js-standard-style" src="https://img.shields.io/badge/code%20style-standard-brightgreen.svg">
|
||||||
</a>
|
</a>
|
||||||
<br>
|
<br>
|
||||||
<a href="https://hubble.js.org?owner=Shen-Yu&repo=hexo-theme-ayer&start"><img src="https://img.shields.io/badge/since-2019-409eff.svg" alt="Hubble"></a>
|
<a href="https://www.npmjs.com/package/hexo-theme-ayer" target="_blank" rel="noopener noreferrer">
|
||||||
|
<img alt="npm" src="https://img.shields.io/npm/dt/hexo-theme-ayer">
|
||||||
|
</a>
|
||||||
<a href="https://shen-yu.gitee.io" target="_blank" rel="noopener noreferrer">
|
<a href="https://shen-yu.gitee.io" target="_blank" rel="noopener noreferrer">
|
||||||
<img alt="platform" src="https://img.shields.io/badge/platform-PC--ios--android-e68db8.svg">
|
<img alt="platform" src="https://img.shields.io/badge/platform-PC--ios--android-ff69b4.svg">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://gitter.im/hexo-theme-ayer/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge" target="_blank" rel="noopener noreferrer">
|
<a href="https://gitter.im/hexo-theme-ayer/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge" target="_blank" rel="noopener noreferrer">
|
||||||
<img alt="Gitter" src="https://badges.gitter.im/Join%20Chat.svg">
|
<img alt="Gitter" src="https://badges.gitter.im/Join%20Chat.svg">
|
||||||
</a>
|
</a>
|
||||||
<br>
|
<br>
|
||||||
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/releases" target="_blank" rel="noopener noreferrer">
|
<a href="https://www.npmjs.com/package/hexo-theme-ayer" target="_blank" rel="noopener noreferrer">
|
||||||
<img alt="GitHub tag (latest by date)" src="https://img.shields.io/github/v/tag/Shen-Yu/hexo-theme-ayer?color=blue">
|
<img alt="npm version" src="https://img.shields.io/npm/v/hexo-theme-ayer">
|
||||||
</a>
|
</a>
|
||||||
<img alt="language" src="https://img.shields.io/badge/language-ejs--stylus-green.svg">
|
<img alt="language" src="https://img.shields.io/badge/language-ejs--stylus-green.svg">
|
||||||
<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/Shen-Yu/hexo-theme-ayer?color=%23af8ddc">
|
<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/blob/master/LICENSE" target="_blank" rel="noopener noreferrer"><img alt="LICENSE" src="https://img.shields.io/badge/LICENSE-SATA-efa96e">
|
<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/Shen-Yu/hexo-theme-ayer?color=b37feb">
|
||||||
|
</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>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -42,13 +46,24 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Install
|
## Install
|
||||||
|
|
||||||
``` bash
|
### For hexo < 5.0
|
||||||
$ git clone https://github.com/Shen-Yu/hexo-theme-ayer.git themes/ayer
|
|
||||||
|
``` shell
|
||||||
|
git clone https://github.com/Shen-Yu/hexo-theme-ayer.git themes/ayer
|
||||||
```
|
```
|
||||||
|
|
||||||
### Enable
|
### For hexo >= 5.0
|
||||||
|
|
||||||
|
``` shell
|
||||||
|
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 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`.
|
||||||
|
|
||||||
|
## Enable
|
||||||
|
|
||||||
Modify `theme` setting in `_config.yml` to `ayer`
|
Modify `theme` setting in `_config.yml` to `ayer`
|
||||||
|
|
||||||
@@ -56,19 +71,19 @@ Modify `theme` setting in `_config.yml` to `ayer`
|
|||||||
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(Japanese) es(Spanish) de(German) fr(French) ru(Russian) ko(Korean) vi(Vietnamese) nl(Dutch) no(Norwegian) pt(Portuguese)
|
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 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.
|
||||||
|
|
||||||
### Configuration
|
## Configuration
|
||||||
|
|
||||||
let me know if you have any questions.
|
let me know if you have any questions.
|
||||||
|
|
||||||
@@ -110,6 +125,12 @@ cover:
|
|||||||
# ProgressBar
|
# ProgressBar
|
||||||
progressBar: true
|
progressBar: true
|
||||||
|
|
||||||
|
# Boardcast
|
||||||
|
broadcast:
|
||||||
|
enable: true
|
||||||
|
type: 2 # 1:custom,2:hitokoto api(https://hitokoto.cn/)
|
||||||
|
text: a clean and elegant theme, fast and responsive. # only work in custom mode
|
||||||
|
|
||||||
# Article Setting
|
# Article Setting
|
||||||
# (Use this to excerpt if article is too long:<!--more-->)
|
# (Use this to excerpt if article is too long:<!--more-->)
|
||||||
excerpt_link: Read More...
|
excerpt_link: Read More...
|
||||||
@@ -185,33 +206,10 @@ layout:
|
|||||||
article_width: 80rem
|
article_width: 80rem
|
||||||
sidebar_width: 8rem
|
sidebar_width: 8rem
|
||||||
|
|
||||||
# Comment:1、Valine (recommended);2、Gitalk
|
|
||||||
|
|
||||||
# 1、Valine [A fast, simple & powerful comment system](https://github.com/xCss/Valine)
|
|
||||||
# You need create leancloud account first (https://console.leancloud.app), then put the id|key in below.
|
|
||||||
leancloud:
|
|
||||||
enable: true
|
|
||||||
app_id: #
|
|
||||||
app_key: #
|
|
||||||
# Valine Setting
|
|
||||||
valine:
|
|
||||||
enable: true
|
|
||||||
verify: false # comment verify
|
|
||||||
avatar: mp # (https://valine.js.org/avatar.html)
|
|
||||||
placeholder: Add some comments to my article~ # placeholder
|
|
||||||
|
|
||||||
# 2、Gitalk(https://github.com/gitalk/gitalk)
|
|
||||||
gitalk:
|
|
||||||
enable: false # true
|
|
||||||
clientID: # GitHub Application Client ID
|
|
||||||
clientSecret: # Client Secret
|
|
||||||
repo: # Repository name
|
|
||||||
owner: # GitHub ID
|
|
||||||
admin: # GitHub ID
|
|
||||||
|
|
||||||
# GitHub Ribbons(https://github.blog/2008-12-19-github-ribbons/)
|
# GitHub Ribbons(https://github.blog/2008-12-19-github-ribbons/)
|
||||||
github:
|
github:
|
||||||
# (Set false if you don't need)
|
# (Set false if you don't need)
|
||||||
|
enable: false
|
||||||
url: https://github.com/Shen-Yu/hexo-theme-ayer
|
url: https://github.com/Shen-Yu/hexo-theme-ayer
|
||||||
|
|
||||||
# pv&uv statistics
|
# pv&uv statistics
|
||||||
@@ -243,9 +241,80 @@ since: 2019
|
|||||||
|
|
||||||
# pageFooter (Set true can let more people know this theme, Thanks!)
|
# pageFooter (Set true can let more people know this theme, Thanks!)
|
||||||
pageFooter: true
|
pageFooter: true
|
||||||
|
|
||||||
|
# only for chinese website
|
||||||
|
# ICP
|
||||||
|
icp:
|
||||||
|
enable: false
|
||||||
|
url: "http://www.beian.miit.gov.cn/"
|
||||||
|
text: "浙ICP备88888888"
|
||||||
|
# gongan
|
||||||
|
gongan:
|
||||||
|
enable: false
|
||||||
|
img: /images/beian.png
|
||||||
|
url: "http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=01234567890123" #link
|
||||||
|
text: "浙公网安备01234567890123号"
|
||||||
|
|
||||||
|
# friends link
|
||||||
|
friends_link:
|
||||||
|
Ayer: #site name
|
||||||
|
# site url
|
||||||
|
url: https://github.com/Shen-Yu/hexo-theme-ayer
|
||||||
|
# site icon(optional)
|
||||||
|
img: /images/ayer.png
|
||||||
|
GitHub:
|
||||||
|
url: https://github.com/Shen-Yu
|
||||||
|
img: https://i.loli.net/2020/09/07/indb4PRYDA98EkN.png
|
||||||
|
gitee:
|
||||||
|
url: https://gitee.com/shen-yu
|
||||||
|
img: https://i.loli.net/2020/09/07/K3AqO7h6krQFlRX.png
|
||||||
|
Hexo:
|
||||||
|
url: https://hexo.io
|
||||||
|
img: https://i.loli.net/2020/09/07/UYGzjo7h68CRWny.png
|
||||||
|
hexo-tag-chart:
|
||||||
|
url: https://github.com/Shen-Yu/hexo-tag-chart
|
||||||
|
img: https://i.loli.net/2020/09/07/GIXBYE5SoylhR1r.png
|
||||||
|
|
||||||
|
# Comment:1、Valine (recommended);2、Gitalk;3、Twikoo;4、MiniValine
|
||||||
|
# You can close the comment section on one of your posts by marking `comments: false` in front-matter.
|
||||||
|
|
||||||
|
# 1、Valine [A fast, simple & powerful comment system](https://github.com/xCss/Valine)
|
||||||
|
# You need create leancloud account first (https://console.leancloud.app), then put the id|key in below.
|
||||||
|
leancloud:
|
||||||
|
enable: true
|
||||||
|
app_id: #
|
||||||
|
app_key: #
|
||||||
|
# Valine Setting
|
||||||
|
valine:
|
||||||
|
enable: true
|
||||||
|
avatar: mp # (https://valine.js.org/avatar.html)
|
||||||
|
placeholder: Add some comments to my article~ # placeholder
|
||||||
|
|
||||||
|
# 2、Gitalk(https://github.com/gitalk/gitalk)
|
||||||
|
gitalk:
|
||||||
|
enable: false # true
|
||||||
|
clientID: # GitHub Application Client ID
|
||||||
|
clientSecret: # Client Secret
|
||||||
|
repo: # Repository name
|
||||||
|
owner: # GitHub ID
|
||||||
|
admin: # GitHub ID
|
||||||
|
|
||||||
|
# 3、Twikoo(https://github.com/imaegoo/twikoo)
|
||||||
|
twikoo:
|
||||||
|
enable: false
|
||||||
|
envId: #
|
||||||
|
|
||||||
|
# 4、MiniValine
|
||||||
|
# See: https://github.com/MiniValine/MiniValine
|
||||||
|
minivaline:
|
||||||
|
enable: false
|
||||||
|
md: true
|
||||||
|
# more options https://minivaline.js.org/docs/cn/#/Options
|
||||||
|
backend: waline
|
||||||
|
serverURL: https://waline.vercel.app
|
||||||
```
|
```
|
||||||
|
|
||||||
### 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)
|
||||||
|
|
||||||
@@ -262,7 +331,7 @@ pageFooter: true
|
|||||||
format: html
|
format: html
|
||||||
```
|
```
|
||||||
|
|
||||||
+ [hexo-generate-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
|
||||||
@@ -288,7 +357,7 @@ pageFooter: true
|
|||||||
$ 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
|
||||||
```
|
```
|
||||||
@@ -301,10 +370,24 @@ layout: "categories"
|
|||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
### Tags
|
## Tags
|
||||||
Same as categories.
|
Same as categories.
|
||||||
|
|
||||||
### Gallery
|
## Friend Links
|
||||||
|
``` bash
|
||||||
|
hexo new page friends
|
||||||
|
```
|
||||||
|
Then paste following codes to file: /source/friends/index.md
|
||||||
|
``` md
|
||||||
|
---
|
||||||
|
title: friends
|
||||||
|
type: friends
|
||||||
|
layout: "friends"
|
||||||
|
---
|
||||||
|
```
|
||||||
|
Then edit `friends_link` in `_config.yml`
|
||||||
|
|
||||||
|
## 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
|
||||||
@@ -318,7 +401,7 @@ albums: [
|
|||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
### Toc
|
## Toc
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
@@ -339,6 +422,30 @@ Use Tocbot to parse the title tags (h1~h6) in the content and insert the directo
|
|||||||
---
|
---
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
## Code Contributors
|
||||||
|
|
||||||
|
This project exists thanks to all the people who contribute.
|
||||||
|
|
||||||
|
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/graphs/contributors"><img src="https://opencollective.com/ayer/contributors.svg?width=890&button=false" /></a>
|
||||||
|
|
||||||
|
## Stargazers over time
|
||||||
|
|
||||||
|
[](https://starchart.cc/Shen-Yu/hexo-theme-ayer)
|
||||||
|
|
||||||
|
|
||||||
|
## 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>
|
||||||
|
|
||||||
|
本项目采用<a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA</a>开源协议,在遵守MIT许可证的前提下,你应该马不停蹄的给这个开源项目“点个赞”,比如github右上角的star,然后你应该感谢这个开源项目的作者,作者信息可以在许可证头部的版权声明部分找到。<br>
|
||||||
|
|
||||||
|
下面是几条SATA作者推荐的感谢途径,也是SATA包含的内容:
|
||||||
|
|
||||||
|
- 给你使用的开源项目的作者发个Email,和他交个朋友
|
||||||
|
- 提出你在使用过程中发现的BUG或者提一些建设性的意见
|
||||||
|
- 告诉你的朋友们这是一个多棒的开源项目
|
||||||
|
- 当然,你也可以只是在心里默默的感激,不用让全世界都知道
|
||||||
|
103
_config.yml
103
_config.yml
@@ -6,6 +6,7 @@ menu:
|
|||||||
标签: /tags
|
标签: /tags
|
||||||
旅行: /tags/旅行/
|
旅行: /tags/旅行/
|
||||||
摄影: http://shenyu-vip.lofter.com
|
摄影: http://shenyu-vip.lofter.com
|
||||||
|
友链: /friends
|
||||||
关于我: /2019/about
|
关于我: /2019/about
|
||||||
|
|
||||||
# 站点次标题和打字动效
|
# 站点次标题和打字动效
|
||||||
@@ -35,6 +36,12 @@ cover:
|
|||||||
# 页面顶部进度条
|
# 页面顶部进度条
|
||||||
progressBar: true
|
progressBar: true
|
||||||
|
|
||||||
|
# 告示板模块
|
||||||
|
broadcast:
|
||||||
|
enable: true # true开启,false关闭
|
||||||
|
type: 2 # 1:自定义输入,2:一言api(https://hitokoto.cn/)
|
||||||
|
text: 一个安静优雅的hexo主题,快速且响应式。 # type为1时有效
|
||||||
|
|
||||||
# 文章配置
|
# 文章配置
|
||||||
# 文章太长,截断按钮文字(在需要截断的行增加此标记:<!--more-->)
|
# 文章太长,截断按钮文字(在需要截断的行增加此标记:<!--more-->)
|
||||||
excerpt_link: 阅读更多...
|
excerpt_link: 阅读更多...
|
||||||
@@ -150,19 +157,51 @@ 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
|
||||||
|
|
||||||
# 是否显示页脚信息(建议保留)
|
# 是否显示页脚信息(建议保留)
|
||||||
pageFooter: true
|
pageFooter: true
|
||||||
|
|
||||||
#ICP备案信息尾部显示
|
# ICP备案信息尾部显示
|
||||||
icp:
|
icp:
|
||||||
enable: false
|
enable: false
|
||||||
url: "http://www.beian.miit.gov.cn/" # 备案链接
|
url: "http://www.beian.miit.gov.cn/" # 备案链接
|
||||||
text: "浙ICP备88888888" # 备案信息
|
text: "浙ICP备88888888" # 备案信息
|
||||||
|
# 公安备案信息尾部显示
|
||||||
|
gongan:
|
||||||
|
enable: false
|
||||||
|
img: /images/beian.png #公安备案图片
|
||||||
|
url: "http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=01234567890123" #公安备案链接
|
||||||
|
text: "浙公网安备01234567890123号" #公安备案信息
|
||||||
|
|
||||||
# 评论:1、Valine(推荐);2、Gitalk;3、MiniValine
|
# 友情链接
|
||||||
|
friends_link:
|
||||||
|
Ayer主题: #网站名称
|
||||||
|
#网站地址
|
||||||
|
url: https://github.com/Shen-Yu/hexo-theme-ayer
|
||||||
|
#网站图片(可忽略不写)
|
||||||
|
img: /images/ayer.png
|
||||||
|
GitHub:
|
||||||
|
url: https://github.com/Shen-Yu
|
||||||
|
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/github.png
|
||||||
|
码云:
|
||||||
|
url: https://gitee.com/shen-yu
|
||||||
|
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/gitee.png
|
||||||
|
Hexo官网:
|
||||||
|
url: https://hexo.io
|
||||||
|
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/hexo.png
|
||||||
|
Hexo图表插件:
|
||||||
|
url: https://github.com/Shen-Yu/hexo-tag-chart
|
||||||
|
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/hexo-tag-chart.png
|
||||||
|
|
||||||
|
# 评论:1、Valine(推荐);2、Gitalk;3、Twikoo; 4.MiniValine
|
||||||
|
|
||||||
# 1、Valine[一款快速、简洁且高效的无后端评论系统](https://github.com/xCss/Valine)
|
# 1、Valine[一款快速、简洁且高效的无后端评论系统](https://github.com/xCss/Valine)
|
||||||
# 启用Valine必须先创建leancloud应用, 获取 id|key 填入即可
|
# 启用Valine必须先创建leancloud应用, 获取 id|key 填入即可
|
||||||
@@ -185,42 +224,30 @@ gitalk:
|
|||||||
owner: # GitHub ID
|
owner: # GitHub ID
|
||||||
admin: # GitHub ID
|
admin: # GitHub ID
|
||||||
|
|
||||||
# 3、MiniValine
|
# 3、Twikoo(https://github.com/imaegoo/twikoo)
|
||||||
|
twikoo:
|
||||||
|
enable: false
|
||||||
|
envId: #
|
||||||
|
|
||||||
|
# 4、MiniValine
|
||||||
# See: https://github.com/MiniValine/MiniValine
|
# See: https://github.com/MiniValine/MiniValine
|
||||||
minivaline:
|
minivaline:
|
||||||
enable: false
|
enable: false
|
||||||
mode: DesertsP # DesertsP or xCss
|
# 更多选项 https://minivaline.js.org/docs/cn/#/Options 按照yml格式继续填写即可 (除了 [el] 选项)
|
||||||
placeholder: Write a Comment # Comment box placeholder
|
# emoticonUrl 等列表选项 可参考 https://github.com/MiniValine/hexo-next-minivaline
|
||||||
math: true # Support MathJax.
|
# 下面是一个例子:
|
||||||
md: true # Support Markdown.
|
serverURL: https://minivaline.your-domain.com
|
||||||
enableQQ: false # Enable QQ avatar API.
|
|
||||||
NoRecordIP: false # Do not record commenter IP.
|
# 首页广告配置
|
||||||
visitor: true # Article reading statistics.
|
# 可以根据需要自行增加ad_3,ad_4...,留空则不显示,建议图片和url不要带ad等关键词,否则可能会被adblock等插件屏蔽
|
||||||
maxNest: 6 # Sub-comment maximum nesting depth.
|
ads:
|
||||||
pageSize: 6 # Pagination size.
|
ad_1:
|
||||||
adminEmailMd5: de8a7aa53d07e6b6bceb45c64027763d # The MD5 of Admin Email to show Admin Flag.[Just Only DesertsP Style mode]
|
title: 腾讯云限时秒杀
|
||||||
tagMeta: # The String Array of Words to show Flag.[Just Only xCss Style mode]
|
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/ten_1.jpg
|
||||||
- 管理员
|
url: https://curl.qcloud.com/ezctH6FU
|
||||||
- 小伙伴
|
width: 300
|
||||||
- 访客
|
ad_2:
|
||||||
master: # The MD5 String Array of master Email to show master Flag.[Just Only xCss Style mode]
|
title: 云服务器全球购低至2折
|
||||||
- de8a7aa53d07e6b6bceb45c64027763d
|
img: https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/ten_2.jpg
|
||||||
friends: # The MD5 String Array of friends Email to show friends Flag.[Just Only xCss Style mode]
|
url: https://curl.qcloud.com/kvO7hb43
|
||||||
- b5bd5d836c7a0091aa8473e79ed4c25e
|
width: 300
|
||||||
- adb7d1cd192658a55c0ad22a3309cecf
|
|
||||||
- 3ce1e6c77b4910f1871106cb30dc62b0
|
|
||||||
- cfce8dc43725cc14ffcd9fb4892d5bfc
|
|
||||||
# MiniValine's display language depends on user's browser or system environment
|
|
||||||
# If you want everyone visiting your site to see a uniform language, you can set a force language value
|
|
||||||
# Available values: en | zh-CN | (and many more)
|
|
||||||
# More i18n info: https://github.com/MiniValine/minivaline-i18n
|
|
||||||
lang:
|
|
||||||
# Expression Url.
|
|
||||||
# https://github.com/MiniValine/MiniValine/blob/master/.github/FAQ.md#how-to-customize-emoticons
|
|
||||||
emoticonUrl:
|
|
||||||
- https://cdn.jsdelivr.net/npm/alus@latest
|
|
||||||
- https://cdn.jsdelivr.net/gh/MiniValine/qq@latest
|
|
||||||
- https://cdn.jsdelivr.net/gh/MiniValine/Bilibilis@latest
|
|
||||||
- https://cdn.jsdelivr.net/gh/MiniValine/tieba@latest
|
|
||||||
- https://cdn.jsdelivr.net/gh/MiniValine/twemoji@latest
|
|
||||||
- https://cdn.jsdelivr.net/gh/MiniValine/weibo@latest
|
|
||||||
|
2
index.js
Normal file
2
index.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// 这个文件用来防止 hexo 5.0.0以上 使用 "hexo clean" 命令报错。
|
||||||
|
// This file is used to prevent hexo above 5.0.0 from using "hexo clean" command error.
|
@@ -20,6 +20,7 @@ category: Kategorie
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Freunde
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Wortzahl
|
word_count: Wortzahl
|
||||||
|
@@ -20,6 +20,7 @@ category: Category
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Friends
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Word count
|
word_count: Word count
|
||||||
|
@@ -20,6 +20,7 @@ category: Category
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Friends
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Word count
|
word_count: Word count
|
||||||
|
@@ -20,6 +20,7 @@ category: Categoría
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Amigos
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: El recuento de palabras
|
word_count: El recuento de palabras
|
||||||
|
@@ -20,6 +20,7 @@ category: Catégorie
|
|||||||
tag: Mot-clé
|
tag: Mot-clé
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Mes amis
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Nombre de mots
|
word_count: Nombre de mots
|
||||||
|
@@ -20,6 +20,7 @@ category: カテゴリ
|
|||||||
tag: タグ
|
tag: タグ
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: 友達
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: 単語数
|
word_count: 単語数
|
||||||
|
@@ -20,6 +20,7 @@ category: 카테고리
|
|||||||
tag: 태그
|
tag: 태그
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: 친구 들
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: 단어 수
|
word_count: 단어 수
|
||||||
|
@@ -20,6 +20,7 @@ category: Categorie
|
|||||||
tag: Label
|
tag: Label
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Vrienden
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Aantal woorden in artikel
|
word_count: Aantal woorden in artikel
|
||||||
|
@@ -20,6 +20,7 @@ category: Category
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Venner
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Ordtelling
|
word_count: Ordtelling
|
||||||
|
@@ -20,6 +20,7 @@ category: Categoria
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Amigos
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Word count
|
word_count: Word count
|
||||||
|
@@ -20,6 +20,7 @@ category: Категория
|
|||||||
tag: Метка
|
tag: Метка
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: друзья
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Количество слов
|
word_count: Количество слов
|
||||||
|
@@ -20,6 +20,7 @@ category: Thể loại
|
|||||||
tag: thẻ
|
tag: thẻ
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: Bạn
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: Đếm từ
|
word_count: Đếm từ
|
||||||
|
@@ -20,6 +20,7 @@ category: Category
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: 访问人数
|
site_visitors: 访问人数
|
||||||
page_views: 浏览次数
|
page_views: 浏览次数
|
||||||
|
friends: 友情链接
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: 字数统计
|
word_count: 字数统计
|
||||||
|
@@ -20,6 +20,7 @@ category: Category
|
|||||||
tag: Tag
|
tag: Tag
|
||||||
site_visitors: Visitors
|
site_visitors: Visitors
|
||||||
page_views: Views
|
page_views: Views
|
||||||
|
friends: 友情鏈接
|
||||||
|
|
||||||
post:
|
post:
|
||||||
word_count: 字數統計
|
word_count: 字數統計
|
||||||
|
9
layout/_partial/ads.ejs
Normal file
9
layout/_partial/ads.ejs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<ul class="ads">
|
||||||
|
<% for (var i in theme.ads){ %>
|
||||||
|
<li>
|
||||||
|
<a href="<%= theme.ads[i].url %>">
|
||||||
|
<img src="<%= theme.ads[i].img %>" width="<%= theme.ads[i].width %>" alt="<%=theme.ads[i].title %>">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
@@ -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>
|
||||||
|
@@ -1,4 +1,10 @@
|
|||||||
<section class="outer">
|
<section class="outer">
|
||||||
|
<% if (theme.ads && theme.ads.length != 0){ %>
|
||||||
|
<%- partial('ads') %>
|
||||||
|
<% } %>
|
||||||
|
<% if (theme.broadcast.enable && pagination == 2){ %>
|
||||||
|
<%- partial('_partial/broadcast') %>
|
||||||
|
<% } %>
|
||||||
<article class="articles">
|
<article class="articles">
|
||||||
<%
|
<%
|
||||||
var title = '';
|
var title = '';
|
||||||
|
@@ -9,6 +9,7 @@
|
|||||||
<% if (post.link || post.title){ %>
|
<% if (post.link || post.title){ %>
|
||||||
<header class="article-header">
|
<header class="article-header">
|
||||||
<%- partial('post/title', {class_name: 'article-title'}) %>
|
<%- partial('post/title', {class_name: 'article-title'}) %>
|
||||||
|
<%- partial('post/author', {class_name: 'article-author'}) %>
|
||||||
</header>
|
</header>
|
||||||
<% } %> <% if (index || is_post()) { %>
|
<% } %> <% if (index || is_post()) { %>
|
||||||
<div class="article-meta">
|
<div class="article-meta">
|
||||||
@@ -47,7 +48,11 @@
|
|||||||
<li>
|
<li>
|
||||||
<i class="ri-copyright-line"></i>
|
<i class="ri-copyright-line"></i>
|
||||||
<strong><%= __('post.copyright_title') %>: </strong>
|
<strong><%= __('post.copyright_title') %>: </strong>
|
||||||
|
<% if (post.copyright_content) { %>
|
||||||
|
<%= post.copyright_content %>
|
||||||
|
<% } else { %>
|
||||||
<%= __('post.copyright_content') %>
|
<%= __('post.copyright_content') %>
|
||||||
|
<% } %>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -63,5 +68,5 @@
|
|||||||
post.slug, title: post.title, url: config.url+url_for(post.path) }) %> <% } %>
|
post.slug, title: post.title, url: config.url+url_for(post.path) }) %> <% } %>
|
||||||
<% if (is_post()) { %> <%- partial('post/gitalk') %> <% } %> <% if
|
<% if (is_post()) { %> <%- partial('post/gitalk') %> <% } %> <% if
|
||||||
(theme.minivaline && theme.minivaline.enable && !post.no_minivaline){ %> <%-
|
(theme.minivaline && theme.minivaline.enable && !post.no_minivaline){ %> <%-
|
||||||
partial('post/minivaline') %> <% } %>
|
partial('post/minivaline') %> <% } %> <% if (is_post()) { %> <%- partial('post/twikoo') %> <% } %>
|
||||||
</article>
|
</article>
|
||||||
|
46
layout/_partial/broadcast.ejs
Normal file
46
layout/_partial/broadcast.ejs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<% if (theme.broadcast.type===1 && theme.broadcast.text){ %>
|
||||||
|
<div class="notice" style="margin-top:50px">
|
||||||
|
<i class="ri-heart-fill"></i>
|
||||||
|
<div class="notice-content"><%= theme.broadcast.text %></div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
<% if (theme.broadcast.type===2){ %>
|
||||||
|
<div class="notice" style="margin-top:50px">
|
||||||
|
<i class="ri-heart-fill"></i>
|
||||||
|
<div class="notice-content" id="broad"></div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
fetch('https://v1.hitokoto.cn')
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
document.getElementById("broad").innerHTML = data.hitokoto;
|
||||||
|
})
|
||||||
|
.catch(console.error)
|
||||||
|
</script>
|
||||||
|
<% } %>
|
||||||
|
<style>
|
||||||
|
.notice {
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px dashed #e6e6e6;
|
||||||
|
color: #969696;
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
background: #fbfbfb50;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notice i {
|
||||||
|
float: left;
|
||||||
|
color: #999;
|
||||||
|
font-size: 16px;
|
||||||
|
padding-right: 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-top: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notice-content {
|
||||||
|
display: initial;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
</style>
|
@@ -29,7 +29,15 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<% if (theme.icp&&theme.icp.enable){ %>
|
<% if (theme.icp&&theme.icp.enable){ %>
|
||||||
<li>
|
<li>
|
||||||
<a href="<%= theme.icp.url %>" target="_black"><%= theme.icp.text %></a>
|
<a href="<%= theme.icp.url %>" target="_black" rel="nofollow"><%= theme.icp.text %></a>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<% if (theme.gongan&&theme.gongan.enable){ %>
|
||||||
|
<li>
|
||||||
|
<img src="<%= theme.gongan.img %>"></img>
|
||||||
|
<a href="<%= theme.gongan.url %>" target="_black" rel="nofollow"><%= theme.gongan.text %></a>
|
||||||
</li>
|
</li>
|
||||||
<% } %>
|
<% } %>
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -2,18 +2,21 @@
|
|||||||
|
|
||||||
<% if (config.language){ %>
|
<% if (config.language){ %>
|
||||||
<html lang="<%= config.language %>">
|
<html lang="<%= config.language %>">
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<% }%>
|
<% }%>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<% var title = page.title; if (is_archive()) { title = __('archive_a'); if
|
<% var title = page.title; if (is_archive()) { title = __('archive_a'); if
|
||||||
(is_month()) { title += ': ' + page.year + '/' + page.month; } else if
|
(is_month()) { title += ': ' + page.year + '/' + page.month; } else if
|
||||||
(is_year()) { title += ': ' + page.year; } } else if (is_category()) { title
|
(is_year()) { title += ': ' + page.year; } } else if (is_category()) {
|
||||||
= page.category; } else if (is_tag()) {
|
title = page.category; } else if (is_tag()) { title = __('tag') + ': ' +
|
||||||
title = __('tag') + ': ' + page.tag; } %> <% if (page.keywords){ %>
|
page.tag; } %> <% if (page.keywords){ %>
|
||||||
<meta name="keywords" content="<%= page.keywords %>,<%= config.keywords %>" />
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="<%= page.keywords %>,<%= config.keywords %>"
|
||||||
|
/>
|
||||||
<% } else if (config.keywords){ %>
|
<% } else if (config.keywords){ %>
|
||||||
<meta name="keywords" content="<%= config.keywords %>" />
|
<meta name="keywords" content="<%= config.keywords %>" />
|
||||||
<% } %> <% if (page.description){ %>
|
<% } %> <% if (page.description){ %>
|
||||||
@@ -21,21 +24,26 @@
|
|||||||
<% } else if (config.description){ %>
|
<% } else if (config.description){ %>
|
||||||
<meta name="description" content="<%= config.description %>" />
|
<meta name="description" content="<%= config.description %>" />
|
||||||
<% } %>
|
<% } %>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
<meta
|
||||||
<title>
|
name="viewport"
|
||||||
<% if (title){ %><%= title %> | <% } %> <%= config.description %>
|
content="width=device-width, initial-scale=1, maximum-scale=1"
|
||||||
</title>
|
/>
|
||||||
|
<title><% if (title){ %><%= title %> | <% } %> <%= config.title %></title>
|
||||||
<% if (theme.favicon){ %>
|
<% if (theme.favicon){ %>
|
||||||
<link rel="shortcut icon" href="<%- 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>
|
||||||
<% } %>
|
<% } %>
|
||||||
<%- css('dist/main') %>
|
</head>
|
||||||
<%- css('https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min') %>
|
</html>
|
||||||
<%- css('css/custom') %>
|
|
||||||
<% if (theme.progressBar){ %>
|
|
||||||
<%- js('https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min') %>
|
|
||||||
<% } %>
|
|
||||||
<%- partial('google-analytics') %>
|
|
||||||
<%- partial('baidu-analytics') %>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
</html>
|
</html>
|
8
layout/_partial/post/author.ejs
Normal file
8
layout/_partial/post/author.ejs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<% if (post.authors && post.authors.length){ %>
|
||||||
|
<div class="<%= class_name %>" <% if (!index){ %> style="text-align: center" <% }%>>
|
||||||
|
作者:<% for (var i = 0; i < post.authors.length - 1; i++) { %>
|
||||||
|
<%= post.authors[i]%> ,
|
||||||
|
<% }%> <%= post.authors[post.authors.length - 1] %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% } %>
|
@@ -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) { %>
|
<% 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({
|
||||||
|
@@ -1,32 +1,13 @@
|
|||||||
<% if (!index && theme.leancloud && theme.leancloud.enable){ %>
|
<% if (!index && post.comments){ %>
|
||||||
<!-- minivaline评论 -->
|
<!-- minivaline评论 -->
|
||||||
<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@2/dist/MiniValine.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/minivaline@6"></script>
|
||||||
<script>
|
<script>
|
||||||
new MiniValine({
|
new MiniValine(Object.assign(<%- JSON.stringify(theme.minivaline) %>, {
|
||||||
el: '#mvcomments',
|
el: '#mvcomments',
|
||||||
appId: '<%- theme.leancloud.app_id %>',
|
}));
|
||||||
appKey: '<%- theme.leancloud.app_key %>',
|
|
||||||
mode: '<%- theme.minivaline.mode %>',
|
|
||||||
placeholder: '<%- theme.minivaline.placeholder %>',
|
|
||||||
pathname: window.location.pathname,
|
|
||||||
lang: '<%- theme.minivaline.lang %>',
|
|
||||||
adminEmailMd5: '<%- theme.minivaline.adminEmailMd5 %>',
|
|
||||||
tagMeta: <%- '["' + theme.minivaline.tagMeta.join('", "') + '"]' %>,
|
|
||||||
master: <%- '["' + theme.minivaline.master.join('", "') + '"]' %>,
|
|
||||||
friends: <%- '["' + theme.minivaline.friends.join('", "') + '"]' %>,
|
|
||||||
math: <%- theme.minivaline.math %>,
|
|
||||||
md: <%- theme.minivaline.md %>,
|
|
||||||
enableQQ: <%- theme.minivaline.enableQQ %>,
|
|
||||||
NoRecordIP: <%- theme.minivaline.NoRecordIP %>,
|
|
||||||
visitor: <%- theme.minivaline.visitor %>,
|
|
||||||
maxNest: <%- theme.minivaline.maxNest %>,
|
|
||||||
pageSize: <%- theme.minivaline.pageSize %>,
|
|
||||||
serverURLs: '<%- theme.minivaline.serverURLs %>',
|
|
||||||
emoticonUrl: <%- '["' + theme.minivaline.emoticonUrl.join('", "') + '"]' %>,
|
|
||||||
});
|
|
||||||
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) {
|
||||||
@@ -38,51 +19,29 @@
|
|||||||
#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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:root .darkmode {
|
||||||
.v .vlist .vcard .vh {
|
--ohhho-color-p: #bbb;
|
||||||
padding-right: 20px;
|
--ohhho-color-text: #fff;
|
||||||
|
--ohhho-color-card: #252d38;
|
||||||
|
--ohhho-color-block: rgba(68, 68, 68, 0.65);
|
||||||
|
--ohhho-expand-before-background: linear-gradient(
|
||||||
|
180deg,
|
||||||
|
rgba(246, 246, 246, 0),
|
||||||
|
rgba(0, 0, 0, 0.9)
|
||||||
|
);
|
||||||
|
--ohhho-expand-after-background: rgba(0, 0, 0, 0.9);
|
||||||
}
|
}
|
||||||
|
.darkmode .ohhho pre {
|
||||||
.v .vlist .vcard {
|
background: #888;
|
||||||
padding-left: 10px;
|
border: 1px solid var(--ohhho-color-block);
|
||||||
}
|
}
|
||||||
|
.darkmode .ohhho .vlist .vcard .vcomment-body .vhead {
|
||||||
.darkmode .commentTrigger{
|
filter: brightness(85%);
|
||||||
background-color: #403e3e !important;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vpage .more{
|
|
||||||
background: #21232F
|
|
||||||
}
|
|
||||||
.darkmode img{
|
|
||||||
filter: brightness(30%)
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vlist .vcard .vcomment-body .text-wrapper .vcomment.expand:before{
|
|
||||||
background: linear-gradient(180deg, rgba(246,246,246,0), rgba(0,0,0,0.9))
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vlist .vcard .vcomment-body .text-wrapper .vcomment.expand:after{
|
|
||||||
background: rgba(0,0,0,0.9)
|
|
||||||
}
|
|
||||||
.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 .info .col .count{
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
.darkmode .MiniValine .vinputs-area .vextra-area .vsmile-icons{
|
|
||||||
background: transparent;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
9
layout/_partial/post/twikoo.ejs
Normal file
9
layout/_partial/post/twikoo.ejs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<% if (!index && theme.twikoo && theme.twikoo.enable){ %>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/twikoo/dist/twikoo.all.min.js"></script>
|
||||||
|
<div id="twikoo" class="twikoo"></div>
|
||||||
|
<script>
|
||||||
|
twikoo.init({
|
||||||
|
envId: "<%- theme.twikoo.envId %>"
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<% } %>
|
@@ -1,4 +1,4 @@
|
|||||||
<% if (!index && theme.leancloud && theme.leancloud.enable){ %>
|
<% if (!index && theme.leancloud && theme.leancloud.enable && post.comments){ %>
|
||||||
<!-- valine评论 -->
|
<!-- valine评论 -->
|
||||||
<div id="vcomments-box">
|
<div id="vcomments-box">
|
||||||
<div id="vcomments"></div>
|
<div id="vcomments"></div>
|
||||||
|
20
layout/friends.ejs
Normal file
20
layout/friends.ejs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<section class="outer">
|
||||||
|
<% if(theme.friends_link && theme.friends_link.length != 0){ %>
|
||||||
|
<h1 class="page-type-title"><%= __('friends') %></h1>
|
||||||
|
<ul id="friends_link">
|
||||||
|
<% for (var i in theme.friends_link){ %>
|
||||||
|
<li class="friends_li">
|
||||||
|
<a href="<%- url_for(theme.friends_link[i].url) %>" target="_blank" class="search-title"
|
||||||
|
<% if (theme.friends_link[i].description){ %>title="<%= theme.friends_link[i].description %>" <% } %>>
|
||||||
|
<% if (theme.friends_link[i].img){ %>
|
||||||
|
<img src="<%- url_for(theme.friends_link[i].img) %>">
|
||||||
|
<% } else { %>
|
||||||
|
<i class="ri-user-fill"></i>
|
||||||
|
<% } %>
|
||||||
|
<%= i %>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
<%}%>
|
||||||
|
</section>
|
@@ -28,12 +28,6 @@
|
|||||||
<aside class="sidebar on">
|
<aside class="sidebar on">
|
||||||
<%- partial('_partial/sidebar') %>
|
<%- partial('_partial/sidebar') %>
|
||||||
</aside>
|
</aside>
|
||||||
<script>
|
|
||||||
if (window.matchMedia("(max-width: 768px)").matches) {
|
|
||||||
document.querySelector('.content').classList.remove('on');
|
|
||||||
document.querySelector('.sidebar').classList.remove('on');
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<%- partial('_partial/modal') %>
|
<%- partial('_partial/modal') %>
|
||||||
<%- partial('_partial/after-footer') %>
|
<%- partial('_partial/after-footer') %>
|
||||||
|
|
||||||
|
4
layout/plain-page.ejs
Normal file
4
layout/plain-page.ejs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<section class="outer">
|
||||||
|
<h1 class="page-type-title"><%= page.title %></h1>
|
||||||
|
<%- page.content %>
|
||||||
|
</section>
|
12
move_config.js
Normal file
12
move_config.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
const fs = require('fs')
|
||||||
|
|
||||||
|
if (fs.existsSync('../hexo/package.json')) {
|
||||||
|
const version = JSON.parse(fs.readFileSync('../hexo/package.json')).version
|
||||||
|
if (version.split('.')[0] === '5') {
|
||||||
|
const configPath = '../../_config.ayer.yml'
|
||||||
|
if (!fs.existsSync(configPath)) {
|
||||||
|
fs.writeFileSync(configPath, fs.readFileSync('./_config.yml'))
|
||||||
|
}
|
||||||
|
fs.unlinkSync('./_config.yml')
|
||||||
|
}
|
||||||
|
}
|
26
package.json
26
package.json
@@ -1,10 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "ayer",
|
"name": "hexo-theme-ayer",
|
||||||
"version": "1.8.0",
|
"version": "1.8.23",
|
||||||
"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": "parcel serve source-src/main.js -d source/dist",
|
||||||
"build": "rimraf source/dist && parcel build source-src/main.js -d source/dist --no-source-maps"
|
"build": "rimraf source/dist && parcel build source-src/main.js -d source/dist --no-source-maps",
|
||||||
|
"postinstall": "node ./move_config.js",
|
||||||
|
"test": "stylint source-src/css/style.styl -c .stylintrc"
|
||||||
},
|
},
|
||||||
"source": "source-src/main.js",
|
"source": "source-src/main.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -17,16 +19,18 @@
|
|||||||
"blog",
|
"blog",
|
||||||
"ayer"
|
"ayer"
|
||||||
],
|
],
|
||||||
"author": "Shen-Yu",
|
"author": "Shen-Yu <shenyu@hotmail.com>",
|
||||||
"license": "SATA",
|
"license": "SATA",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/Shen-Yu/hexo-theme-ayer/issues"
|
"url": "https://github.com/Shen-Yu/hexo-theme-ayer/issues",
|
||||||
|
"email": "shenyu@hotmail.com"
|
||||||
},
|
},
|
||||||
"homepage": ".",
|
"homepage": "https://shen-yu.gitee.io/",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^9.7.4",
|
"autoprefixer": "^9.8.6",
|
||||||
"parcel-bundler": "^1.12.4",
|
"cssnano": "^4.1.10",
|
||||||
"postcss-modules": "^1.5.0"
|
"parcel-bundler": "^1.12.5",
|
||||||
},
|
"postcss-modules": "^1.5.0",
|
||||||
"dependencies": {}
|
"stylint": "^2.0.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
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
|
||||||
|
};
|
@@ -31,3 +31,8 @@ darkmode()
|
|||||||
color: #ccc;
|
color: #ccc;
|
||||||
input::-ms-input-placeholder
|
input::-ms-input-placeholder
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
|
.categories-box a
|
||||||
|
color: #f2f2f2;
|
||||||
|
#friends_link .friends_li a
|
||||||
|
background-color rgba(255,255,255,.15)
|
||||||
|
color: #fff;
|
15
source-src/css/_partial/ads.styl
Normal file
15
source-src/css/_partial/ads.styl
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
.ads
|
||||||
|
position absolute
|
||||||
|
right 0
|
||||||
|
top 50px
|
||||||
|
z-index 2
|
||||||
|
transform translateX(110%)
|
||||||
|
ul,li
|
||||||
|
list-unstyled()
|
||||||
|
img
|
||||||
|
display block
|
||||||
|
margin-bottom 15px
|
||||||
|
|
||||||
|
@media (max-width: 768px)
|
||||||
|
.ads
|
||||||
|
display none
|
@@ -106,6 +106,13 @@
|
|||||||
color body-color
|
color body-color
|
||||||
padding-left 2rem
|
padding-left 2rem
|
||||||
border-left 4px solid body-color
|
border-left 4px solid body-color
|
||||||
|
.article-author
|
||||||
|
display block
|
||||||
|
font-size 20px
|
||||||
|
margin-bottom 3rem
|
||||||
|
text-decoration none
|
||||||
|
color body-color
|
||||||
|
padding-left 2rem
|
||||||
|
|
||||||
.article-footer
|
.article-footer
|
||||||
clearfix()
|
clearfix()
|
||||||
|
@@ -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
|
||||||
|
29
source-src/css/_partial/friends.styl
Normal file
29
source-src/css/_partial/friends.styl
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
// friends
|
||||||
|
#friends_link
|
||||||
|
.friends_li
|
||||||
|
list-style none
|
||||||
|
float left
|
||||||
|
a
|
||||||
|
padding 15px 25px
|
||||||
|
display flex
|
||||||
|
align-items center
|
||||||
|
justify-content space-between
|
||||||
|
font-size 17px
|
||||||
|
text-decoration none
|
||||||
|
background-color rgba(6,129,208,.1)
|
||||||
|
color #000
|
||||||
|
border-radius 6px
|
||||||
|
margin-right 20px
|
||||||
|
margin-bottom 20px
|
||||||
|
img
|
||||||
|
display inline-block
|
||||||
|
width 40px
|
||||||
|
height 40px
|
||||||
|
border-radius 50%
|
||||||
|
margin-right 10px
|
||||||
|
i
|
||||||
|
font-size 25px
|
||||||
|
width 40px
|
||||||
|
height 40px
|
||||||
|
&:hover
|
||||||
|
background-color rgba(6,129,208,.15)
|
@@ -74,6 +74,9 @@
|
|||||||
.local-search
|
.local-search
|
||||||
width 100%
|
width 100%
|
||||||
|
|
||||||
|
#main
|
||||||
|
position relative
|
||||||
|
|
||||||
|
|
||||||
// Media Query
|
// Media Query
|
||||||
@media (min-width: 768px)
|
@media (min-width: 768px)
|
||||||
|
@@ -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
|
||||||
|
@@ -30,7 +30,7 @@ body
|
|||||||
margin 0
|
margin 0
|
||||||
overflow-x hidden
|
overflow-x hidden
|
||||||
text-size-adjust 100%
|
text-size-adjust 100%
|
||||||
// Dark Mode
|
//Dark Mode
|
||||||
&.darkmode
|
&.darkmode
|
||||||
darkmode()
|
darkmode()
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ img
|
|||||||
max-width 100%
|
max-width 100%
|
||||||
|
|
||||||
button
|
button
|
||||||
outline: none
|
outline: 0
|
||||||
cursor pointer
|
cursor pointer
|
||||||
|
|
||||||
@import "_extend"
|
@import "_extend"
|
||||||
@@ -71,11 +71,13 @@ button
|
|||||||
@import "_partial/apple"
|
@import "_partial/apple"
|
||||||
@import "_partial/reward"
|
@import "_partial/reward"
|
||||||
@import "_partial/share"
|
@import "_partial/share"
|
||||||
|
@import "_partial/friends"
|
||||||
|
@import "_partial/ads"
|
||||||
|
|
||||||
if sidebar
|
if sidebar
|
||||||
@import "_partial/sidebar"
|
@import "_partial/sidebar"
|
||||||
|
|
||||||
// Media Query
|
//Media Query
|
||||||
@media (max-width: 768px)
|
@media (max-width: 768px)
|
||||||
html
|
html
|
||||||
font-size: 60%
|
font-size: 60%
|
@@ -1,6 +1,6 @@
|
|||||||
(function ($) {
|
(function ($) {
|
||||||
// Search
|
// Search
|
||||||
let $searchWrap = $('.search-form-wrap'),
|
let $searchWrap = $(".search-form-wrap"),
|
||||||
isSearchAnim = false,
|
isSearchAnim = false,
|
||||||
searchAnimDuration = 200;
|
searchAnimDuration = 200;
|
||||||
|
|
||||||
@@ -15,26 +15,26 @@
|
|||||||
}, searchAnimDuration);
|
}, searchAnimDuration);
|
||||||
};
|
};
|
||||||
|
|
||||||
$('.nav-item-search').click(() => {
|
$(".nav-item-search").click(() => {
|
||||||
if (isSearchAnim) return;
|
if (isSearchAnim) return;
|
||||||
startSearchAnim();
|
startSearchAnim();
|
||||||
$searchWrap.addClass('on');
|
$searchWrap.addClass("on");
|
||||||
stopSearchAnim(function () {
|
stopSearchAnim(function () {
|
||||||
$('.local-search-input').focus();
|
$(".local-search-input").focus();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).mouseup((e) => {
|
$(document).mouseup((e) => {
|
||||||
const _con = $('.local-search');
|
const _con = $(".local-search");
|
||||||
if (!_con.is(e.target) && _con.has(e.target).length === 0) {
|
if (!_con.is(e.target) && _con.has(e.target).length === 0) {
|
||||||
$searchWrap.removeClass('on');
|
$searchWrap.removeClass("on");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 建议在移动端不初始化,其实 /search.xml 文件还挺大的,
|
// Not recommended in mobile, /search.xml is actually large.
|
||||||
if ($('.local-search').size()) {
|
if ($(".local-search").size()) {
|
||||||
$.getScript('/js/search.js', function () {
|
$.getScript("/js/search.js", function () {
|
||||||
searchFunc("/search.xml", 'local-search-input', 'local-search-result');
|
searchFunc("/search.xml", "local-search-input", "local-search-result");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,29 +56,35 @@
|
|||||||
return navigator.userAgent.match(/IEMobile/i);
|
return navigator.userAgent.match(/IEMobile/i);
|
||||||
},
|
},
|
||||||
any: function () {
|
any: function () {
|
||||||
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
|
return (
|
||||||
}
|
isMobile.Android() ||
|
||||||
|
isMobile.BlackBerry() ||
|
||||||
|
isMobile.iOS() ||
|
||||||
|
isMobile.Opera() ||
|
||||||
|
isMobile.Windows()
|
||||||
|
);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// Share
|
// Share
|
||||||
$('.share-outer').click(() => $('.share-wrap').fadeToggle())
|
$(".share-outer").click(() => $(".share-wrap").fadeToggle());
|
||||||
|
|
||||||
// Lazyload
|
// Lazyload
|
||||||
$("img.lazy").lazyload({
|
$("img.lazy").lazyload({
|
||||||
effect: "fadeIn"
|
effect: "fadeIn",
|
||||||
});
|
});
|
||||||
|
|
||||||
// JustifiedGallery
|
// JustifiedGallery
|
||||||
$('#gallery').justifiedGallery({
|
$("#gallery").justifiedGallery({
|
||||||
rowHeight: 200,
|
rowHeight: 200,
|
||||||
margins: 5
|
margins: 5,
|
||||||
});
|
});
|
||||||
|
|
||||||
// ScrollDown
|
// ScrollDown
|
||||||
$(document).ready(function ($) {
|
$(document).ready(function ($) {
|
||||||
$('.anchor').click(function (e) {
|
$(".anchor").click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('main').animate({ scrollTop: $('.cover').height() }, 'smooth');
|
$("main").animate({ scrollTop: $(".cover").height() }, "smooth");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -89,17 +95,17 @@
|
|||||||
const upperLimit = 1000;
|
const upperLimit = 1000;
|
||||||
|
|
||||||
// Our scroll link element
|
// Our scroll link element
|
||||||
const scrollElem = $('#totop');
|
const scrollElem = $("#totop");
|
||||||
|
|
||||||
// Scroll to top speed
|
// Scroll to top speed
|
||||||
const scrollSpeed = 1000;
|
const scrollSpeed = 1000;
|
||||||
|
|
||||||
// Show and hide the scroll to top link based on scroll position
|
// Show and hide the scroll to top link based on scroll position
|
||||||
scrollElem.hide();
|
scrollElem.hide();
|
||||||
$('.content').scroll(function () {
|
$(".content").scroll(function () {
|
||||||
const scrollTop = $('.content').scrollTop();
|
const scrollTop = $(".content").scrollTop();
|
||||||
if (scrollTop > upperLimit) {
|
if (scrollTop > upperLimit) {
|
||||||
$(scrollElem).stop().fadeTo(200, .6); // fade back in
|
$(scrollElem).stop().fadeTo(200, 0.6); // fade back in
|
||||||
} else {
|
} else {
|
||||||
$(scrollElem).stop().fadeTo(200, 0); // fade out
|
$(scrollElem).stop().fadeTo(200, 0); // fade out
|
||||||
}
|
}
|
||||||
@@ -107,63 +113,64 @@
|
|||||||
|
|
||||||
// Scroll to top animation on click
|
// Scroll to top animation on click
|
||||||
$(scrollElem).click(function () {
|
$(scrollElem).click(function () {
|
||||||
$('.content').animate({ scrollTop: 0 }, scrollSpeed); return false;
|
$(".content").animate({ scrollTop: 0 }, scrollSpeed);
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Mobile Nav
|
// Mobile Nav
|
||||||
const $content = $('.content'),
|
const $content = $(".content"),
|
||||||
$sidebar = $('.sidebar');
|
$sidebar = $(".sidebar");
|
||||||
|
|
||||||
$('.navbar-toggle').on('click', function () {
|
$(".navbar-toggle").on("click", function () {
|
||||||
$('.content,.sidebar').addClass('anim')
|
$(".content,.sidebar").addClass("anim");
|
||||||
$content.toggleClass('on');
|
$content.toggleClass("on");
|
||||||
$sidebar.toggleClass('on');
|
$sidebar.toggleClass("on");
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reward
|
// Reward
|
||||||
$('#reward-btn').click(() => {
|
$("#reward-btn").click(() => {
|
||||||
$('#reward').fadeIn(150)
|
$("#reward").fadeIn(150);
|
||||||
$('#mask').fadeIn(150)
|
$("#mask").fadeIn(150);
|
||||||
|
});
|
||||||
|
$("#reward .close, #mask").click(() => {
|
||||||
|
$("#mask").fadeOut(100);
|
||||||
|
$("#reward").fadeOut(100);
|
||||||
});
|
});
|
||||||
$('#reward .close, #mask').click(() => {
|
|
||||||
$('#mask').fadeOut(100)
|
|
||||||
$('#reward').fadeOut(100)
|
|
||||||
})
|
|
||||||
|
|
||||||
// DarkMode
|
// DarkMode
|
||||||
if (sessionStorage.getItem('darkmode') == 1) {
|
if (sessionStorage.getItem("darkmode") == 1) {
|
||||||
$('body').addClass('darkmode')
|
$("body").addClass("darkmode");
|
||||||
$('#todark i').removeClass('ri-moon-line').addClass('ri-sun-line')
|
$("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line");
|
||||||
} else {
|
} else {
|
||||||
$('body').removeClass('darkmode')
|
$("body").removeClass("darkmode");
|
||||||
$('#todark i').removeClass('ri-sun-line').addClass('ri-moon-line')
|
$("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line");
|
||||||
}
|
}
|
||||||
$('#todark').click(() => {
|
$("#todark").click(() => {
|
||||||
if (sessionStorage.getItem('darkmode') == 1) {
|
if (sessionStorage.getItem("darkmode") == 1) {
|
||||||
$('body').removeClass('darkmode')
|
$("body").removeClass("darkmode");
|
||||||
$('#todark i').removeClass('ri-sun-line').addClass('ri-moon-line')
|
$("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line");
|
||||||
sessionStorage.removeItem('darkmode')
|
sessionStorage.removeItem("darkmode");
|
||||||
} else {
|
} else {
|
||||||
$('body').addClass('darkmode')
|
$("body").addClass("darkmode");
|
||||||
$('#todark i').removeClass('ri-moon-line').addClass('ri-sun-line')
|
$("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line");
|
||||||
sessionStorage.setItem('darkmode', 1)
|
sessionStorage.setItem("darkmode", 1);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
// showThemeInConsole
|
// ShowThemeInConsole
|
||||||
const ayerInfo = '主题不错?⭐star 支持一下 ->';
|
const ayerInfo = "主题不错?⭐star 支持一下 ->";
|
||||||
const ayerURL = 'https://github.com/Shen-Yu/hexo-theme-ayer';
|
const ayerURL = "https://github.com/Shen-Yu/hexo-theme-ayer";
|
||||||
const ayerNameStr =
|
const ayerNameStr =
|
||||||
'\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ \| | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n';
|
"\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n";
|
||||||
const ayerInfoStyle =
|
const ayerInfoStyle =
|
||||||
'background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;';
|
"background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;";
|
||||||
const ayerURLStyle =
|
const ayerURLStyle =
|
||||||
'background-color: #ffbca2; padding: 8px; font-size: 14px;';
|
"background-color: #ffbca2; padding: 8px; font-size: 14px;";
|
||||||
const ayerNameStyle = 'background-color: #eaf8ff;';
|
const ayerNameStyle = "background-color: #eaf8ff;";
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
'%c%s%c%s%c%s',
|
"%c%s%c%s%c%s",
|
||||||
ayerInfoStyle,
|
ayerInfoStyle,
|
||||||
ayerInfo,
|
ayerInfo,
|
||||||
ayerURLStyle,
|
ayerURLStyle,
|
||||||
@@ -171,7 +178,31 @@
|
|||||||
ayerNameStyle,
|
ayerNameStyle,
|
||||||
ayerNameStr
|
ayerNameStr
|
||||||
);
|
);
|
||||||
document.write('<script type="text/javascript" src="https://js.users.51.la/20544303.js"></script>');
|
|
||||||
})(jQuery);
|
})(jQuery);
|
||||||
|
|
||||||
|
// Tracking
|
||||||
|
!(function (p) {
|
||||||
|
"use strict";
|
||||||
|
!(function (t) {
|
||||||
|
var s = window,
|
||||||
|
e = document,
|
||||||
|
i = p,
|
||||||
|
c = "".concat(
|
||||||
|
"https:" === e.location.protocol ? "https://" : "http://",
|
||||||
|
"sdk.51.la/js-sdk-pro.min.js"
|
||||||
|
),
|
||||||
|
n = e.createElement("script"),
|
||||||
|
r = e.getElementsByTagName("script")[0];
|
||||||
|
(n.type = "text/javascript"),
|
||||||
|
n.setAttribute("charset", "UTF-8"),
|
||||||
|
(n.async = !0),
|
||||||
|
(n.src = c),
|
||||||
|
(n.id = "LA_COLLECT"),
|
||||||
|
(i.d = n);
|
||||||
|
var o = function () {
|
||||||
|
s.LA.ids.push(i);
|
||||||
|
};
|
||||||
|
s.LA ? s.LA.ids && o() : ((s.LA = p), (s.LA.ids = []), o()),
|
||||||
|
r.parentNode.insertBefore(n, r);
|
||||||
|
})();
|
||||||
|
})({ id: "JGjrOr2rebvP6q2a", ck: "JGjrOr2rebvP6q2a" });
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
|
|
||||||
function generate(url, opts) {
|
function generate(url, opts) {
|
||||||
var url = url.replace(/<%-sUrl%>/g, encodeURIComponent(opts.sUrl))
|
var url = url.replace(/<%-sUrl%>/g, encodeURIComponent(opts.sUrl))
|
||||||
.replace(/<%-sTitle%>/g, opts.sTitle)
|
.replace(/<%-sTitle%>/g, encodeURIComponent(opts.sTitle))
|
||||||
.replace(/<%-sDesc%>/g, opts.sDesc)
|
.replace(/<%-sDesc%>/g, encodeURIComponent(opts.sDesc))
|
||||||
.replace(/<%-sPic%>/g, encodeURIComponent(opts.sPic));
|
.replace(/<%-sPic%>/g, encodeURIComponent(opts.sPic));
|
||||||
|
|
||||||
window.open(url);
|
window.open(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +29,7 @@ function handleClick(type, opts) {
|
|||||||
} else if (type === 'facebook') {
|
} else if (type === 'facebook') {
|
||||||
generate('https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>', opts)
|
generate('https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>', opts)
|
||||||
} else if (type === 'twitter') {
|
} else if (type === 'twitter') {
|
||||||
generate('https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>&via=<%-config.url%>', opts)
|
generate('https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>', opts)
|
||||||
} else if (type === 'google') {
|
} else if (type === 'google') {
|
||||||
generate('https://plus.google.com/share?url=<%-sUrl%>', opts)
|
generate('https://plus.google.com/share?url=<%-sUrl%>', opts)
|
||||||
} else if (type === 'weixin') {
|
} else if (type === 'weixin') {
|
||||||
|
@@ -1,12 +1,14 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
<head>
|
||||||
<head>
|
<meta charset="UTF-8" />
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>404</title>
|
<title>404</title>
|
||||||
<meta name="keywords" content="Hexo,Ayer,404,Design">
|
<meta name="keywords" content="Hexo,Ayer,404,Design" />
|
||||||
<meta name="description" content="hexo theme ayer page 404.">
|
<meta name="description" content="hexo theme ayer page 404." />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1, maximum-scale=1"
|
||||||
|
/>
|
||||||
<style>
|
<style>
|
||||||
html,
|
html,
|
||||||
figure {
|
figure {
|
||||||
@@ -36,7 +38,7 @@
|
|||||||
margin-left: 50%;
|
margin-left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
border-radius: 5%;
|
border-radius: 5%;
|
||||||
opacity: .8;
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 768px) {
|
||||||
@@ -45,24 +47,33 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="notfound">
|
<div class="notfound">
|
||||||
<a class="notfound-link" href="/">
|
<a class="notfound-link" href="/">
|
||||||
<img width="40"
|
<img
|
||||||
src="data:image/png;base64,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">
|
width="40"
|
||||||
|
src="data:image/png;base64,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"
|
||||||
|
/>
|
||||||
</a>
|
</a>
|
||||||
<figure class="forrestgump">
|
<figure class="forrestgump">
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<h1>404<br>Not Found!</h1>
|
<h1>404<br />Not Found!</h1>
|
||||||
<h3>Life was like a journey on the sea, you never know what you're going to get.</h3>
|
<h3>
|
||||||
<h3>亲,获取不到该路径的页面呢,请检查一下哦,可能你还需要仔细阅读 <a href="https://hexo.io/docs/">Hexo</a> 和 <a
|
Please check it, Maybe you should read
|
||||||
href="https://shen-yu.gitee.io/2019/ayer/">Ayer</a> 的说明文档~</h3>
|
<a href="https://hexo.io/docs/">Hexo</a> and
|
||||||
|
<a href="https://shen-yu.gitee.io/2019/ayer/">Ayer</a> Docs
|
||||||
|
carefully.
|
||||||
|
</h3>
|
||||||
|
<h3>
|
||||||
|
亲,获取不到该路径的页面呢,请检查一下哦,可能你还需要仔细阅读
|
||||||
|
<a href="https://hexo.io/docs/">Hexo</a> 和
|
||||||
|
<a href="https://shen-yu.gitee.io/2019/ayer/">Ayer</a> 的说明文档~
|
||||||
|
</h3>
|
||||||
</figcaption>
|
</figcaption>
|
||||||
<img src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/404.jpg">
|
<img src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/404.jpg" />
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@@ -25,7 +25,12 @@ if hexo-config('mouse.enable')
|
|||||||
@media(max-width: 768px)
|
@media(max-width: 768px)
|
||||||
.tocbot
|
.tocbot
|
||||||
display none !important
|
display none !important
|
||||||
.content
|
.sidebar
|
||||||
|
left 0
|
||||||
&.on
|
&.on
|
||||||
|
left - $aside-width
|
||||||
|
.content
|
||||||
transform translateX($aside-width)
|
transform translateX($aside-width)
|
||||||
|
&.on
|
||||||
|
transform translateX(0)
|
||||||
|
|
||||||
|
2
source/dist/main.css
vendored
2
source/dist/main.css
vendored
File diff suppressed because one or more lines are too long
4
source/dist/main.js
vendored
4
source/dist/main.js
vendored
@@ -1,9 +1,9 @@
|
|||||||
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) {
|
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) {
|
||||||
|
|
||||||
},{}],"jSg4":[function(require,module,exports) {
|
},{}],"jSg4":[function(require,module,exports) {
|
||||||
!function(e){var o=e(".search-form-wrap"),a=!1;e(".nav-item-search").click(function(){var s;a||(a=!0,o.addClass("on"),s=function(){e(".local-search-input").focus()},setTimeout(function(){a=!1,s&&s()},200))}),e(document).mouseup(function(a){var s=e(".local-search");s.is(a.target)||0!==s.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 s;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")})}),(s=e("#totop")).hide(),e(".content").scroll(function(){e(".content").scrollTop()>1e3?e(s).stop().fadeTo(200,.6):e(s).stop().fadeTo(200,0)}),e(s).click(function(){return e(".content").animate({scrollTop:0},1e3),!1});var n=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",function(){e(".content,.sidebar").addClass("anim"),n.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"),document.write('<script type="text/javascript" src="https://js.users.51.la/20544303.js"><\/script>')}(jQuery);
|
!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) {
|
},{}],"BNiz":[function(require,module,exports) {
|
||||||
function e(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,t.sTitle).replace(/<%-sDesc%>/g,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 r(s,r){"weibo"===s?e("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",r):"qq"===s?e("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",r):"douban"===s?e("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",r):"qzone"===s?e("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",r):"facebook"===s?e("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",r):"twitter"===s?e("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>&via=<%-config.url%>",r):"google"===s?e("https://plus.google.com/share?url=<%-sUrl%>",r):"weixin"===s&&t()}var c=function(){var e=document.querySelectorAll(".share-sns");if(e&&0!==e.length){var t=window.location.href,c=document.querySelector("title").innerHTML,o=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===o||/^(http:|https:)?\/\//.test(o)||(o=window.location.origin+o),e.forEach(function(e){e.onclick=function(s){r(e.getAttribute("data-type"),{sUrl:t,sPic:o,sTitle:c,sDesc:c})}}),document.querySelector("#mask").onclick=s,document.querySelector(".modal-close").onclick=s}};c();
|
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) {
|
},{}],"epB2":[function(require,module,exports) {
|
||||||
"use strict";require("./css/style.styl"),require("./js/ayer"),require("./js/share");
|
"use strict";require("./css/style.styl"),require("./js/ayer"),require("./js/share");
|
||||||
},{"./css/style.styl":"MiQR","./js/ayer":"jSg4","./js/share":"BNiz"}]},{},["epB2"], null)
|
},{"./css/style.styl":"MiQR","./js/ayer":"jSg4","./js/share":"BNiz"}]},{},["epB2"], null)
|
BIN
source/images/beian.png
Normal file
BIN
source/images/beian.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Reference in New Issue
Block a user