rspress-plugin-live2d 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +41 -0
- package/doc_build/static/search_index.e99cc4b1.json +1 -0
- package/docs/index.md +51 -0
- package/image.png +0 -0
- package/package.json +42 -0
- package/rspress.config.ts +22 -0
- package/src/components/Live2DWidget.tsx +15 -0
- package/src/index.ts +20 -0
- package/tsconfig.json +8 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Linbudu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# rspress-plugin-live2d 
|
|
2
|
+
|
|
3
|
+
Rspress plugin for live2d, powered by [on-my-live2d](https://oml2d.com/).
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install rspress-plugin-live2d
|
|
11
|
+
pnpm install rspress-plugin-live2d
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
import { defineConfig } from 'rspress/config';
|
|
17
|
+
import live2d from 'rspress-plugin-live2d';
|
|
18
|
+
|
|
19
|
+
export default defineConfig({
|
|
20
|
+
root: path.join(__dirname, 'docs'),
|
|
21
|
+
title: 'Rspress x Live2d Example',
|
|
22
|
+
plugins: [
|
|
23
|
+
live2d({
|
|
24
|
+
models: [
|
|
25
|
+
{
|
|
26
|
+
path: 'https://model.oml2d.com/HK416-1-normal/model.json',
|
|
27
|
+
position: [0, 60],
|
|
28
|
+
scale: 0.08,
|
|
29
|
+
stageStyle: {
|
|
30
|
+
height: 450,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
}),
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Configure
|
|
40
|
+
|
|
41
|
+
Find more models on [Model Resources](https://oml2d.com/guide/models.html).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"id":0,"title":"RSPress","content":"#","routePath":"/","lang":"","toc":[],"domain":"","frontmatter":{},"version":""}]
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# RSPress x Live2d Example
|
|
2
|
+
|
|
3
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam venenatis mi eu lorem egestas rutrum. Morbi at tincidunt elit, gravida dictum libero. In hac habitasse platea dictumst. Donec id dolor sodales, malesuada nunc pellentesque, facilisis lacus. Donec rhoncus velit finibus turpis ultrices aliquet. Curabitur sit amet tellus vel dolor dictum facilisis. Sed dictum risus massa, interdum eleifend lorem vehicula in. Pellentesque at congue magna. Aenean finibus vel ligula at mattis. In a turpis purus. Sed a velit risus. Aenean felis leo, accumsan sit amet nisl quis, cursus consequat lorem.
|
|
4
|
+
|
|
5
|
+
Suspendisse potenti. Nunc sagittis aliquam tellus. Proin est enim, venenatis sed enim nec, aliquam viverra justo. Sed suscipit dolor eu consectetur vulputate. Morbi eget fringilla sem. Mauris finibus consequat feugiat. Ut convallis non justo viverra convallis. Nulla tortor augue, vestibulum at sodales et, finibus sed erat. Vivamus efficitur lorem at porta consectetur.
|
|
6
|
+
|
|
7
|
+
Aenean eget egestas dolor. Nullam maximus ultrices sodales. Aenean accumsan, felis sollicitudin porttitor blandit, magna dolor volutpat ex, id dignissim libero magna id orci. Maecenas faucibus leo sed euismod eleifend. Praesent et mi finibus, facilisis arcu sed, viverra sem. Quisque sagittis tortor at felis facilisis aliquet. Nullam ultricies et lacus vitae accumsan. Maecenas lacinia quam tortor, sit amet convallis dolor tristique eget. Nunc velit lorem, ornare id hendrerit vel, imperdiet nec arcu. Mauris a libero in magna luctus tempor a vel quam. Sed commodo massa vel tristique cursus. Donec quis massa bibendum, tempus velit ac, tristique orci. Donec placerat interdum venenatis.
|
|
8
|
+
|
|
9
|
+
Suspendisse scelerisque ipsum in fermentum lacinia. Vivamus gravida semper varius. Integer vestibulum tortor ac nisi aliquet eleifend. Praesent ultricies eros a turpis tincidunt, id lacinia nisl tincidunt. Mauris lorem lorem, porta ac tortor lacinia, ornare facilisis odio. Fusce malesuada enim sed mi tempus, in aliquet neque sodales. Mauris congue sollicitudin vehicula. Aenean gravida accumsan arcu ac tempor. Nunc at diam sit amet dolor molestie blandit at sit amet nisi. Nulla accumsan tellus ut nisl bibendum finibus. Nunc nec ligula convallis, porttitor ipsum sed, faucibus purus. Cras sed dui ligula. Quisque suscipit nunc sed lacus lobortis, vel faucibus sem vehicula.
|
|
10
|
+
|
|
11
|
+
Duis sagittis sem at tempus placerat. Integer sit amet sem finibus, dapibus quam quis, blandit purus. Praesent facilisis aliquam iaculis. Phasellus dui mauris, tincidunt vel leo at, volutpat vehicula ante. Curabitur tristique tempus est, vitae porta erat ultrices vel. Etiam hendrerit ac augue sit amet dignissim. In elementum neque enim, at scelerisque enim aliquet sed. Etiam pellentesque blandit mauris, vel laoreet ipsum ornare eu. Suspendisse nec auctor quam. Sed at nisl sed lacus porta mollis id dignissim mauris. Integer consectetur, elit at tempus rhoncus, erat tortor bibendum lacus, sed mattis nulla leo nec nisl. Nullam hendrerit lacus vel ante mattis, fermentum blandit sapien vulputate. Donec ex orci, pharetra et metus quis, tempor aliquet orci. Phasellus fermentum non dolor eget fringilla. Phasellus luctus congue turpis, ac aliquet diam faucibus sit amet. Proin interdum sapien nibh.
|
|
12
|
+
|
|
13
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam venenatis mi eu lorem egestas rutrum. Morbi at tincidunt elit, gravida dictum libero. In hac habitasse platea dictumst. Donec id dolor sodales, malesuada nunc pellentesque, facilisis lacus. Donec rhoncus velit finibus turpis ultrices aliquet. Curabitur sit amet tellus vel dolor dictum facilisis. Sed dictum risus massa, interdum eleifend lorem vehicula in. Pellentesque at congue magna. Aenean finibus vel ligula at mattis. In a turpis purus. Sed a velit risus. Aenean felis leo, accumsan sit amet nisl quis, cursus consequat lorem.
|
|
14
|
+
|
|
15
|
+
Suspendisse potenti. Nunc sagittis aliquam tellus. Proin est enim, venenatis sed enim nec, aliquam viverra justo. Sed suscipit dolor eu consectetur vulputate. Morbi eget fringilla sem. Mauris finibus consequat feugiat. Ut convallis non justo viverra convallis. Nulla tortor augue, vestibulum at sodales et, finibus sed erat. Vivamus efficitur lorem at porta consectetur.
|
|
16
|
+
|
|
17
|
+
Aenean eget egestas dolor. Nullam maximus ultrices sodales. Aenean accumsan, felis sollicitudin porttitor blandit, magna dolor volutpat ex, id dignissim libero magna id orci. Maecenas faucibus leo sed euismod eleifend. Praesent et mi finibus, facilisis arcu sed, viverra sem. Quisque sagittis tortor at felis facilisis aliquet. Nullam ultricies et lacus vitae accumsan. Maecenas lacinia quam tortor, sit amet convallis dolor tristique eget. Nunc velit lorem, ornare id hendrerit vel, imperdiet nec arcu. Mauris a libero in magna luctus tempor a vel quam. Sed commodo massa vel tristique cursus. Donec quis massa bibendum, tempus velit ac, tristique orci. Donec placerat interdum venenatis.
|
|
18
|
+
|
|
19
|
+
Suspendisse scelerisque ipsum in fermentum lacinia. Vivamus gravida semper varius. Integer vestibulum tortor ac nisi aliquet eleifend. Praesent ultricies eros a turpis tincidunt, id lacinia nisl tincidunt. Mauris lorem lorem, porta ac tortor lacinia, ornare facilisis odio. Fusce malesuada enim sed mi tempus, in aliquet neque sodales. Mauris congue sollicitudin vehicula. Aenean gravida accumsan arcu ac tempor. Nunc at diam sit amet dolor molestie blandit at sit amet nisi. Nulla accumsan tellus ut nisl bibendum finibus. Nunc nec ligula convallis, porttitor ipsum sed, faucibus purus. Cras sed dui ligula. Quisque suscipit nunc sed lacus lobortis, vel faucibus sem vehicula.
|
|
20
|
+
|
|
21
|
+
Duis sagittis sem at tempus placerat. Integer sit amet sem finibus, dapibus quam quis, blandit purus. Praesent facilisis aliquam iaculis. Phasellus dui mauris, tincidunt vel leo at, volutpat vehicula ante. Curabitur tristique tempus est, vitae porta erat ultrices vel. Etiam hendrerit ac augue sit amet dignissim. In elementum neque enim, at scelerisque enim aliquet sed. Etiam pellentesque blandit mauris, vel laoreet ipsum ornare eu. Suspendisse nec auctor quam. Sed at nisl sed lacus porta mollis id dignissim mauris. Integer consectetur, elit at tempus rhoncus, erat tortor bibendum lacus, sed mattis nulla leo nec nisl. Nullam hendrerit lacus vel ante mattis, fermentum blandit sapien vulputate. Donec ex orci, pharetra et metus quis, tempor aliquet orci. Phasellus fermentum non dolor eget fringilla. Phasellus luctus congue turpis, ac aliquet diam faucibus sit amet. Proin interdum sapien nibh.
|
|
22
|
+
|
|
23
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam venenatis mi eu lorem egestas rutrum. Morbi at tincidunt elit, gravida dictum libero. In hac habitasse platea dictumst. Donec id dolor sodales, malesuada nunc pellentesque, facilisis lacus. Donec rhoncus velit finibus turpis ultrices aliquet. Curabitur sit amet tellus vel dolor dictum facilisis. Sed dictum risus massa, interdum eleifend lorem vehicula in. Pellentesque at congue magna. Aenean finibus vel ligula at mattis. In a turpis purus. Sed a velit risus. Aenean felis leo, accumsan sit amet nisl quis, cursus consequat lorem.
|
|
24
|
+
|
|
25
|
+
Suspendisse potenti. Nunc sagittis aliquam tellus. Proin est enim, venenatis sed enim nec, aliquam viverra justo. Sed suscipit dolor eu consectetur vulputate. Morbi eget fringilla sem. Mauris finibus consequat feugiat. Ut convallis non justo viverra convallis. Nulla tortor augue, vestibulum at sodales et, finibus sed erat. Vivamus efficitur lorem at porta consectetur.
|
|
26
|
+
|
|
27
|
+
Aenean eget egestas dolor. Nullam maximus ultrices sodales. Aenean accumsan, felis sollicitudin porttitor blandit, magna dolor volutpat ex, id dignissim libero magna id orci. Maecenas faucibus leo sed euismod eleifend. Praesent et mi finibus, facilisis arcu sed, viverra sem. Quisque sagittis tortor at felis facilisis aliquet. Nullam ultricies et lacus vitae accumsan. Maecenas lacinia quam tortor, sit amet convallis dolor tristique eget. Nunc velit lorem, ornare id hendrerit vel, imperdiet nec arcu. Mauris a libero in magna luctus tempor a vel quam. Sed commodo massa vel tristique cursus. Donec quis massa bibendum, tempus velit ac, tristique orci. Donec placerat interdum venenatis.
|
|
28
|
+
|
|
29
|
+
Suspendisse scelerisque ipsum in fermentum lacinia. Vivamus gravida semper varius. Integer vestibulum tortor ac nisi aliquet eleifend. Praesent ultricies eros a turpis tincidunt, id lacinia nisl tincidunt. Mauris lorem lorem, porta ac tortor lacinia, ornare facilisis odio. Fusce malesuada enim sed mi tempus, in aliquet neque sodales. Mauris congue sollicitudin vehicula. Aenean gravida accumsan arcu ac tempor. Nunc at diam sit amet dolor molestie blandit at sit amet nisi. Nulla accumsan tellus ut nisl bibendum finibus. Nunc nec ligula convallis, porttitor ipsum sed, faucibus purus. Cras sed dui ligula. Quisque suscipit nunc sed lacus lobortis, vel faucibus sem vehicula.
|
|
30
|
+
|
|
31
|
+
Duis sagittis sem at tempus placerat. Integer sit amet sem finibus, dapibus quam quis, blandit purus. Praesent facilisis aliquam iaculis. Phasellus dui mauris, tincidunt vel leo at, volutpat vehicula ante. Curabitur tristique tempus est, vitae porta erat ultrices vel. Etiam hendrerit ac augue sit amet dignissim. In elementum neque enim, at scelerisque enim aliquet sed. Etiam pellentesque blandit mauris, vel laoreet ipsum ornare eu. Suspendisse nec auctor quam. Sed at nisl sed lacus porta mollis id dignissim mauris. Integer consectetur, elit at tempus rhoncus, erat tortor bibendum lacus, sed mattis nulla leo nec nisl. Nullam hendrerit lacus vel ante mattis, fermentum blandit sapien vulputate. Donec ex orci, pharetra et metus quis, tempor aliquet orci. Phasellus fermentum non dolor eget fringilla. Phasellus luctus congue turpis, ac aliquet diam faucibus sit amet. Proin interdum sapien nibh.
|
|
32
|
+
|
|
33
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam venenatis mi eu lorem egestas rutrum. Morbi at tincidunt elit, gravida dictum libero. In hac habitasse platea dictumst. Donec id dolor sodales, malesuada nunc pellentesque, facilisis lacus. Donec rhoncus velit finibus turpis ultrices aliquet. Curabitur sit amet tellus vel dolor dictum facilisis. Sed dictum risus massa, interdum eleifend lorem vehicula in. Pellentesque at congue magna. Aenean finibus vel ligula at mattis. In a turpis purus. Sed a velit risus. Aenean felis leo, accumsan sit amet nisl quis, cursus consequat lorem.
|
|
34
|
+
|
|
35
|
+
Suspendisse potenti. Nunc sagittis aliquam tellus. Proin est enim, venenatis sed enim nec, aliquam viverra justo. Sed suscipit dolor eu consectetur vulputate. Morbi eget fringilla sem. Mauris finibus consequat feugiat. Ut convallis non justo viverra convallis. Nulla tortor augue, vestibulum at sodales et, finibus sed erat. Vivamus efficitur lorem at porta consectetur.
|
|
36
|
+
|
|
37
|
+
Aenean eget egestas dolor. Nullam maximus ultrices sodales. Aenean accumsan, felis sollicitudin porttitor blandit, magna dolor volutpat ex, id dignissim libero magna id orci. Maecenas faucibus leo sed euismod eleifend. Praesent et mi finibus, facilisis arcu sed, viverra sem. Quisque sagittis tortor at felis facilisis aliquet. Nullam ultricies et lacus vitae accumsan. Maecenas lacinia quam tortor, sit amet convallis dolor tristique eget. Nunc velit lorem, ornare id hendrerit vel, imperdiet nec arcu. Mauris a libero in magna luctus tempor a vel quam. Sed commodo massa vel tristique cursus. Donec quis massa bibendum, tempus velit ac, tristique orci. Donec placerat interdum venenatis.
|
|
38
|
+
|
|
39
|
+
Suspendisse scelerisque ipsum in fermentum lacinia. Vivamus gravida semper varius. Integer vestibulum tortor ac nisi aliquet eleifend. Praesent ultricies eros a turpis tincidunt, id lacinia nisl tincidunt. Mauris lorem lorem, porta ac tortor lacinia, ornare facilisis odio. Fusce malesuada enim sed mi tempus, in aliquet neque sodales. Mauris congue sollicitudin vehicula. Aenean gravida accumsan arcu ac tempor. Nunc at diam sit amet dolor molestie blandit at sit amet nisi. Nulla accumsan tellus ut nisl bibendum finibus. Nunc nec ligula convallis, porttitor ipsum sed, faucibus purus. Cras sed dui ligula. Quisque suscipit nunc sed lacus lobortis, vel faucibus sem vehicula.
|
|
40
|
+
|
|
41
|
+
Duis sagittis sem at tempus placerat. Integer sit amet sem finibus, dapibus quam quis, blandit purus. Praesent facilisis aliquam iaculis. Phasellus dui mauris, tincidunt vel leo at, volutpat vehicula ante. Curabitur tristique tempus est, vitae porta erat ultrices vel. Etiam hendrerit ac augue sit amet dignissim. In elementum neque enim, at scelerisque enim aliquet sed. Etiam pellentesque blandit mauris, vel laoreet ipsum ornare eu. Suspendisse nec auctor quam. Sed at nisl sed lacus porta mollis id dignissim mauris. Integer consectetur, elit at tempus rhoncus, erat tortor bibendum lacus, sed mattis nulla leo nec nisl. Nullam hendrerit lacus vel ante mattis, fermentum blandit sapien vulputate. Donec ex orci, pharetra et metus quis, tempor aliquet orci. Phasellus fermentum non dolor eget fringilla. Phasellus luctus congue turpis, ac aliquet diam faucibus sit amet. Proin interdum sapien nibh.
|
|
42
|
+
|
|
43
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam venenatis mi eu lorem egestas rutrum. Morbi at tincidunt elit, gravida dictum libero. In hac habitasse platea dictumst. Donec id dolor sodales, malesuada nunc pellentesque, facilisis lacus. Donec rhoncus velit finibus turpis ultrices aliquet. Curabitur sit amet tellus vel dolor dictum facilisis. Sed dictum risus massa, interdum eleifend lorem vehicula in. Pellentesque at congue magna. Aenean finibus vel ligula at mattis. In a turpis purus. Sed a velit risus. Aenean felis leo, accumsan sit amet nisl quis, cursus consequat lorem.
|
|
44
|
+
|
|
45
|
+
Suspendisse potenti. Nunc sagittis aliquam tellus. Proin est enim, venenatis sed enim nec, aliquam viverra justo. Sed suscipit dolor eu consectetur vulputate. Morbi eget fringilla sem. Mauris finibus consequat feugiat. Ut convallis non justo viverra convallis. Nulla tortor augue, vestibulum at sodales et, finibus sed erat. Vivamus efficitur lorem at porta consectetur.
|
|
46
|
+
|
|
47
|
+
Aenean eget egestas dolor. Nullam maximus ultrices sodales. Aenean accumsan, felis sollicitudin porttitor blandit, magna dolor volutpat ex, id dignissim libero magna id orci. Maecenas faucibus leo sed euismod eleifend. Praesent et mi finibus, facilisis arcu sed, viverra sem. Quisque sagittis tortor at felis facilisis aliquet. Nullam ultricies et lacus vitae accumsan. Maecenas lacinia quam tortor, sit amet convallis dolor tristique eget. Nunc velit lorem, ornare id hendrerit vel, imperdiet nec arcu. Mauris a libero in magna luctus tempor a vel quam. Sed commodo massa vel tristique cursus. Donec quis massa bibendum, tempus velit ac, tristique orci. Donec placerat interdum venenatis.
|
|
48
|
+
|
|
49
|
+
Suspendisse scelerisque ipsum in fermentum lacinia. Vivamus gravida semper varius. Integer vestibulum tortor ac nisi aliquet eleifend. Praesent ultricies eros a turpis tincidunt, id lacinia nisl tincidunt. Mauris lorem lorem, porta ac tortor lacinia, ornare facilisis odio. Fusce malesuada enim sed mi tempus, in aliquet neque sodales. Mauris congue sollicitudin vehicula. Aenean gravida accumsan arcu ac tempor. Nunc at diam sit amet dolor molestie blandit at sit amet nisi. Nulla accumsan tellus ut nisl bibendum finibus. Nunc nec ligula convallis, porttitor ipsum sed, faucibus purus. Cras sed dui ligula. Quisque suscipit nunc sed lacus lobortis, vel faucibus sem vehicula.
|
|
50
|
+
|
|
51
|
+
Duis sagittis sem at tempus placerat. Integer sit amet sem finibus, dapibus quam quis, blandit purus. Praesent facilisis aliquam iaculis. Phasellus dui mauris, tincidunt vel leo at, volutpat vehicula ante. Curabitur tristique tempus est, vitae porta erat ultrices vel. Etiam hendrerit ac augue sit amet dignissim. In elementum neque enim, at scelerisque enim aliquet sed. Etiam pellentesque blandit mauris, vel laoreet ipsum ornare eu. Suspendisse nec auctor quam. Sed at nisl sed lacus porta mollis id dignissim mauris. Integer consectetur, elit at tempus rhoncus, erat tortor bibendum lacus, sed mattis nulla leo nec nisl. Nullam hendrerit lacus vel ante mattis, fermentum blandit sapien vulputate. Donec ex orci, pharetra et metus quis, tempor aliquet orci. Phasellus fermentum non dolor eget fringilla. Phasellus luctus congue turpis, ac aliquet diam faucibus sit amet. Proin interdum sapien nibh.
|
package/image.png
ADDED
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rspress-plugin-live2d",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Rspress plugin for file tree component.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"rspress",
|
|
7
|
+
"plugin",
|
|
8
|
+
"live2d"
|
|
9
|
+
],
|
|
10
|
+
"homepage": "https://github.com/linbudu599/rspress-plugins/tree/main/packages/rspress-plugin-live2d#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/linbudu599/rspress-plugins/issues"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/linbudu599/rspress-plugins.git"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "Linbudu <linbudu599@gmail.com> (https://github.com/linbudu599)",
|
|
20
|
+
"main": "dist/index.js",
|
|
21
|
+
"types": "dist/index.d.ts",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@rspress/shared": "^1.16.2",
|
|
24
|
+
"oh-my-live2d": "^0.15.2",
|
|
25
|
+
"rspress-plugin-devkit": "^0.1.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "^20.12.2",
|
|
29
|
+
"@types/react": "^18.2.73",
|
|
30
|
+
"typescript": "^5"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"rspress": "*"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc --declarationMap false",
|
|
37
|
+
"dev": "tsc -w",
|
|
38
|
+
"docs:build": "rspress build",
|
|
39
|
+
"docs:dev": "rspress dev",
|
|
40
|
+
"prepublish": "npm run build"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { defineConfig } from 'rspress/config';
|
|
3
|
+
import live2d from './src';
|
|
4
|
+
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
root: path.join(__dirname, 'docs'),
|
|
7
|
+
title: 'Rspress x Live2d Example',
|
|
8
|
+
plugins: [
|
|
9
|
+
live2d({
|
|
10
|
+
models: [
|
|
11
|
+
{
|
|
12
|
+
path: 'https://model.oml2d.com/HK416-1-normal/model.json',
|
|
13
|
+
position: [0, 60],
|
|
14
|
+
scale: 0.08,
|
|
15
|
+
stageStyle: {
|
|
16
|
+
height: 450,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
}),
|
|
21
|
+
],
|
|
22
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
import { loadOml2d, type Options as OnMyLive2DOptions } from 'oh-my-live2d';
|
|
4
|
+
|
|
5
|
+
export interface Live2DWidgetProps extends OnMyLive2DOptions {}
|
|
6
|
+
|
|
7
|
+
const Live2DWidget: React.FC<Live2DWidgetProps> = (options) => {
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
loadOml2d(options);
|
|
10
|
+
}, []);
|
|
11
|
+
|
|
12
|
+
return null;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default Live2DWidget;
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
|
|
3
|
+
import type { RspressPlugin } from '@rspress/shared';
|
|
4
|
+
import type { Live2DWidgetProps } from './components/Live2DWidget';
|
|
5
|
+
|
|
6
|
+
export interface RspressPluginLive2dOptions extends Live2DWidgetProps {}
|
|
7
|
+
|
|
8
|
+
export default function rspressPluginLive2d(
|
|
9
|
+
props: RspressPluginLive2dOptions = {},
|
|
10
|
+
): RspressPlugin {
|
|
11
|
+
return {
|
|
12
|
+
name: 'rspress-plugin-live2d',
|
|
13
|
+
globalUIComponents: [
|
|
14
|
+
[
|
|
15
|
+
path.join(__dirname, 'components', 'Live2DWidget.tsx'),
|
|
16
|
+
<Live2DWidgetProps>(props ?? {}),
|
|
17
|
+
],
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
}
|