11 Commits

Author SHA1 Message Date
shenyu
5a4edd6483 1.8.23 2021-05-24 11:29:16 +08:00
shenyu
0163b6bfe5 🛠️ hexo scripts 2021-05-24 11:28:56 +08:00
shenyu
1c857a0c5f 1.8.22 2021-05-15 12:48:41 +08:00
shenyu
302c6080fd 🐛 fix: float btns 2021-05-15 12:48:29 +08:00
shenyu
ec47bd254a Merge branch 'master' of https://github.com/Shen-Yu/hexo-theme-ayer 2021-04-28 10:37:59 +08:00
shenyu
42a6eb0c33 1.8.21 2021-04-28 10:37:27 +08:00
shenyu
0c0ea3312c 💄 fix: sidebar overflow scroll 2021-04-28 10:37:17 +08:00
Eric Shen
1e0275d757 Merge pull request #116 from MHG-LAB/master
minivaline v6
2021-04-26 14:23:49 +08:00
MHuiG
c5f8d5d058 minivaline v6 dark 2021-04-19 18:54:39 +08:00
MHuiG
38e99de4fb minivaline v6 2021-04-19 18:43:10 +08:00
shenyu
24be666717 🙈 update: ignore 2021-04-14 11:52:50 +08:00
13 changed files with 170 additions and 71 deletions

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@ package-lock.json
node_modules/
.cache
.history
_bak.yml

View File

@@ -1,3 +1,4 @@
.cache/
.history/
.github/
.github/
_bak.yml

View File

@@ -233,12 +233,10 @@ twikoo:
# See: https://github.com/MiniValine/MiniValine
minivaline:
enable: false
md: true
# 更多选项 https://minivaline.js.org/docs/cn/#/Options 按照yml格式继续填写即可 (除了 [el] 选项)
# emoticonUrl 等列表选项 可参考 https://github.com/MiniValine/hexo-next-minivaline
# 下面是一个例子:
backend: waline
serverURL: https://waline.vercel.app
serverURL: https://minivaline.your-domain.com
# 首页广告配置
# 可以根据需要自行增加ad_3ad_4...留空则不显示建议图片和url不要带ad等关键词否则可能会被adblock等插件屏蔽

View File

@@ -3,75 +3,45 @@
<div id="mvcomments-box">
<div id="mvcomments"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/minivaline@latest"></script>
<script src="https://cdn.jsdelivr.net/npm/minivaline@6"></script>
<script>
new MiniValine(Object.assign(<%- JSON.stringify(theme.minivaline) %>, {
el: '#mvcomments',
}));
new MiniValine(Object.assign(<%- JSON.stringify(theme.minivaline) %>, {
el: '#mvcomments',
}));
const infoEle = document.querySelector('#mvcomments .info');
if (infoEle && infoEle.childNodes && infoEle.childNodes.length > 0) {
infoEle.childNodes.forEach(function (item) {
item.parentNode.removeChild(item);
});
infoEle.childNodes.forEach(function (item) {
item.parentNode.removeChild(item);
});
}
</script>
<style>
#mvcomments-box {
padding: 5px 30px;
}
@media screen and (max-width: 800px) {
#mvcomments-box {
padding: 5px 0px;
}
}
.darkmode .MiniValine *{
color: #f1f1f1!important;
}
.darkmode .commentTrigger{
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 .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;
}
#mvcomments-box {
padding: 5px 30px;
}
@media screen and (max-width: 800px) {
#mvcomments-box {
padding: 5px 0px;
}
}
:root .darkmode {
--ohhho-color-p: #bbb;
--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 {
background: #888;
border: 1px solid var(--ohhho-color-block);
}
.darkmode .ohhho .vlist .vcard .vcomment-body .vhead {
filter: brightness(85%);
}
</style>
<% } %>

View File

@@ -1,6 +1,6 @@
{
"name": "hexo-theme-ayer",
"version": "1.8.20",
"version": "1.8.23",
"description": "a clean and elegant theme for hexo.",
"scripts": {
"dev": "parcel serve source-src/main.js -d source/dist",

11
scripts/events/index.js Normal file
View File

@@ -0,0 +1,11 @@
/* global hexo */
"use strict";
hexo.on("generateBefore", () => {
require("./lib/merge-configs")(hexo);
});
hexo.on("generateAfter", () => {
require("./lib/hello")(hexo);
});

View 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 |
| |
----------------------------------------------------
`);
}
};

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

View 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
View 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
};

View File

@@ -56,12 +56,14 @@
color sea
.float_btns
position fixed
position sticky
bottom 10rem
right 50px
z-index 9996
text-align center
transform scale(1.2)
width: 50px
float: right
#mask
position fixed

View File

@@ -14,6 +14,13 @@
opacity .8
background-color body-color
&.nav-main
height 60vh
overflow-y scroll
scrollbar-width none
-ms-overflow-style none
&::-webkit-scrollbar
width 0px
height 0px
.nav-item-link
i
font-size 1rem

File diff suppressed because one or more lines are too long