144 Commits

Author SHA1 Message Date
ae6a6d3029 Update 2 files
- /_data/other_repo_list.csv
- /_posts/2025-09-01-quine.md
2025-09-26 08:07:57 +00:00
2803a0773a Update 3 files
- /Live2dHistoire/live2d/js/message.js
- /_data/links.csv
- /_posts/2025-09-01-quine.md
2025-09-22 15:42:20 +00:00
da59fa1a9f Merge pull request #185 from tuyuritio/patch-1
Fix feed URL for 記緒漂流
2025-09-20 22:22:25 +08:00
d7c957b68a Fix feed URL for 記緒漂流 2025-09-20 23:18:25 +09:00
ebe45018f5 Update 4 files
- /_data/other_repo_list.csv
- /_data/proxylist.yml
- /_posts/2024-04-06-old-pc.md
- /_posts/2025-09-01-quine.md
2025-09-17 12:55:54 +00:00
b4af6686ce Update 4 files
- /_posts/2025-09-01-quine.md
- /_layouts/default.html
- /_data/other_repo_list.csv
- /other_repo_list.md
2025-09-07 08:47:54 +00:00
3d5d7eaa16 Update 3 files
- /other_repo_list.md
- /_data/proxylist.yml
- /proxylist.md
2025-09-06 16:37:44 +00:00
f5e43a61f8 Update 2 files
- /_data/other_repo_list.csv
- /other_repo_list.md
2025-09-06 16:30:54 +00:00
5c739ed695 Update 5 files
- /_data/proxylist.yml
- /_data/other_repo_list.csv
- /proxylist.md
- /other_repo_list.md
- /.readthedocs.yaml
2025-09-06 16:15:58 +00:00
6dab77e73c Update 2 files
- /_layouts/default.html
- /_data/proxylist.yml
2025-09-02 17:33:28 +00:00
1ab207cb19 Update 2 files
- /_data/proxylist.yml
- /_data/ai-cache.json
2025-09-01 07:53:14 +00:00
3dd82ed54c Update 6 files
- /_data/links.csv
- /_data/proxylist.yml
- /_tools/envs_post-receive
- /_tools/serv00_post-receive
- /_tools/ai-summary.js
- /_posts/2025-09-01-quine.md
2025-08-31 16:24:46 +00:00
0ab62cb2b3 Update 3 files
- /_data/links.csv
- /.github/PULL_REQUEST_TEMPLATE.md
- /links.md
2025-08-27 13:48:23 +00:00
37ead95307 Update 2 files
- /_data/proxylist.yml
- /index.html
2025-08-21 11:23:22 +00:00
fe29177bbd Update file proxylist.yml 2025-08-20 14:33:49 +00:00
6a4897140e Update file proxylist.yml 2025-08-14 11:13:39 +00:00
2b0fd923ad Update file proxylist.yml 2025-08-13 12:38:27 +00:00
86f82d5aac Update 2 files
- /feed.json
- /sitemap.xsl
2025-08-10 17:15:55 +00:00
3c324af39e Update 3 files
- /_data/ai-cache.json
- /rss.xml
- /feed.json
2025-08-10 17:01:39 +00:00
d9f22d591a Update file 2025-08-10-tilde.md 2025-08-10 11:10:13 +00:00
5b639a1cba Update file proxylist.yml 2025-08-09 17:14:00 +00:00
73415fe7ec Update 3 files
- /_data/proxylist.yml
- /index.html
- /_layouts/post.html
2025-08-07 14:01:09 +00:00
ada0170bc0 Update 4 files
- /_data/proxylist.yml
- /Live2dHistoire/README.md
- /Live2dHistoire/live2d/js/message.js
- /proxylist.md
2025-08-07 12:27:42 +00:00
16c29c6d1f Update 2 files
- /Live2dHistoire/live2d/js/message.js
- /_data/proxylist.yml
2025-08-05 12:54:04 +00:00
043b1a6cf6 Update 3 files
- /_data/ai-cache.json
- /_data/proxylist.yml
- /proxylist.md
2025-08-05 10:07:07 +00:00
5c9e79c0fc Merge pull request #182 from ChenJieHai1024/patch-2
Update links.csv
2025-08-05 16:57:00 +08:00
0cf73875a7 Update links.csv 2025-08-05 16:52:22 +08:00
82e9d43169 Update file proxylist.yml 2025-08-05 03:58:02 +00:00
be9602047b Update file rss-feed-preview.js 2025-08-04 05:19:53 +00:00
5300870620 Merge pull request #181 from TGU-HansJack/patch-2
Update links.csv
2025-08-04 08:24:23 +08:00
e809c313c2 Update links.csv 2025-08-04 06:30:22 +08:00
19d91dffd4 Merge pull request #180 from Keduoli03/patch-1
Update links.csv
2025-08-01 23:09:20 +08:00
b2a074bead Update links.csv 2025-08-01 23:04:24 +08:00
2c629c95b9 Update 2 files
- /assets/Mabbs.zip
- /_posts/2025-08-01-sw-proxy.md
2025-08-01 12:07:43 +00:00
d1e734ede7 Merge pull request #178 from kuang2714/patch-1
Update links.csv
2025-08-01 16:58:45 +08:00
fdaf977573 Update links.csv
彬红茶日记
2025-08-01 16:52:23 +08:00
f401d33c48 Update 2 files
- /index.html
- /proxylist.md
2025-07-29 04:20:42 +00:00
4475fd7ffe Update 4 files
- /images/offline.svg
- /_data/ai-cache.json
- /proxylist.md
- /assets/Mabbs.zip
2025-07-29 03:53:38 +00:00
cdd14e03e9 Update 2 files
- /_posts/2025-07-24-screenshot.md
- /index.html
2025-07-24 11:55:59 +00:00
ef2ea62d40 Update 2 files
- /README.md
- /_data/proxylist.yml
2025-07-21 17:22:14 +00:00
53a96b52d6 Update 3 files
- /deploy.sh
- /_data/proxylist.yml
- /_data/ai-cache.json
2025-07-19 15:16:24 +00:00
ba857c724b Update 2 files
- /blogroll.opml
- /_data/proxylist.yml
2025-07-19 08:36:42 +00:00
3ef5ec378d Update 5 files
- /.github/PULL_REQUEST_TEMPLATE.yml
- /assets/js/rss-feed-preview.js
- /links.md
- /sitemap.xsl
- /.github/PULL_REQUEST_TEMPLATE.md
2025-07-15 03:43:20 +00:00
e3cf4e5b9e Update 4 files
- /.github/PULL_REQUEST_TEMPLATE.yml
- /links.md
- /_data/ai-cache.json
- /_posts/2025-07-13-hacked.md
2025-07-13 13:06:39 +00:00
4f3bab2162 Update 3 files
- /_data/links.csv
- /_data/proxylist.yml
- /sitemap.xsl
2025-07-10 10:06:01 +00:00
4da75fcf15 Update file 2025-07-01-xslt.md 2025-07-01 00:07:12 +00:00
0e8ac37673 Update 8 files
- /_layouts/default.html
- /_includes/live2d.html
- /rss.xml
- /search.json
- /opensearch.xml
- /index.html
- /feed.json
- /404.md
2025-06-30 03:37:06 +00:00
4de724f972 Update 4 files
- /_layouts/xslt_container.html
- /_layouts/xslt.html
- /sitemap.xsl
- /feed.xslt.xml
2025-06-29 08:31:33 +00:00
0afcae7cd8 Update 4 files
- /_layouts/xslt.html
- /_layouts/xslt_container.html
- /sitemap.xsl
- /feed.xslt.xml
2025-06-26 03:21:48 +00:00
dddeb23c41 Update 2 files
- /_layouts/default.html
- /assets/css/style.scss
2025-06-25 16:29:11 +00:00
e4e0261e0a Update 3 files
- /_layouts/xslt_container.html
- /_layouts/xslt.html
- /feed.xslt.xml
2025-06-25 11:29:21 +00:00
fb76deac38 Update 2 files
- /_layouts/xslt_container.html
- /_layouts/default.html
2025-06-25 07:00:08 +00:00
d4165271bc Update 2 files
- /_layouts/xslt_container.html
- /_layouts/default.html
2025-06-25 06:45:14 +00:00
39cada8eef Update 2 files
- /_layouts/xslt_container.html
- /feed.xslt.xml
2025-06-25 06:13:37 +00:00
833fcb15ad Update 4 files
- /_layouts/xslt_container.html
- /_layouts/default.html
- /_layouts/xslt.html
- /feed.xslt.xml
2025-06-25 05:43:23 +00:00
2e4dee01e9 Merge pull request #174 from ChenJieHai1024/patch-1
Update links.csv
2025-06-21 18:49:05 +08:00
84e7982879 Update links.csv 2025-06-21 18:42:41 +08:00
4ee425d47c Update file message.js 2025-06-19 11:19:19 +00:00
7ea27ffbda Update 2 files
- /Live2dHistoire/live2d/js/message.js
- /_layouts/default.html
2025-06-19 10:14:53 +00:00
d10e960a8d Update 2 files
- /assets/js/main_new.js
- /_layouts/post.html
2025-06-19 08:51:38 +00:00
00ed1a9b50 Update 2 files
- /_layouts/post.html
- /links.md
2025-06-19 03:06:41 +00:00
dba69d3ceb Update 2 files
- /_layouts/post.html
- /assets/css/style.scss
2025-06-19 02:43:23 +00:00
c25290e716 Update 2 files
- /assets/js/simple-jekyll-search.min.js
- /search.html
2025-06-17 03:56:14 +00:00
7fbeaffac3 Update 2 files
- /Gemfile
- /_layouts/post.html
2025-06-16 11:42:07 +00:00
6030f3c83c Update 2 files
- /_layouts/post.html
- /_config.yml
2025-06-16 11:14:46 +00:00
840144b202 Update 3 files
- /BingSiteAuth.xml
- /_config.yml
- /_data/proxylist.yml
2025-06-15 15:03:35 +00:00
7c256532d3 Potential fix for code scanning alert no. 5: Incomplete string escaping or encoding
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-06-07 22:45:58 +08:00
d60d41a008 Update 3 files
- /404.md
- /_data/ai-cache.json
- /_posts/2025-06-02-optimize.md
2025-06-07 07:09:48 +00:00
5cc76892b3 Update 2 files
- /Gemfile
- /_posts/2025-06-02-optimize.md
2025-06-02 15:55:05 +00:00
0a34660f94 Update 2 files
- /assets/js/main.js
- /Gemfile
2025-06-02 14:31:40 +00:00
8fd0fd107f Update 3 files
- /_posts/2025-06-02-optimize.md
- /assets/js/main.js
- /index.html
2025-06-02 12:22:47 +00:00
c2351bc269 Update 2 files
- /_layouts/default.html
- /search.html
2025-06-02 05:26:23 +00:00
446c34abec Update file default.html 2025-06-01 09:21:31 +00:00
3c0dee8e79 Update file default.html 2025-06-01 06:35:20 +00:00
63ad82f16c Update file proxylist.yml 2025-05-26 01:36:54 +00:00
b7e3354701 Update 2 files
- /assets/js/gitalk.min.js
- /_layouts/post.html
2025-05-25 14:33:36 +00:00
2d757a0e7c Update 2 files
- /Live2dHistoire/live2d/js/message.js
- /assets/js/main_new.js
2025-05-24 17:33:47 +00:00
7937972e19 Update file proxylist.yml 2025-05-24 14:28:10 +00:00
5cbb262172 Update file proxylist.yml 2025-05-24 12:50:50 +00:00
723af68b24 Update file proxylist.yml 2025-05-24 11:28:11 +00:00
ffd614df6c Update 20 files
- /Live2dHistoire/live2d/model/nep/histoire.1024/0.png
- /Live2dHistoire/live2d/model/nep/histoire.1024/1.png
- /Live2dHistoire/live2d/model/nep/histoire.1024/normal_2.png
- /Live2dHistoire/live2d/model/nep/motions/idle/idle_00.mtn
- /Live2dHistoire/live2d/model/nep/motions/idle/idle_01.mtn
- /Live2dHistoire/live2d/model/nep/motions/idle/idle_02.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/nep_slide_head_2.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/nep_touch_belly_1.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/nep_touch_belly_2.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/nep_touch_boobs_1.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/nep_touch_head_1.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/refuse.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/shake.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/smile.mtn
- /Live2dHistoire/live2d/model/nep/motions/tap/tilt_head.mtn
- /Live2dHistoire/live2d/model/nep/ico_histoire.png
- /Live2dHistoire/live2d/model/nep/model.json
- /Live2dHistoire/live2d/model/nep/model.moc
- /Live2dHistoire/demo.html
- /_data/proxylist.yml
2025-05-23 18:10:49 +00:00
c6b5330945 Update 3 files
- /links.md
- /proxylist.md
- /_data/proxylist.yml
2025-05-22 03:45:18 +00:00
b1929b927f 编辑proxylist.yml 2025-05-22 02:14:19 +00:00
38caae08aa Merge pull request #172 from tuyuritio/patch-1
Update links.csv
2025-05-21 22:09:01 +08:00
46e17e7abd Update links.csv 2025-05-21 21:53:50 +08:00
8b4ec38daa Update 2 files
- /_data/proxylist.yml
- /proxylist.md
2025-05-21 10:06:13 +00:00
d1ac198efa Update file default.html 2025-05-19 17:43:40 +00:00
399a6e2b14 Update file default.html 2025-05-19 17:30:36 +00:00
786f9bd602 Update 2 files
- /index.html
- /_layouts/default.html
2025-05-19 17:20:16 +00:00
2b40c9e852 Update 2 files
- /_layouts/post.html
- /index.html
2025-05-19 02:16:23 +00:00
e5e305f0f3 Update 4 files
- /links.md
- /_layouts/post.html
- /_layouts/default.html
- /index.html
2025-05-19 02:03:49 +00:00
6584393a15 Update 2 files
- /_data/links.csv
- /feed.xslt.xml
2025-05-18 09:36:59 +00:00
6cb9535ecc Update 2 files
- /_layouts/post.html
- /_layouts/default.html
2025-05-17 07:05:02 +00:00
d00e310673 Update 2 files
- /_layouts/post.html
- /_layouts/encrypt.html
2025-05-17 05:03:00 +00:00
368f1eb0d7 Update 3 files
- /assets/css/style.scss
- /_layouts/post.html
- /_layouts/encrypt.html
2025-05-17 04:51:25 +00:00
98e38a212e Update 2 files
- /assets/css/style.scss
- /_layouts/post.html
2025-05-17 04:44:05 +00:00
b3bc4d12c8 Update 3 files
- /assets/css/style.scss
- /_data/proxylist.yml
- /_layouts/default.html
2025-05-16 13:56:43 +00:00
e0aba75f77 Update file style.scss 2025-05-16 13:40:53 +00:00
d1791b47f3 Update 2 files
- /_layouts/post.html
- /search.html
2025-05-16 13:18:52 +00:00
fe5faeac16 Update 4 files
- /search.html
- /assets/css/style.scss
- /assets/js/main_new.js
- /_layouts/post.html
2025-05-16 13:10:01 +00:00
953811453e Update file search.html 2025-05-15 09:31:09 +00:00
4c6c0bfc11 Update file search.html 2025-05-15 08:51:18 +00:00
17c27841b0 Update 3 files
- /README.md
- /_data/ai-cache.json
- /feed.xslt.xml
2025-05-12 14:47:25 +00:00
6de5898f85 Update file main.js 2025-05-11 17:25:57 +00:00
824f34f25f Update 2 files
- /assets/js/main.js
- /_layouts/post.html
2025-05-11 17:14:23 +00:00
de996d9015 Update 3 files
- /assets/js/main.js
- /_layouts/default.html
- /_layouts/post.html
2025-05-11 16:50:47 +00:00
dbc8d7fb3c Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /assets/js/main.js
- /index.html
2025-05-11 16:23:23 +00:00
ac554c5535 Update 3 files
- /assets/js/main.js
- /assets/js/main_new.js
- /_layouts/default.html
2025-05-11 16:12:22 +00:00
97e0ef3c81 Update file default.html 2025-05-09 10:17:06 +00:00
2e59f23e9f Update 2 files
- /_posts/2025-05-07-mac-studio.md
- /_layouts/default.html
2025-05-07 13:05:39 +00:00
6e45815987 编辑ai-cache.json 2025-05-01 10:33:21 +00:00
8b1135d688 Update 2 files
- /index.html
- /README.md
2025-04-30 02:49:13 +00:00
3b70d3c4bd Update 2 files
- /index.html
- /README.md
2025-04-30 02:38:27 +00:00
8a3ea7d2b0 Update 2 files
- /README.md
- /index.html
2025-04-30 02:26:24 +00:00
b818d1db8e Update 3 files
- /_layouts/default.html
- /index.html
- /search.html
2025-04-29 16:00:02 +00:00
a56d77a472 Update file README.md 2025-04-29 09:43:33 +00:00
72ab43b411 Update 2 files
- /assets/js/main.js
- /_posts/2025-04-04-search.md
2025-04-28 15:40:47 +00:00
0f00469871 Update 6 files
- /_posts/2018-11-10-email-sender.md
- /_posts/2021-03-02-workers.md
- /_posts/2019-11-21-enc.md
- /_posts/2019-06-22-counter.md
- /_layouts/default.html
- /feed.xslt.xml
2025-04-28 15:08:22 +00:00
1df87ea39d Update 2 files
- /feed.xslt.xml
- /feed.json
2025-04-28 06:47:48 +00:00
a5ace5b449 Update 2 files
- /feed.xslt.xml
- /rss.xml
2025-04-28 06:21:39 +00:00
29c6d57faa Update 3 files
- /feed.xslt.xml
- /rss.xml
- /feed.json
2025-04-28 06:04:28 +00:00
d01d9119de Update 4 files
- /feed.json
- /_layouts/default.html
- /rss.xml
- /feed.xslt.xml
2025-04-28 05:33:18 +00:00
d0ce029b94 Update 4 files
- /assets/css/style.scss
- /_layouts/post.html
- /_layouts/default.html
- /_data/ai-cache.json
2025-04-27 15:54:45 +00:00
ebc280932e Update 2 files
- /_layouts/default.html
- /blogroll.opml
2025-04-26 17:41:45 +00:00
6d145383f5 Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /index.html
- /search.html
2025-04-26 13:52:27 +00:00
9669d10f5c Update 3 files
- /blogroll.opml
- /_layouts/default.html
- /assets/js/main.js
2025-04-26 09:31:14 +00:00
d9984efa2a Update file feed.xslt.xml 2025-04-23 16:27:15 +00:00
16fd0ffd59 Update file feed.xslt.xml 2025-04-23 16:11:09 +00:00
028f8b7347 Update file feed.xslt.xml 2025-04-23 15:50:16 +00:00
a9a876bc6f Update file 2025-04-22-ai-limit.md 2025-04-22 14:07:26 +00:00
3edfcdb60a Update file index.html 2025-04-22 10:14:18 +00:00
c454031365 Update file index.html 2025-04-22 10:00:50 +00:00
a9d4790eb7 编辑index.html 2025-04-22 06:14:26 +00:00
2f59a946db Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /index.html
- /assets/css/style.scss
2025-04-22 06:01:34 +00:00
1f5ef5079c Update file links.csv 2025-04-20 08:55:37 +00:00
9d255a0a6f Update 3 files
- /_config.yml
- /assets/css/style.scss
- /assets/js/main.js
2025-04-17 06:12:24 +00:00
9f2bed804e Update 5 files
- /_config.yml
- /assets/css/style.scss
- /assets/js/main.js
- /_layouts/default.html
- /_layouts/post.html
2025-04-17 03:51:49 +00:00
8211f6d1a2 Update 2 files
- /assets/css/style.scss
- /assets/js/main.js
2025-04-16 10:16:14 +00:00
8f440b43dd Update file links.csv 2025-04-15 12:29:04 +00:00
7fe88c21a6 Update 2 files
- /_data/ai-cache.json
- /_layouts/post.html
2025-04-14 15:45:30 +00:00
526c8c35b7 Update 4 files
- /links.md
- /_data/links.csv
- /blogroll.opml
- /_layouts/default.html
2025-04-11 17:48:08 +00:00
9b3f0369f6 Update 2 files
- /blogroll.opml
- /links.md
2025-04-11 17:31:05 +00:00
e8f6fbe1e7 Update 2 files
- /blogroll.opml
- /links.md
2025-04-11 17:16:01 +00:00
91dd8a34ea Update 24 files
- /css/gitalk.css
- /js/aes.js
- /js/gitalk.min.js
- /js/jquery.min.js
- /js/main.js
- /js/rss-feed-preview.js
- /js/simple-jekyll-search.min.js
- /assets/css/gitalk.css
- /assets/js/rss-feed-preview.js
- /assets/js/main.js
- /assets/js/jquery.min.js
- /assets/js/simple-jekyll-search.min.js
- /assets/js/aes.js
- /assets/js/gitalk.min.js
- /assets/js/instant.page.js
- /_layouts/post.html
- /_layouts/encrypt.html
- /_layouts/default.html
- /search.html
- /aes.html
- /_posts/2025-04-08-feed.md
- /links.md
- /blogroll.opml
- /jump.html
2025-04-11 17:07:43 +00:00
87 changed files with 3302 additions and 1245 deletions

10
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,10 @@
<!-- 欢迎提交PR如果是修复 BUG 或 typo ,可直接删除此模板。若是添加友链,请确认满足以下条件(将 [ ] 替换为 [x] 打勾): -->
- [ ] 这个 PR 是关于添加Links的
- [ ] 我在申请之前加上了[贵站](https://mabbs.github.io)友链
- [ ] 我的网站 **全站启用 HTTPS**
- [ ] 我的博客满足: **原创文章比例>80%,数量>10** 的要求
- [ ] 我的网站满足 **站点稳定,不弃坑** 的要求
- [ ] 我的链接列表不需要客户端渲染 <!-- 如有请在下方列出合理原因 -->
我的网站是: <!-- 例如https://example.com -->

16
.readthedocs.yaml Normal file
View File

@ -0,0 +1,16 @@
# Required
version: 2
build:
os: ubuntu-24.04
tools:
ruby: "3.3"
commands:
- gem install bundler
- bundle install
- mkdir Mabbs
- curl -L -o Mabbs/README.md https://github.com/Mabbs/Mabbs/raw/main/README.md
- bundle exec jekyll build --destination $READTHEDOCS_OUTPUT/html
- tar czvf MayxBlog.tgz -C $READTHEDOCS_OUTPUT html
- mv MayxBlog.tgz $READTHEDOCS_OUTPUT/html

8
404.md
View File

@ -2,5 +2,13 @@
layout: default layout: default
title: 404 - 找不到页面 title: 404 - 找不到页面
--- ---
# 找不到页面 # 找不到页面
你访问的资源 <code><script>document.write(window.location.pathname)</script></code> 不存在或者可能已经被永久移除。 你访问的资源 <code><script>document.write(window.location.pathname)</script></code> 不存在或者可能已经被永久移除。
或者看看近期的其他文章?
{% for post in site.posts limit:10 %}
- {{ post.date | date: "%Y/%m/%d" }} - [{{ post.title }}{% if post.layout == "encrypt" %} [加密] {% endif %}]({{ post.url }})
{% endfor %}

View File

@ -1,4 +0,0 @@
<?xml version="1.0"?>
<users>
<user>0ADFCE64B3557DC4DC5F2DC224C5FDDD</user>
</users>

View File

@ -7,6 +7,9 @@ group :jekyll_plugins do
gem "jekyll-sitemap", "~> 1.4.0" gem "jekyll-sitemap", "~> 1.4.0"
gem "jekyll-feed", "~> 0.15.1" gem "jekyll-feed", "~> 0.15.1"
gem "jekyll-include-cache", "~> 0.2.1" gem "jekyll-include-cache", "~> 0.2.1"
gem "jekyll-readme-index", "~> 0.3.0"
gem "jekyll-default-layout", "~> 0.1.5"
gem "jekyll-titles-from-headings", "~> 0.5.3"
gem "jekyll-theme-minimal" gem "jekyll-theme-minimal"
gem "jekyll-paginate", "~> 1.1.0" gem "jekyll-paginate", "~> 1.1.0"
gem "kramdown-parser-gfm", "~> 1.1.0" gem "kramdown-parser-gfm", "~> 1.1.0"

View File

@ -1,4 +1,5 @@
# Live2d的看板娘——伊斯特瓦尔(Histoire) # Live2d的看板娘——伊斯特瓦尔(Histoire)
[Original Repo](https://github.com/eeg1412/Live2dHistoire)
#### 可用于网页端显示Live2D版的伊斯特瓦尔(Histoire) emlog插件版可以看这里[传送门](https://www.wikimoe.com/?post=75) #### 可用于网页端显示Live2D版的伊斯特瓦尔(Histoire) emlog插件版可以看这里[传送门](https://www.wikimoe.com/?post=75)
#### 基于[《给博客添加能动的看板娘(Live2D)-将其添加到网页上吧》](https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02)上的源码进行修改。 #### 基于[《给博客添加能动的看板娘(Live2D)-将其添加到网页上吧》](https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02)上的源码进行修改。
#### 在原先的基础上加上了如下功能: #### 在原先的基础上加上了如下功能:
@ -93,9 +94,6 @@ var talkAPI = "";//如果有类似图灵机器人的聊天接口请填写接口
注意路径别弄错了噢 ~ 注意路径别弄错了噢 ~
PHP 程序推荐使用主题函数获取绝对路径。 PHP 程序推荐使用主题函数获取绝对路径。
### 效果预览
![](https://t1.aixinxi.net/o_1c3mofql9osmpeb1hfvsbv1hqua.gif-j.jpg)
### 模型说明 ### 模型说明
本插件仅供学习和交流使用,禁止用于商业用途。 本插件仅供学习和交流使用,禁止用于商业用途。

View File

@ -1,45 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Live2D</title>
<link rel="stylesheet" href="live2d/css/live2d.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
</head>
<body>
<div id="landlord" style="left:5px;bottom:0px;">
<div class="message" style="opacity:0"></div>
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
<div class="live_talk_input_body">
<div class="live_talk_input_name_body">
<input name="name" type="text" class="live_talk_name white_input" id="AIuserName" autocomplete="off" placeholder="你的名字" />
</div>
<div class="live_talk_input_text_body">
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?"/>
<button type="button" class="live_talk_send_btn" id="talk_send">发送</button>
</div>
</div>
<input name="live_talk" id="live_talk" value="1" type="hidden" />
<div class="live_ico_box">
<div class="live_ico_item type_info" id="showInfoBtn"></div>
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
<div class="live_ico_item type_music" id="musicButton"></div>
<div class="live_ico_item type_youdu" id="youduButton"></div>
<div class="live_ico_item type_quit" id="hideButton"></div>
<input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
<audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
<input name="live2dBGM" value="https://t1.aixinxi.net/o_1c52p4qbp15idv6bl55h381moha.mp3" type="hidden">
<input name="live2dBGM" value="https://t1.aixinxi.net/o_1c52p8frrlmf1aled1e14m56una.mp3" type="hidden">
<input id="duType" value="douqilai,l2d_caihong" type="hidden">
</div>
</div>
<div id="open_live2d">召唤伊斯特瓦尔</div>
<script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
var message_Path = '/histoire/live2d/';//资源目录,如果目录不对请更改
var talkAPI = "";//如果有类似图灵机器人的聊天接口请填写接口路径
</script>
<script type="text/javascript" src="live2d/js/live2d.js"></script>
<script type="text/javascript" src="live2d/js/message.js"></script>
</body>
</html>

View File

@ -1,35 +1,33 @@
var home_Path = document.location.protocol +'//' + window.document.location.hostname +'/';
var userAgent = window.navigator.userAgent.toLowerCase(); var userAgent = window.navigator.userAgent.toLowerCase();
console.log(userAgent); console.log(userAgent);
var norunAI = [ "android", "iphone", "ipod", "ipad", "windows phone"]; var norunAI = ["android", "iphone", "ipod", "ipad", "windows phone"];
var norunFlag = false; var norunFlag = false;
for(var i=0;i<norunAI.length;i++){ for (var i = 0; i < norunAI.length; i++) {
if(userAgent.indexOf(norunAI[i]) > -1){ if (userAgent.indexOf(norunAI[i]) > -1) {
norunFlag = true; norunFlag = true;
break; break;
} }
} }
if(!window.WebGLRenderingContext){ if (!window.WebGLRenderingContext) {
norunFlag = true; norunFlag = true;
} }
if(!norunFlag){ if (!norunFlag) {
var hitFlag = false; var hitFlag = false;
var AIFadeFlag = false; var AIFadeFlag = false;
var liveTlakTimer = null; var liveTlakTimer = null;
var sleepTimer_ = null; var sleepTimer_ = null;
var AITalkFlag = false; var AITalkFlag = false;
var talkNum = 0; var talkNum = 0;
(function (){ (function () {
function renderTip(template, context) { function renderTip(template, context) {
var tokenReg = /(\\)?\{([^\{\}\\]+)(\\)?\}/g; var tokenReg = /(\\)?\{([^\{\}\\]+)(\\)?\}/g;
return template.replace(tokenReg, function (word, slash1, token, slash2) { return template.replace(tokenReg, function (word, slash1, token, slash2) {
if (slash1 || slash2) { if (slash1 || slash2) {
return word.replace('\\', ''); return word.replace(/\\/g, '');
} }
var variables = token.replace(/\s/g, '').split('.'); var variables = token.replace(/\s/g, '').split('.');
var currentObject = context; var currentObject = context;
@ -42,88 +40,89 @@ if(!norunFlag){
return currentObject; return currentObject;
}); });
} }
String.prototype.renderTip = function (context) { String.prototype.renderTip = function (context) {
return renderTip(this, context); return renderTip(this, context);
}; };
var re = /x/; var re = /x/;
re.toString = function() { console.log(re);
re.toString = function () {
showMessage('哈哈,你打开了控制台,是想要看看我的秘密吗?', 5000); showMessage('哈哈,你打开了控制台,是想要看看我的秘密吗?', 5000);
return ''; return '';
}; };
$(document).on('copy', function (){ $(document).on('copy', function () {
showMessage('你都复制了些什么呀,转载要记得加上出处哦~~', 5000); showMessage('你都复制了些什么呀,转载要记得加上出处哦~~', 5000);
}); });
function initTips(){ function initTips() {
$.ajax({ $.ajax({
cache: true, cache: true,
url: message_Path+'message.json', url: message_Path + 'message.json',
dataType: "json", dataType: "json",
success: function (result){ success: function (result) {
$.each(result.mouseover, function (index, tips){ $.each(result.mouseover, function (index, tips) {
$(tips.selector).mouseover(function (){ $(tips.selector).mouseover(function () {
var text = tips.text; var text = tips.text;
if(Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1)-1]; if (Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1) - 1];
text = text.renderTip({text: $(this).text()}); text = text.renderTip({ text: $(this).text() });
showMessage(text, 3000); showMessage(text, 3000);
talkValTimer(); talkValTimer();
clearInterval(liveTlakTimer); clearInterval(liveTlakTimer);
liveTlakTimer = null; liveTlakTimer = null;
}); });
$(tips.selector).mouseout(function (){ $(tips.selector).mouseout(function () {
showHitokoto(); showHitokoto();
if(liveTlakTimer == null){ if (liveTlakTimer == null) {
liveTlakTimer = window.setInterval(function(){ liveTlakTimer = window.setInterval(function () {
showHitokoto(); showHitokoto();
},15000); }, 15000);
}; };
}); });
}); });
$.each(result.click, function (index, tips){ $.each(result.click, function (index, tips) {
$(tips.selector).click(function (){ $(tips.selector).click(function () {
if(hitFlag){ if (hitFlag) {
return false return false
} }
hitFlag = true; hitFlag = true;
setTimeout(function(){ setTimeout(function () {
hitFlag = false; hitFlag = false;
},8000); }, 8000);
var text = tips.text; var text = tips.text;
if(Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1)-1]; if (Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1) - 1];
text = text.renderTip({text: $(this).text()}); text = text.renderTip({ text: $(this).text() });
showMessage(text, 3000); showMessage(text, 3000);
}); });
clearInterval(liveTlakTimer); clearInterval(liveTlakTimer);
liveTlakTimer = null; liveTlakTimer = null;
if(liveTlakTimer == null){ if (liveTlakTimer == null) {
liveTlakTimer = window.setInterval(function(){ liveTlakTimer = window.setInterval(function () {
showHitokoto(); showHitokoto();
},15000); }, 15000);
}; };
}); });
} }
}); });
} }
initTips(); initTips();
var text; var text;
if(document.referrer !== '' && document.referrer.split('/')[2] !== window.location.host ){ if (document.referrer !== '' && document.referrer.split('/')[2] !== window.location.host) {
var referrer = document.createElement('a'); var referrer = document.createElement('a');
referrer.href = document.referrer; referrer.href = document.referrer;
text = '嗨!来自 <span style="color:#0099cc;">' + referrer.hostname + '</span> 的朋友!'; text = '嗨!来自 <span style="color:#0099cc;">' + referrer.hostname + '</span> 的朋友!';
var domain = referrer.hostname.split('.')[1]; var domain = referrer.hostname.split('.')[1];
if (domain == 'baidu') { if (domain == 'baidu') {
text = '嗨! 来自 百度搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>'; text = '嗨! 来自 百度搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
}else if (domain == 'so') { } else if (domain == 'so') {
text = '嗨! 来自 360搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>'; text = '嗨! 来自 360搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
}else if (domain == 'google') { } else if (domain == 'google') {
text = '嗨! 来自 谷歌搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>'; text = '嗨! 来自 谷歌搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
} }
}else { } else {
if (window.location.href == home_Path) { //主页URL判断需要斜杠结尾 if (window.location.pathname == "/") { //主页URL判断需要斜杠结尾
var now = (new Date()).getHours(); var now = (new Date()).getHours();
if (now > 23 || now <= 5) { if (now > 23 || now <= 5) {
text = '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?'; text = '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
@ -144,133 +143,141 @@ if(!norunFlag){
} else { } else {
text = '嗨~ 快来逗我玩吧!'; text = '嗨~ 快来逗我玩吧!';
} }
}else { } else {
text = '欢迎阅读<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>'; text = '欢迎阅读<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
} }
} }
showMessage(text, 12000); showMessage(text, 12000);
})(); })();
liveTlakTimer = setInterval(function(){ liveTlakTimer = setInterval(function () {
showHitokoto(); showHitokoto();
},15000); }, 15000);
function showHitokoto(){ function showHitokoto() {
if(sessionStorage.getItem("Sleepy")!=="1"){ if (sessionStorage.getItem("Sleepy") !== "1") {
if(!AITalkFlag){ if (!AITalkFlag) {
$.getJSON('https://hitokoto.mayx.eu.org/',function(result){ $.getJSON('https://hitokoto.mayx.eu.org/', function (result) {
talkValTimer(); talkValTimer();
showMessage(result.hitokoto, 0); showMessage(result.hitokoto, 0);
}); });
} }
}else{ } else {
hideMessage(0); hideMessage(0);
if(sleepTimer_==null){ if (sleepTimer_ == null) {
sleepTimer_ = setInterval(function(){ sleepTimer_ = setInterval(function () {
checkSleep(); checkSleep();
},200); }, 200);
} }
console.log(sleepTimer_); console.log(sleepTimer_);
} }
} }
function checkSleep(){ function checkSleep() {
var sleepStatu = sessionStorage.getItem("Sleepy"); var sleepStatu = sessionStorage.getItem("Sleepy");
if(sleepStatu!=='1'){ if (sleepStatu !== '1') {
talkValTimer(); talkValTimer();
showMessage('你回来啦~', 0); showMessage('你回来啦~', 0);
clearInterval(sleepTimer_); clearInterval(sleepTimer_);
sleepTimer_= null; sleepTimer_ = null;
} }
} }
function showMessage(text, timeout){ function showMessage(text, timeout) {
if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1]; if (Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1) - 1];
//console.log('showMessage', text); //console.log('showMessage', text);
$('.message').stop(); $('.message').stop();
if(text instanceof EventSource){ if (typeof EventSource !== 'undefined' && text instanceof EventSource) {
var outputContainer = $('.message')[0]; var outputContainer = $('.message')[0];
var eventFlag = false; var eventFlag = false;
text.onmessage = (event) => { text.onmessage = function (event) {
if (event.data == "[DONE]") { if (event.data == "[DONE]") {
text.close(); text.close();
return; return;
} else { } else {
if(!eventFlag){ if (!eventFlag) {
talkValTimer(); talkValTimer();
outputContainer.textContent = ""; outputContainer.textContent = "";
eventFlag = true; eventFlag = true;
} }
const data = JSON.parse(event.data); var data = JSON.parse(event.data);
outputContainer.textContent += data.response; if (data.response) {
outputContainer.textContent += data.response;
}
} }
} }
}else{ } else {
$('.message').html(text); $('.message').html(text);
} }
$('.message').fadeTo(200, 1); $('.message').fadeTo(200, 1);
//if (timeout === null) timeout = 5000; //if (timeout === null) timeout = 5000;
//hideMessage(timeout); //hideMessage(timeout);
} }
function talkValTimer(){ function talkValTimer() {
$('#live_talk').val('1'); $('#live_talk').val('1');
} }
function hideMessage(timeout){ function hideMessage(timeout) {
//$('.message').stop().css('opacity',1); //$('.message').stop().css('opacity',1);
if (timeout === null) timeout = 5000; if (timeout === null) timeout = 5000;
$('.message').delay(timeout).fadeTo(200, 0); $('.message').delay(timeout).fadeTo(200, 0);
} }
function initLive2d (){ function initLive2d() {
$('#hideButton').on('click', function(){ $("#landlord").mouseenter(function () {
if(AIFadeFlag){ $(".live_ico_box").fadeIn();
});
$("#landlord").mouseleave(function () {
$(".live_ico_box").fadeOut();
});
$('#hideButton').on('click', function () {
if (AIFadeFlag) {
return false; return false;
}else{ } else {
AIFadeFlag = true; AIFadeFlag = true;
localStorage.setItem("live2dhidden", "0"); localStorage.setItem("live2dhidden", "0");
$('#landlord').fadeOut(200); $('#landlord').fadeOut(200);
$('#open_live2d').delay(200).fadeIn(200); $('#open_live2d').delay(200).fadeIn(200);
setTimeout(function(){ setTimeout(function () {
AIFadeFlag = false; AIFadeFlag = false;
},300); }, 300);
} }
}); });
$('#open_live2d').on('click', function(){ $('#open_live2d').on('click', function () {
if(AIFadeFlag){ if (AIFadeFlag) {
return false; return false;
}else{ } else {
AIFadeFlag = true; AIFadeFlag = true;
localStorage.setItem("live2dhidden", "1"); localStorage.setItem("live2dhidden", "1");
$('#open_live2d').fadeOut(200); $('#open_live2d').fadeOut(200);
$('#landlord').delay(200).fadeIn(200); $('#landlord').delay(200).fadeIn(200);
setTimeout(function(){ setTimeout(function () {
AIFadeFlag = false; AIFadeFlag = false;
},300); }, 300);
} }
}); });
$('#youduButton').on('click',function(){ $('#youduButton').on('click', function () {
if($('#youduButton').hasClass('doudong')){ if ($('#youduButton').hasClass('doudong')) {
var typeIs = $('#youduButton').attr('data-type'); var typeIs = $('#youduButton').attr('data-type');
$('#youduButton').removeClass('doudong'); $('#youduButton').removeClass('doudong');
$('body').removeClass(typeIs); $('body').removeClass(typeIs);
$('#youduButton').attr('data-type',''); $('#youduButton').attr('data-type', '');
}else{ } else {
var duType = $('#duType').val(); var duType = $('#duType').val();
var duArr = duType.split(","); var duArr = duType.split(",");
var dataType = duArr[Math.floor(Math.random() * duArr.length)]; var dataType = duArr[Math.floor(Math.random() * duArr.length)];
$('#youduButton').addClass('doudong'); $('#youduButton').addClass('doudong');
$('#youduButton').attr('data-type',dataType); $('#youduButton').attr('data-type', dataType);
$('body').addClass(dataType); $('body').addClass(dataType);
} }
}); });
if(talkAPI!==""){ if (talkAPI !== "" && typeof EventSource !== 'undefined') {
$('#showInfoBtn').on('click',function(){ $('#showInfoBtn').on('click', function () {
var live_statu = $('#live_statu_val').val(); var live_statu = $('#live_statu_val').val();
if(live_statu=="0"){ if (live_statu == "0") {
return return
}else{ } else {
$('#live_statu_val').val("0"); $('#live_statu_val').val("0");
$('.live_talk_input_body').fadeOut(500); $('.live_talk_input_body').fadeOut(500);
AITalkFlag = false; AITalkFlag = false;
@ -279,106 +286,38 @@ if(!norunFlag){
$('#showInfoBtn').hide(); $('#showInfoBtn').hide();
} }
}); });
$('#showTalkBtn').on('click',function(){ $('#showTalkBtn').on('click', function () {
var live_statu = $('#live_statu_val').val(); var live_statu = $('#live_statu_val').val();
if(live_statu=="1"){ if (live_statu == "1") {
return return
}else{ } else {
$('#live_statu_val').val("1"); $('#live_statu_val').val("1");
$('.live_talk_input_body').fadeIn(500); $('.live_talk_input_body').fadeIn(500);
AITalkFlag = true; AITalkFlag = true;
$('#showTalkBtn').hide(); $('#showTalkBtn').hide();
$('#showInfoBtn').show(); $('#showInfoBtn').show();
} }
}); });
$('#talk_send').on('click',function(){ $('#live_talk_input_form').on('submit', function (e) {
e.preventDefault();
var info_ = $('#AIuserText').val(); var info_ = $('#AIuserText').val();
// var userid_ = $('#AIuserName').val(); // var userid_ = $('#AIuserName').val();
let add_id = ""; let add_id = "";
if($('#load_this').prop("checked")){ if ($('#load_this').prop("checked")) {
add_id = "&id="+encodeURIComponent($('#post_id').val()); add_id = "&id=" + encodeURIComponent($('#post_id').val());
} }
if(info_ == "" ){ if (info_ == "") {
showMessage('写点什么吧!',0); showMessage('写点什么吧!', 0);
return; return;
} }
showMessage('思考中~', 0); showMessage('思考中~', 0);
const evSource = new EventSource(talkAPI + "?info=" + encodeURIComponent(info_) + add_id); showMessage(new EventSource(talkAPI + "?info=" + encodeURIComponent(info_) + add_id));
showMessage(evSource);
}); });
}else{ } else {
$('#showInfoBtn').hide(); $('#showInfoBtn').hide();
$('#showTalkBtn').hide(); $('#showTalkBtn').hide();
}
//获取音乐信息初始化
var bgmListInfo = $('input[name=live2dBGM]');
if(bgmListInfo.length == 0){
$('#musicButton').hide();
}else{
var bgmPlayNow = parseInt($('#live2d_bgm').attr('data-bgm'));
var bgmPlayTime = 0;
var live2dBGM_Num = sessionStorage.getItem("live2dBGM_Num");
var live2dBGM_PlayTime = sessionStorage.getItem("live2dBGM_PlayTime");
if(live2dBGM_Num){
if(live2dBGM_Num<=$('input[name=live2dBGM]').length-1){
bgmPlayNow = parseInt(live2dBGM_Num);
}
}
if(live2dBGM_PlayTime){
bgmPlayTime = parseInt(live2dBGM_PlayTime);
}
var live2dBGMSrc = bgmListInfo.eq(bgmPlayNow).val();
$('#live2d_bgm').attr('data-bgm',bgmPlayNow);
$('#live2d_bgm').attr('src',live2dBGMSrc);
$('#live2d_bgm')[0].currentTime = bgmPlayTime;
$('#live2d_bgm')[0].volume = 0.5;
var live2dBGM_IsPlay = sessionStorage.getItem("live2dBGM_IsPlay");
var live2dBGM_WindowClose = sessionStorage.getItem("live2dBGM_WindowClose");
if(live2dBGM_IsPlay == '0' && live2dBGM_WindowClose == '0'){
$('#live2d_bgm')[0].play();
$('#musicButton').addClass('play');
}
sessionStorage.setItem("live2dBGM_WindowClose" , '1');
$('#musicButton').on('click',function(){
if($('#musicButton').hasClass('play')){
$('#live2d_bgm')[0].pause();
$('#musicButton').removeClass('play');
sessionStorage.setItem("live2dBGM_IsPlay",'1');
}else{
$('#live2d_bgm')[0].play();
$('#musicButton').addClass('play');
sessionStorage.setItem("live2dBGM_IsPlay",'0');
}
});
window.onbeforeunload = function(){
sessionStorage.setItem("live2dBGM_WindowClose" , '0');
if($('#musicButton').hasClass('play')){
sessionStorage.setItem("live2dBGM_IsPlay",'0');
}
}
document.getElementById('live2d_bgm').addEventListener("timeupdate", function(){
var live2dBgmPlayTimeNow = document.getElementById('live2d_bgm').currentTime;
sessionStorage.setItem("live2dBGM_PlayTime" , live2dBgmPlayTimeNow );
});
document.getElementById('live2d_bgm').addEventListener("ended", function(){
var listNow = parseInt($('#live2d_bgm').attr('data-bgm'));
listNow ++ ;
if(listNow > $('input[name=live2dBGM]').length-1){
listNow = 0;
}
var listNewSrc = $('input[name=live2dBGM]').eq(listNow).val();
sessionStorage.setItem("live2dBGM_Num",listNow);
$('#live2d_bgm').attr('src',listNewSrc);
$('#live2d_bgm')[0].play();
$('#live2d_bgm').attr('data-bgm',listNow);
});
document.getElementById('live2d_bgm').addEventListener("error", function(){
$('#live2d_bgm')[0].pause();
$('#musicButton').removeClass('play');
showMessage('音乐似乎加载不出来了呢!',0);
});
} }
// //获取用户名 // //获取用户名
// var live2dUser = sessionStorage.getItem("live2duser"); // var live2dUser = sessionStorage.getItem("live2duser");
@ -388,12 +327,12 @@ if(!norunFlag){
//获取位置 //获取位置
var landL = sessionStorage.getItem("historywidth"); var landL = sessionStorage.getItem("historywidth");
var landB = sessionStorage.getItem("historyheight"); var landB = sessionStorage.getItem("historyheight");
if(landL == null || landB ==null){ if (landL == null || landB == null) {
landL = '5px' landL = '5px'
landB = '0px' landB = '0px'
} }
$('#landlord').css('left',landL+'px'); $('#landlord').css('left', landL + 'px');
$('#landlord').css('bottom',landB + 'px'); $('#landlord').css('bottom', landB + 'px');
//移动 //移动
function getEvent() { function getEvent() {
return window.event || arguments.callee.caller.arguments[0]; return window.event || arguments.callee.caller.arguments[0];
@ -406,7 +345,7 @@ if(!norunFlag){
var moveable = false; var moveable = false;
var docMouseMoveEvent = document.onmousemove; var docMouseMoveEvent = document.onmousemove;
var docMouseUpEvent = document.onmouseup; var docMouseUpEvent = document.onmouseup;
smcc.onmousedown = function(){ smcc.onmousedown = function () {
var ent = getEvent(); var ent = getEvent();
moveable = true; moveable = true;
moveX = ent.clientX; moveX = ent.clientX;
@ -414,20 +353,20 @@ if(!norunFlag){
var obj = smcc; var obj = smcc;
moveBottom = parseInt(obj.style.bottom); moveBottom = parseInt(obj.style.bottom);
moveLeft = parseInt(obj.style.left); moveLeft = parseInt(obj.style.left);
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
window.getSelection().removeAllRanges(); window.getSelection().removeAllRanges();
} }
document.onmousemove = function(){ document.onmousemove = function () {
if(moveable){ if (moveable) {
var ent = getEvent(); var ent = getEvent();
var x = moveLeft + ent.clientX - moveX; var x = moveLeft + ent.clientX - moveX;
var y = moveBottom + (moveY - ent.clientY); var y = moveBottom + (moveY - ent.clientY);
obj.style.left = x + "px"; obj.style.left = x + "px";
obj.style.bottom = y + "px"; obj.style.bottom = y + "px";
} }
}; };
document.onmouseup = function(){ document.onmouseup = function () {
if(moveable){ if (moveable) {
var historywidth = obj.style.left; var historywidth = obj.style.left;
var historyheight = obj.style.bottom; var historyheight = obj.style.bottom;
historywidth = historywidth.replace('px', ''); historywidth = historywidth.replace('px', '');
@ -436,7 +375,7 @@ if(!norunFlag){
sessionStorage.setItem("historyheight", historyheight); sessionStorage.setItem("historyheight", historyheight);
document.onmousemove = docMouseMoveEvent; document.onmousemove = docMouseMoveEvent;
document.onmouseup = docMouseUpEvent; document.onmouseup = docMouseUpEvent;
moveable = false; moveable = false;
moveX = 0; moveX = 0;
moveY = 0; moveY = 0;
moveBottom = 0; moveBottom = 0;
@ -444,37 +383,105 @@ if(!norunFlag){
} }
}; };
}; };
//获取音乐信息初始化
var bgmListInfo = $('input[name=live2dBGM]');
if (bgmListInfo.length == 0) {
$('#musicButton').hide();
} else {
var bgmPlayNow = parseInt($('#live2d_bgm').attr('data-bgm'));
var bgmPlayTime = 0;
var live2dBGM_Num = sessionStorage.getItem("live2dBGM_Num");
var live2dBGM_PlayTime = sessionStorage.getItem("live2dBGM_PlayTime");
if (live2dBGM_Num) {
if (live2dBGM_Num <= $('input[name=live2dBGM]').length - 1) {
bgmPlayNow = parseInt(live2dBGM_Num);
}
}
if (live2dBGM_PlayTime) {
bgmPlayTime = parseInt(live2dBGM_PlayTime);
}
var live2dBGMSrc = bgmListInfo.eq(bgmPlayNow).val();
$('#live2d_bgm').attr('data-bgm', bgmPlayNow);
$('#live2d_bgm').attr('src', live2dBGMSrc);
$('#live2d_bgm')[0].currentTime = bgmPlayTime;
$('#live2d_bgm')[0].volume = 0.5;
var live2dBGM_IsPlay = sessionStorage.getItem("live2dBGM_IsPlay");
var live2dBGM_WindowClose = sessionStorage.getItem("live2dBGM_WindowClose");
if (live2dBGM_IsPlay == '0' && live2dBGM_WindowClose == '0') {
$('#live2d_bgm')[0].play();
$('#musicButton').addClass('play');
}
sessionStorage.setItem("live2dBGM_WindowClose", '1');
$('#musicButton').on('click', function () {
if ($('#musicButton').hasClass('play')) {
$('#live2d_bgm')[0].pause();
$('#musicButton').removeClass('play');
sessionStorage.setItem("live2dBGM_IsPlay", '1');
} else {
$('#live2d_bgm')[0].play();
$('#musicButton').addClass('play');
sessionStorage.setItem("live2dBGM_IsPlay", '0');
}
});
window.onbeforeunload = function () {
sessionStorage.setItem("live2dBGM_WindowClose", '0');
if ($('#musicButton').hasClass('play')) {
sessionStorage.setItem("live2dBGM_IsPlay", '0');
}
}
document.getElementById('live2d_bgm').addEventListener("timeupdate", function () {
var live2dBgmPlayTimeNow = document.getElementById('live2d_bgm').currentTime;
sessionStorage.setItem("live2dBGM_PlayTime", live2dBgmPlayTimeNow);
});
document.getElementById('live2d_bgm').addEventListener("ended", function () {
var listNow = parseInt($('#live2d_bgm').attr('data-bgm'));
listNow++;
if (listNow > $('input[name=live2dBGM]').length - 1) {
listNow = 0;
}
var listNewSrc = $('input[name=live2dBGM]').eq(listNow).val();
sessionStorage.setItem("live2dBGM_Num", listNow);
$('#live2d_bgm').attr('src', listNewSrc);
$('#live2d_bgm')[0].play();
$('#live2d_bgm').attr('data-bgm', listNow);
});
document.getElementById('live2d_bgm').addEventListener("error", function () {
$('#live2d_bgm')[0].pause();
$('#musicButton').removeClass('play');
showMessage('音乐似乎加载不出来了呢!', 0);
});
}
} }
$(document).ready(function() { $(document).ready(function () {
var AIimgSrc = [ var AIimgSrc = [
home_Path + message_Path + "model/histoire/histoire.1024/texture_00.png", message_Path + "model/histoire/histoire.1024/texture_00.png",
home_Path + message_Path + "model/histoire/histoire.1024/texture_01.png", message_Path + "model/histoire/histoire.1024/texture_01.png",
home_Path + message_Path + "model/histoire/histoire.1024/texture_02.png", message_Path + "model/histoire/histoire.1024/texture_02.png",
home_Path + message_Path + "model/histoire/histoire.1024/texture_03.png" message_Path + "model/histoire/histoire.1024/texture_03.png"
] ]
var images = []; var images = [];
var imgLength = AIimgSrc.length; var imgLength = AIimgSrc.length;
var loadingNum = 0; var loadingNum = 0;
for(var i=0;i<imgLength;i++){ for (var i = 0; i < imgLength; i++) {
images[i] = new Image(); images[i] = new Image();
images[i].src = AIimgSrc[i]; images[i].src = AIimgSrc[i];
images[i].onload = function(){ images[i].onload = function () {
loadingNum++; loadingNum++;
if(loadingNum===imgLength){ if (loadingNum === imgLength) {
var live2dhidden = localStorage.getItem("live2dhidden"); var live2dhidden = localStorage.getItem("live2dhidden");
if(live2dhidden==="0"){ if (live2dhidden === "0") {
setTimeout(function(){ setTimeout(function () {
$('#open_live2d').fadeIn(200); $('#open_live2d').fadeIn(200);
},1300); }, 1300);
}else{ } else {
setTimeout(function(){ setTimeout(function () {
$('#landlord').fadeIn(200); $('#landlord').fadeIn(200);
},1300); }, 1300);
} }
setTimeout(function(){ setTimeout(function () {
loadlive2d("live2d", message_Path+"model/histoire/model.json"); loadlive2d("live2d", message_Path + "model/histoire/model.json");
},1000); }, 1000);
initLive2d (); initLive2d();
images = null; images = null;
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

View File

@ -1,58 +0,0 @@
{
"version":"1.0.0",
"model":"model.moc",
"textures":[
"histoire.1024/0.png",
"histoire.1024/1.png",
"histoire.1024/normal_2.png"
],
"layout":{
"center_x":0.0,
"center_y":-0.05,
"width":2.0
},
"hit_areas_custom":{
"head_x":[-1, 1],
"head_y":[1, -1],
"body_x":[-1, -1],
"body_y":[1, -1]
},
"motions":{
"idle":[
{"file":"motions/idle/idle_00.mtn"},
{"file":"motions/idle/idle_01.mtn"},
{"file":"motions/idle/idle_02.mtn"}
],
"sleepy":[
{"file":"motions/tap/shake.mtn"}
],
"flick_head":[
{"file":"motions/tap/refuse.mtn"},
{"file":"motions/tap/nep_slide_head_2.mtn"},
{"file":"motions/tap/nep_touch_belly_2.mtn"},
{"file":"motions/tap/nep_touch_boobs_1.mtn"}
],
"tap_body":[
{"file":"motions/tap/smile.mtn"}
],
"talk":[
{"file":"motions/tap/nep_touch_belly_1.mtn"},
{"file":"motions/tap/nep_slide_head_2.mtn"},
{"file":"motions/tap/nep_touch_head_1.mtn"}
],
"rest":[
{"file":"motions/tap/tilt_head.mtn"},
{"file":"motions/idle/idle_00.mtn"},
{"file":"motions/idle/idle_01.mtn"},
{"file":"motions/idle/idle_02.mtn"}
],
"":[
{"file":"motions/tap/nep_touch_belly_1.mtn"},
{"file":"motions/tap/nep_slide_head_2.mtn"},
{"file":"motions/tap/nep_touch_head_1.mtn"},
{"file":"motions/tap/nep_touch_boobs_1.mtn"}
]
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More