Hexo Icarus添加嘉然/向晚模型

Hexo Icarus添加嘉然/向晚模型

如何部署

使用 jsdelivr cdn 加速

该方法比较简单,Icarus 主题的 layout.jsx 中定义了 html 结构,只需在该文件末尾添加以下代码,即可在网页中显示 live2d 模型;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
File: theme/icarus/layout/layout.jsx

module.exports = class extends Component {
render() {
...
return <html lang={language ? language.substr(0, 2) : ''}>
<Head site={site} config={config} helper={helper} page={page} />
<body class={`is-${columnCount}-column`}>
...
<Scripts site={site} config={config} helper={helper} page={page} />
<Search config={config} helper={helper} />

{/* live2d_Asoul */}
+ <script src="https://cdn.jsdelivr.net/npm/greensock@1.20.2/dist/TweenLite.js"></script>
+ <script src="https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/pixi.js@5.3.6/dist/pixi.min.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/pixi-live2d-display@0.3.1/dist/cubism4.min.js"></script>
+ <link href="https://cdn.jsdelivr.net/gh/journey-ad/blog-img@76ba2b3/live2d/lib/pio.css" rel="stylesheet" type="text/css"/>
+ <script src="https://cdn.jsdelivr.net/gh/journey-ad/blog-img@76ba2b3/live2d/lib/pio.js"></script>
+ <script src="https://cdn.jsdelivr.net/gh/journey-ad/blog-img@76ba2b3/live2d/lib/pio_sdk4.js"></script>
+ <script src="https://cdn.jsdelivr.net/gh/journey-ad/blog-img@76ba2b3/live2d/lib/load.js"></script>
</body>
</html>;
}
};

但该方法在不使用魔法 🔮 加速的情况下,加载速度较慢,且不能修改样式;

针对显示效果,个人建议对pio.css进行如下两处修改

1
2
3
4
5
6
7
8
9
10
11
12
.pio-container {
bottom: 0;
+ z-index: 2000;
color: #666;
position: fixed;
user-select: none;
}

.pio-action .pio-night {
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M186.744 40.493a15.34 15.34 0 0 1 9.956-.097 15.743 15.743 0 0 1 10.643 17.018l-.639 2.794-2.549 8.484a230.05 230.05 0 0 0 21.824 175.818c41.315 73.085 119.925 117.041 203.82 113.977l8.093-.491h2.649c11.217 1.139 18.309 12.601 14.32 23.148l-1.374 2.795-2.256 3.727-6.472 8.533a225.604 225.604 0 0 1-62.629 54.194c-107.795 63.019-245.655 25.599-307.89-83.57-62.235-109.12-25.257-248.695 82.49-311.715a219.638 219.638 0 0 1 17.755-9.319l9.022-4.07 3.286-1.226zm176.702 52.576a4.402 4.402 0 0 1 2.108 2.156l11.181 23.982c1.08 2.305 2.944 4.218 5.297 5.296l24.031 11.182c3.06 1.482 3.366 5.717.554 7.626-.176.12-.361.227-.554.32l-24.031 11.181a10.994 10.994 0 0 0-5.297 5.296l-11.181 24.031c-1.482 3.058-5.717 3.366-7.625.554a4.11 4.11 0 0 1-.32-.554l-11.23-24.031a10.998 10.998 0 0 0-5.297-5.296l-23.981-11.181c-3.06-1.482-3.367-5.717-.555-7.626.176-.12.362-.227.555-.32l24.029-11.182a10.993 10.993 0 0 0 5.249-5.296l11.23-24.031a4.412 4.412 0 0 1 5.837-2.107zm-62.825-73.812c.491.246.883.589 1.08 1.08l5.59 11.967a5.346 5.346 0 0 0 2.649 2.647l12.015 5.592c1.548.699 1.757 2.812.377 3.804-.12.084-.244.157-.377.218l-12.015 5.589a5.496 5.496 0 0 0-2.649 2.649l-5.59 11.966c-.778 1.512-2.9 1.611-3.819.182a2.694 2.694 0 0 1-.105-.182l-5.64-11.966a5.491 5.491 0 0 0-2.649-2.649l-11.966-5.64c-1.548-.699-1.757-2.814-.377-3.803.119-.085.244-.158.377-.218l11.966-5.589a5.498 5.498 0 0 0 2.649-2.65l5.591-11.965a2.205 2.205 0 0 1 2.942-1.08z' fill='%23FFCB3C'/%3E%3C/svg%3E");
+ display: none;
}

如果只希望修改部分样式,可以选择自己 fork github repo 后修改文件再上传至 github
下方 src url 中修改为自己仓库的 url;格式gh/<username>/<repo>/<path>

1
2
3
4
5
6
7
8
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/scripts/TweenLite.js"></script>
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/scripts/live2dcubismcore.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/scripts/pixi.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/scripts/cubism4.min.js"></script>
<link href="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/scripts/pio.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/live2d/lib/pio.js"></script>
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/live2d/lib/pio_sdk4.js"></script>
<script src="https://cdn.jsdelivr.net/gh/efterklang/live2d_Asoul/live2d/lib/load.js"></script>

本地部署

将所需文件放置于 theme\icarus\source 下,路径可参考如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
PATH: Efterklang.github.io\themes\icarus\source

├─css
│ └─...
├─img
└─js
├─...
└─live2d_Asoul

##################################################

$ ll js\live2d_Asoul

-a--- 144k 26 Jul 00:57  cubism4.min.js
-a--- 207k 26 Jul 00:56  live2dcubismcore.min.js
-a--- 6.4k 26 Jul 22:35  load.js
da--- - 26 Jul 22:31  Model
-a--- 7.8k 26 Jul 22:23  pio.css
-a--- 11k 26 Jul 00:59  pio.js
-a--- 4.7k 26 Jul 00:59  pio_sdk4.js
-a--- 403k 26 Jul 00:57  pixi.min.js
-a--- 28k 26 Jul 22:29  TweenLite.js

##################################################

$ ll js\live2d_Asoul\Model
da--- - 26 Jul 22:31  Ava
da--- - 26 Jul 22:31  Diana
da--- - 26 Jul 22:31  lib

修改 load.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const initConfig = {
mode: "fixed",
hidden: true,
content: {
link: 引流[Math.floor(Math.random() * 引流.length)],
welcome: ["Hi!"],
touch: "",
skin: ["诶,想看看其他团员吗?", "替换后入场文本"],
custom: [
{ selector: ".comment-form", text: "Content Tooltip" },
{ selector: ".home-social a:last-child", text: "Blog Tooltip" },
{ selector: ".list .postname", type: "read" },
{ selector: ".post-content a, .page-content a, .post a", type: "link" },
],
},
night: "toggleNightMode()",
model: [
+"/js/live2d_Asoul/Model/Diana/Diana.model3.json",
+"/js/live2d_Asoul/Model/Ava/Ava.model3.json",
],
tips: true,
onModelLoad: onModelLoad,
};

修改layout.jsx

1
2
3
4
5
6
7
8
<script src="/js/live2d_Asoul/TweenLite.js"></script>
<script src="/js/live2d_Asoul/live2dcubismcore.min.js"></script>
<script src="/js/live2d_Asoul/pixi.min.js"></script>
<script src="/js/live2d_Asoul/cubism4.min.js"></script>
<script src="/js/live2d_Asoul/pio.js"></script>
<script src="/js/live2d_Asoul/pio_sdk4.js"></script>
<script src="/js/live2d_Asoul/load.js"></script>
<link href="/js/live2d_Asoul/pio.css" rel="stylesheet" type="text/css" />

Ref

木果阿木果
恶 e 魔 m 萝 lo 莉 li 控
如何将嘉然 live2D 添加到博客网站当看板娘
journey-ad/blog-img
journey-ad/oh-my-diana.user.js

Author

Efterklang

Posted on

2024-07-26

Updated on

2024-09-16

Licensed under

Comments