live2d-widget
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
<h1 id="Live2D-Widget"><a href="#Live2D-Widget" class="headerlink" title="Live2D Widget"></a>Live2D Widget</h1><p><img src="https://forthebadge.com/images/badges/built-with-love.svg" alt=""><br><img src="https://forthebadge.com/images/badges/uses-html.svg" alt=""><br><img src="https://forthebadge.com/images/badges/made-with-javascript.svg" alt=""><br><img src="https://forthebadge.com/images/badges/contains-cat-gifs.svg" alt=""><br><img src="https://forthebadge.com/images/badges/powered-by-electricity.svg" alt=""><br><img src="https://forthebadge.com/images/badges/makes-people-smile.svg" alt=""></p> <h2 id="特性-Feature"><a href="#特性-Feature" class="headerlink" title="特性 Feature"></a>特性 Feature</h2><p>在网页中添加 Live2D 看板娘。兼容 PJAX,支持无刷新加载。<br>Add Live2D widget to web page. Compatible with PJAX.</p> <p><strong>警告:本项目使用了大量 ES6 语法,不支持 IE 11 等老旧浏览器。</strong><br><strong>WARNING: This project does not support legacy browsers such as IE 11.</strong></p> <h2 id="示例-Demo"><a href="#示例-Demo" class="headerlink" title="示例 Demo"></a>示例 Demo</h2><p>在<a href="https://zhangshuqiao.org" target="_blank" rel="noopener">米米的博客</a>的左下角可查看效果。(注:以下人物模型仅供展示之用,本仓库并不包含任何模型。)</p> <p><img src="assets/screenshot-1.png"><img src="assets/screenshot-2.png" width="300"><img src="assets/screenshot-3.png" width="300"></p> <p>你也可以在允许的范围内进行二次开发,这里有一些示例</p> <ul> <li><a href="https://mi.js.org/live2d-widget/demo/demo.html" target="_blank" rel="noopener">demo.html</a> ,展现基础效果</li> <li><a href="https://mi.js.org/live2d-widget/demo/login.html" target="_blank" rel="noopener">login.html</a> ,仿 NPM 的登陆界面</li> </ul> <h2 id="依赖-Dependencies"><a href="#依赖-Dependencies" class="headerlink" title="依赖 Dependencies"></a>依赖 Dependencies</h2><p>本插件需要 Font Awesome (v4 或 v5) 图标支持,请确保相关样式表已在页面中加载。以 Font Awesome v4 为例,请在 <code><head></code> 中加入:<br>Font Awesome (v4 or v5) is required for this plugin. Take Font Awesome v4 as an example, please add the following in <code><head></code>:</p> <pre><code class="xml"><span class="tag"><<span class="name">link</span> <span class="attr">rel</span>=<span class="string">"stylesheet"</span> <span class="attr">href</span>=<span class="string">"https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css"</span>></span></code></pre> <p>否则图标将无法正常显示。(如果网页中已经加载了任何版本的 Font Awesome,就不要重复加载了)</p> <h2 id="使用-Usage"><a href="#使用-Usage" class="headerlink" title="使用 Usage"></a>使用 Usage</h2><p>将这一行代码加入 <code><head></code> 或 <code><body></code>,即可展现出效果:</p> <pre><code class="xml"><span class="tag"><<span class="name">script</span> <span class="attr">src</span>=<span class="string">"https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"</span>></span><span class="tag"></<span class="name">script</span>></span></code></pre> <p>如果网站启用了 PJAX,由于看板娘不必每页刷新,因此要注意将相关脚本放到 PJAX 刷新区域之外。</p> <p>换句话说,如果你是小白,或者只需要最基础的功能,就只用把这一行代码,连同前面加载 Font Awesome 的一行代码,一起放到 html 的 <code><head></code> 中即可。<br>对于用各种模版引擎(例如 Nunjucks,Jinja 或者 PHP)生成的页面,也要自行修改,方法类似,只是可能略为麻烦。以 <a href="https://hexo.io" target="_blank" rel="noopener">Hexo</a> 为例,需要在主题相关的 ejs 或 njk 模版中正确配置路径,才可以加载。</p> <p><strong>但是!我们强烈推荐自己进行配置,否则很多功能是不完整的,并且可能产生问题!</strong><br>如果你有兴趣自己折腾的话,请看下面的详细说明。</p> <h3 id="Using-CDN"><a href="#Using-CDN" class="headerlink" title="Using CDN"></a>Using CDN</h3><p>要自定义有关内容,可以把这个仓库 Fork 一份,然后进行修改。这时,使用方法对应地变为</p> <pre><code class="xml"><span class="tag"><<span class="name">script</span> <span class="attr">src</span>=<span class="string">"https://cdn.jsdelivr.net/gh/username/live2d-widget@latest/autoload.js"</span>></span><span class="tag"></<span class="name">script</span>></span></code></pre> <p>将此处的 <code>username</code> 替换为你的 GitHub 用户名。为了使 CDN 的内容正常刷新,需要创建新的 git tag 并推送至 GitHub 仓库中,否则此处的 <code>@latest</code> 仍然指向更新前的文件。此外 CDN 本身存在缓存,因此改动可能需要一定的时间生效。相关文档:</p> <ul> <li><a href="https://git-scm.com/book/en/v2/Git-Basics-Tagging" target="_blank" rel="noopener">Git Basics - Tagging</a></li> <li><a href="https://help.github.com/en/github/administering-a-repository/managing-releases-in-a-repository" target="_blank" rel="noopener">Managing releases in a repository</a></li> </ul> <h3 id="Self-host"><a href="#Self-host" class="headerlink" title="Self-host"></a>Self-host</h3><p>你也可以直接把这些文件放到服务器上,而不是通过 CDN 加载。</p> <ul> <li>如果你能够通过 <code>ssh</code> 访问你的主机,请把整个仓库克隆到服务器上。执行:<pre><code class="bash"><span class="built_in">cd</span> /path/to/your/webroot <span class="comment"># Clone this repository</span> git <span class="built_in">clone</span> https://github.com/stevenjoezhang/live2d-widget.git</code></pre> </li> <li>如果你的主机无法用 <code>ssh</code> 连接(例如一般的虚拟主机),请选择 <code>Download ZIP</code>,然后通过 <code>ftp</code> 等方式上传到主机上,再解压到网站的目录下。</li> <li>如果你是通过 Hexo 等工具部署的静态博客,请在本地的博客目录中(例如 <code>source</code> 下与 <code>_posts</code> 同级的目录),执行前述的 <code>git clone</code> 命令。重新部署博客时,相关文件就会自动上传到对应的路径下。为了避免这些文件被 Hexo 插件错误地修改,可能需要设置 <code>skip_render</code>。</li> </ul> <p>这样,整个项目就可以通过你的服务器 IP 或者域名从公网访问了。不妨试试能否正常地通过浏览器打开 <code>autoload.js</code> 和 <code>live2d.min.js</code> 等文件,并确认这些文件的内容是完整和正确的。<br>一切正常的话,接下来修改一些配置就行了。(需要通过服务器上的文本编辑器修改;你也可以先在本地完成这一步骤,再上传到服务器上)<br>修改 <code>autoload.js</code> 中的常量 <code>live2d_path</code> 为 <code>live2d-widget</code> 这一文件夹在公网上的路径。比如说,如果你能够通过</p> <pre><code>https://www.example.com/path/to/live2d-widget/live2d.min.js</code></pre><p>访问到 <code>live2d.min.js</code>,那么就把 <code>live2d_path</code> 的值修改为</p> <pre><code>https://www.example.com/path/to/live2d-widget/</code></pre><p>路径末尾的 <code>/</code> 一定要加上。具体可以参考 <code>autoload.js</code> 内的注释。<br>完成后,在你要添加看板娘的界面加入</p> <pre><code class="xml"><span class="tag"><<span class="name">script</span> <span class="attr">src</span>=<span class="string">"https://www.example.com/path/to/live2d-widget/autoload.js"</span>></span><span class="tag"></<span class="name">script</span>></span></code></pre> <p>就可以加载了。</p> <h2 id="目录结构-Files"><a href="#目录结构-Files" class="headerlink" title="目录结构 Files"></a>目录结构 Files</h2><ul> <li><code>waifu-tips.js</code> 包含了按钮和对话框的逻辑;</li> <li><code>waifu-tips.json</code> 中定义了触发条件(<code>selector</code>,CSS 选择器)和触发时显示的文字(<code>text</code>);</li> <li><code>waifu.css</code> 是看板娘的样式表。</li> </ul> <p>源文件是对 Hexo 的 <a href="http://github.com/next-theme/hexo-theme-next" target="_blank" rel="noopener">NexT 主题</a>有效的,为了适用于你自己的网页,可能需要自行修改,或增加新内容。<br><strong>警告:作者不对包括但不限于 <code>waifu-tips.js</code> 和 <code>waifu-tips.json</code> 文件中的内容负责,请自行确保它们是合适的。</strong></p> <p>如果有任何疑问,欢迎提 Issue。如果有任何修改建议,欢迎提 Pull Request。</p> <h2 id="鸣谢-Thanks"><a href="#鸣谢-Thanks" class="headerlink" title="鸣谢 Thanks"></a>鸣谢 Thanks</h2><p> <a href="https://www.browserstack.com/" target="_blank" rel="noopener"> <img src="https://live.browserstack.com/images/opensource/browserstack-logo.svg" alt="BrowserStack Logo" width="500"> </a> </p> <p>感谢 BrowserStack 容许我们在真实的浏览器中测试此项目。<br>Thanks to <a href="https://www.browserstack.com/" target="_blank" rel="noopener">BrowserStack</a> for providing the infrastructure that allows us to test in real browsers!</p> <p>代码自这篇博文魔改而来:<br><a href="https://www.fghrsh.net/post/123.html" target="_blank" rel="noopener">https://www.fghrsh.net/post/123.html</a></p> <p>点击看板娘的纸飞机按钮时,会出现一个彩蛋,这来自于 <a href="http://www.websiteasteroids.com" target="_blank" rel="noopener">WebsiteAsteroids</a>。</p> <h2 id="更多-More"><a href="#更多-More" class="headerlink" title="更多 More"></a>更多 More</h2><p>更多内容可以参考:<br><a href="https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02" target="_blank" rel="noopener">https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02</a><br><a href="https://github.com/xiazeyu/live2d-widget.js" target="_blank" rel="noopener">https://github.com/xiazeyu/live2d-widget.js</a><br><a href="https://github.com/summerscar/live2dDemo" target="_blank" rel="noopener">https://github.com/summerscar/live2dDemo</a></p> <p>还可以自行搭建后端 API,并增加模型(需要修改的内容比较多,此处不再赘述):<br><a href="https://github.com/fghrsh/live2d_api" target="_blank" rel="noopener">https://github.com/fghrsh/live2d_api</a><br><a href="https://github.com/xiazeyu/live2d-widget-models" target="_blank" rel="noopener">https://github.com/xiazeyu/live2d-widget-models</a><br><a href="https://github.com/xiaoski/live2d_models_collection" target="_blank" rel="noopener">https://github.com/xiaoski/live2d_models_collection</a></p> <p>除此之外,还有桌面版本:<br><a href="https://github.com/amorist/platelet" target="_blank" rel="noopener">https://github.com/amorist/platelet</a><br><a href="https://github.com/akiroz/Live2D-Widget" target="_blank" rel="noopener">https://github.com/akiroz/Live2D-Widget</a></p> <h2 id="许可证-License"><a href="#许可证-License" class="headerlink" title="许可证 License"></a>许可证 License</h2><p>Released under the GNU General Public License v3<br><a href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank" rel="noopener">http://www.gnu.org/licenses/gpl-3.0.html</a></p> <p>本仓库中涉及的所有 Live2D 模型、图片、动作数据等版权均属于其原作者,仅供研究学习,不得用于商业用途。</p> <p>Live2D 官方网站:<br><a href="https://www.live2d.com/en/" target="_blank" rel="noopener">https://www.live2d.com/en/</a><br><a href="https://live2d.github.io" target="_blank" rel="noopener">https://live2d.github.io</a></p> <p>Live2D Cubism Core は Live2D Proprietary Software License で提供しています。<br><a href="https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html" target="_blank" rel="noopener">https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html</a><br>Live2D Cubism Components は Live2D Open Software License で提供しています。<br><a href="http://www.live2d.com/eula/live2d-open-software-license-agreement_en.html" target="_blank" rel="noopener">http://www.live2d.com/eula/live2d-open-software-license-agreement_en.html</a></p> <blockquote> <p>The terms and conditions do prohibit modification, but obfuscating in <code>live2d.min.js</code> would not be considered illegal modification.</p> </blockquote> <p><a href="https://community.live2d.com/discussion/140/webgl-developer-licence-and-javascript-question" target="_blank" rel="noopener">https://community.live2d.com/discussion/140/webgl-developer-licence-and-javascript-question</a></p> <h2 id="更新-Update"><a href="#更新-Update" class="headerlink" title="更新 Update"></a>更新 Update</h2><p>2018年10月31日,由 fghrsh 提供的原 API 停用,请更新至新地址。参考文章:<br><a href="https://www.fghrsh.net/post/170.html" target="_blank" rel="noopener">https://www.fghrsh.net/post/170.html</a></p> <p>2020年1月1日起,本项目不再依赖于 jQuery。</p>