live2d-widget/README.md
2019-12-22 10:15:16 +08:00

139 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Live2D Widget
## 特性 Feature
在网页中添加 Live2D 看板娘。兼容 PJAX支持无刷新加载。
Add Live2D widget to web page. Compatible with PJAX.
**警告:本项目不支持 IE 11 等老旧浏览器。**
**WARNING: This project does not support legacy browsers such as IE 11.**
## 示例 Demo
在[米米的博客](https://zhangshuqiao.org)的左下角可查看效果。
![](assets/screenshot-1.png)
![](assets/screenshot-2.png)
![](assets/screenshot-3.png)
这个仓库中也提供了两个 Demo
- [demo1.html](https://mi.js.org/live2d-widget/demo/demo1.html) ,展现基础效果
- [demo2.html](https://mi.js.org/live2d-widget/demo/demo2.html) 仿NPM的登陆界面
## 依赖 Dependencies
本插件需要 jQuery 和 Font Awesome 支持,请确保它们已在页面中加载,例如在 `<head>` 中加入:
jQuery and Font Awesome is required for this plugin. You can add this to `<head>`:
```xml
<script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css">
```
否则无法正常显示。(如果你的网页已经加载了 jQuery就不要重复加载了
## 使用 Usage
你可以直接这样使用:
```xml
<script src="https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget/autoload.js"></script>
```
将这一行代码加入 `<head>``<body>`,即可看到效果。如果你的网站启用了 PJAX由于看板娘不必每页刷新因此需要注意将相关脚本放到 PJAX 刷新区域之外。
换句话说,如果你是小白,或者只需要最基础的功能,就只需要:
- 把这一行代码,连同前面的两行代码,一起放到 html 的 `<head>` 中即可;
- 如果页面是用各种模版引擎(例如 NunjucksJinja 或者 PHP生成的也要自行修改方法类似只是可能略为麻烦。
**但是!我们强烈推荐自己进行配置,否则很多功能是不完整的,并且可能产生问题!**
如果你有兴趣自己折腾的话,请看下面的详细说明。
### Using CDN
如果要自定义有关内容,可以把这个仓库 Fork 一份,然后进行修改。这时,使用方法对应地变为
```xml
<script src="https://cdn.jsdelivr.net/gh/username/live2d-widget/autoload.js"></script>
```
`username` 替换为你的 GitHub 用户名即可。
### Self-host
你也可以直接把这些文件放到服务器上,而不是通过 CDN 加载。
- 如果你可以通过 `ssh` 访问你的主机,请把整个项目克隆到服务器上。执行:
```bash
cd /path/to/your/webroot
# Clone this repository
git clone https://github.com/stevenjoezhang/live2d-widget.git
```
- 如果你的主机无法用 `ssh` 连接(例如一般的虚拟主机),请选择 `Download ZIP`,然后通过 `ftp` 上传到主机上,再解压到网站的目录下。
- 如果你是通过 Hexo 等工具部署的静态博客,请选择 `Download ZIP`,然后解压到本地的博客目录下,例如 `source` 下与 `_posts` 同级的目录。重新部署博客时相关文件就会自动上传到对应的目录。还需要在Hexo主题相关的ejs或njk模版中正确配置路径才可以加载
这样整个项目就可以通过你的服务器IP或者域名从公网访问了。你可以试试能否正常地通过浏览器打开 `autoload.js``live2d.min.js` 等文件。
如果没有问题,接下来需要修改一些配置。(需要通过服务器上的文本编辑器修改;你也可以先在本地完成这一步骤,再上传到服务器上)
修改 `autoload.js` 中的参数 `live2d_path``live2d-widget` 这一文件夹在公网上的路径。比如说,如果你可以通过
```
https://www.example.com/path/to/live2d-widget/live2d.min.js
```
访问到 `live2d.min.js`,那么就把 `live2d_path` 的值修改为
```
https://www.example.com/path/to/live2d-widget/
```
路径末尾的 `/` 一定要加上。具体可以参考 `autoload.js` 内的注释。
完成后,在你要添加看板娘的界面加入
```xml
<script src="https://www.example.com/path/to/live2d-widget/autoload.js"></script>
```
就可以加载了。
## 目录结构 Files
- `waifu-tips.json` 中包含了触发条件(`selector`,选择器)和触发时显示的文字(`text`
- `waifu.css` 是看板娘的样式表。
源文件是对 Hexo 的 NexT 主题有效的,为了适用于你自己的网页,可能需要自行修改,或增加新内容。
**警告:作者不对包括但不限于 `waifu-tips.json` 和 `waifu-tips.js` 文件中的内容负责,请自行确保它们是合适的。**
如果有任何疑问,欢迎提 Issue。如果有任何修改建议欢迎提 PR。
## 鸣谢 Credits
代码自这篇博文魔改而来:
https://www.fghrsh.net/post/123.html
相比初始的版本,这个仓库增加了一些功能,并优化了提示展现机制。
更多内容可以参考:
https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02
https://github.com/xiazeyu/live2d-widget.js
https://github.com/summerscar/live2dDemo
还可以自行搭建后端api并增加模型需要修改的内容比较多此处不再赘述
https://github.com/fghrsh/live2d_api
https://github.com/xiazeyu/live2d-widget-models
https://github.com/xiaoski/live2d_models_collection
除此之外,还有桌面版本:
https://github.com/amorist/platelet
https://github.com/akiroz/Live2D-Widget
点击看板娘的纸飞机按钮时,会出现一个彩蛋,这来自于[WebsiteAsteroids](http://www.websiteasteroids.com)。
## 更多 More
Live2D 官方网站:
https://www.live2d.com/en/
https://live2d.github.io
可以在官方网站下载、打包 SDK以获取更多的功能。具体操作是
- 点击Cubism SDK for Web下载相关文件
- 解压并进入目录,执行 `npm install`
- 执行 `npm run build-sample`
## 许可证 License
Released under the GNU General Public License v3
http://www.gnu.org/licenses/gpl-3.0.html
## 更新 Update
2018年10月31日由 fghrsh 提供的原 API 停用,请更新至新地址。参考文章:
https://www.fghrsh.net/post/170.html