由于笔者想要给博客设置看板娘,但现在网上搜到的基本都是hexo-helper-live2d,同时因为它所引用的live2d模型版本过于老旧,不能够使用自己的模型,最后在我几经搜索,终于找到这两个不错的库。(笔者使用的是第二个,所以就写第二个的使用指南了)
live2d-widget
oh-my-live2d
使用指南
其实官方文档也写的很清楚,这里就简单赘述一下了
安装
1
| pnpm install hexo-oh-my-live2d
|
使用
在hexo根目录下的_config.yml增加以下代码,其中models.path是存放模型的路径,其位置是在source文件夹下的,而不是基于hexo根目录。
如果是最新版的live2d模型,则将path指向模型文件夹内model3.json
后缀的文件
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| OhMyLive2d: enable: true CDN: https://registry.npmmirror.com/oh-my-live2d/latest/files option: libraryUrls: complete: https://registry.npmmirror.com/oh-my-live2d/latest/files/lib/complete.js cubism2: https://registry.npmmirror.com/oh-my-live2d/latest/files/lib/cubism2.js cubism5: https://registry.npmmirror.com/oh-my-live2d/latest/files/lib/cubism5.js
mobileDisplay: true models: - path: https://registry.npmmirror.com/live2d-widget-model-shizuku/1.0.5/files/assets/shizuku.model.json mobilePosition: [-10, 23] mobileScale: 0.1 mobileStageStyle: width: 180 height: 166 motionPreloadStrategy: IDLE position: [-10, 35] scale: 0.15 stageStyle: width: 250 height: 250 - path: 'https://registry.npmmirror.com/live2d-widget-model-koharu/1.0.5/files/assets/koharu.model.json' scale: 0.12 position: [0, 0] stageStyle: width: 250 mobileScale: 0.08 mobilePosition: [0, 0] mobileStageStyle: width: 180 - path: 'https://registry.npmmirror.com/live2d-widget-model-haruto/1.0.5/files/assets/haruto.model.json' scale: 0.12 position: [0, 0] mobileScale: 0.08 mobilePosition: [0, 0] mobileStageStyle: width: 180 stageStyle: width: 250 parentElement: document.body primaryColor: 'var(--btn-bg)' sayHello: false tips: style: width: 230 height: 120 left: calc(50% - 20px) top: -100px mobileStyle: width: 180 height: 80 left: calc(50% - 30px) top: -100px idleTips: interval: 15000 message: | function(){ return axios.get('https://v1.hitokoto.cn?c=i') .then(function (response) { return response.data.hitokoto ; }) .catch(function (error) { console.error(error); }); }
|
最终效果