hexo插入live2d
    
2019-02-24
用
内嵌
  
    
    
  
2019-02-24
重要更新
其他人写的代码还不如自己整的,详细github
位置说明
注意不要重复使用一个API
文件位置
保证能用
- fghrsh://live2d-cdn.fghrsh.net/assets/1.4.2/$file
- zhangshuqiao:https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget/$file
- jsdelivr加载github:https://cdn.jsdelivr.net/gh/NiaBie/live2d_lazy@version/$file
- jquery和font-awesome什么的自己找
基本不能用
- hexo加载(默认是在source/里面):https://niabie.github.io/$dir/$file
- github原码:https://raw.githubusercontent.com/NiaBie/live2d_lazy/master/$file
hexo的样式文件
blog/themes/next/layout/_layout.swig:
- <head>最后一行:
| {% include '_third-party/live2d_head' %} | 
- <body>最后一行:
| {% include '_third-party/live2d_body' %} | 
添加文件请直接修改这两个文件,注意html注释(不要嵌套<!-- -->)!
使用xiazeyu的hexo-live2d-widget.js
安装
按照EYHN的手册用npm安装插件和模型
添加模型
手动下载zip,解压到~/node_modules/:
| ~/node_modules/${foldername}/--+--package.json | 
- ${foldername}随意,在- blog/_config.yml中调用的模型名字为- ${foldername}
- package.json可以只留一对大括号
- assert/文件夹必须要有
- 注意模型的json文件后缀名为model.json,前缀名字随意
- 其余部分的命名都随意
- package-lock.json可不要
zhangshuqiao的live2d-widget
启用
<head>:
- <script src="$path/jquery.min.js"></script>
- <link rel="stylesheet" href="$path/font-awesome.min.css"/>
<body>:
- <script src="$path/autoload.js"></script>
记得修改autoload.js中的github版本(安全的版本:1.0.7),其会调用:
- live2d.min.js
- waifu-tips.js
- waifu-tips.json
由于作者没有提供修改大小的api,所以只能直接在js里面调,建议设置:
| <div id="waifu"> | 
fghrsh的live2d-demo和live2d-api
直接使用示例网站的api
用autoload.js加载
<head>:
- <script src="$pathto/jquery.min.js"></script>
<body>:
- <script src="$pathto/autoload.js"></script>
记得修改autoload.js中的github版本(安全的版本:3.0.2),其会调用:
- waifu.min.css
- waifu-tips.json
- live2d.min.js
直接向autoload中的function()增加参数,不需要使用waifu-tips.js
拖动效果需要另外的js,放在<head>或<body>(推荐)都可:
- <script src="$pathto/jquery-ui.min.js"></script>
注意需要:
- flat-ui-icons-regular.eot
- flat-ui-icons-regular.svg
- flat-ui-icons-regular.ttf
- flat-ui-icons-regular.woff
修改不同模型的位置
- 修改waifu-tips.js
| loadlive2d('live2d', live2d_settings.modelAPI + 'get/?id=' + modelId + '-' + modelTexturesId, (live2d_settings.showF12Status ? console.log('[Status]', 'live2d', '模型', modelId + '-' + modelTexturesId, '加载完成') : null)); | 
通过在每次加载模型后,在<body>尾部创建/搜索一个没用的模型,将live2d的数据赋值给这个<style>
- 增加third_party/my_js/live2d.swig
| <script> | 
start函数是便于其他地方调用以及延迟效果使用(因为有可能页面加载后live2d还没加载好,所以需要重复执行,且这个时间很难估计)
- third_party/my_js/main.swig
| <script> | 
这部分包含了hexo其他部分的js,会随时间而过时
内嵌autoload.js和waifu-tips.js
还没调好,不能用
<head>加waifu.min.css/waifu.css,css文件好像一定得静态存放
<body>加jquery.min.js,jquery-ui.min.js,waifu-tips.min.js,live2d.min.js
| <div class="waifu-tips"></div> |