友情链接:', + 'GeniusBlog', + '
' + ].join('') + }, + + htmlModules +}; diff --git a/doc/docs/.vuepress/enhanceApp.js b/doc/docs/.vuepress/enhanceApp.js new file mode 100644 index 0000000..1d94d55 --- /dev/null +++ b/doc/docs/.vuepress/enhanceApp.js @@ -0,0 +1,98 @@ +// import vue from 'vue/dist/vue.esm.browser' +let sidebarArray = [ + ` +
+ `,
+ `
+
+ `,
+ `
+
+ `,
+ `
+
+ `
+];
+
+export default ({
+ Vue, // VuePress 正在使用的 Vue 构造函数
+ options, // 附加到根实例的一些选项
+ router, // 当前应用的路由实例
+ siteData, // 站点元数据
+ isServer // 当前应用配置是处于 服务端渲染 还是 客户端
+}) => {
+ // window.Vue = vue // 使页面中可以使用Vue构造函数 (使页面中的vue demo生效)
+ // 用于监控在路由变化时检查广告拦截器 (to主题使用者:你可以去掉本文件的所有代码)
+ if (!isServer) {
+ router.afterEach(() => {
+ //check if wwads' fire function was blocked after document is ready with 3s timeout (waiting the ad loading)
+ docReady(function () {
+ setTimeout(function () {
+ if (window._AdBlockInit === undefined) {
+ ABDetected();
+ }
+ }, 3000);
+ });
+
+ setTimeout(() => {
+ function shuffle(arr) {
+ var l = arr.length;
+ var index, temp;
+ while (l > 0) {
+ index = Math.floor(Math.random() * l);
+ temp = arr[l - 1];
+ arr[l - 1] = arr[index];
+ arr[index] = temp;
+ l--;
+ }
+ return arr;
+ }
+
+ const sidebarTop = document.querySelector(".sidebar-slot-top");
+ if (!sidebarTop) return;
+ sidebarArray = shuffle(sidebarArray);
+ let _html = ``;
+
+ sidebarTop.innerHTML = _html;
+ }, 200);
+
+ // 删除事件改为隐藏事件
+ setTimeout(() => {
+ const pageAD = document.querySelector(".page-ad");
+ if (!pageAD) return;
+ const btnEl = pageAD.querySelector(".wwads-hide");
+ if (btnEl) {
+ btnEl.onclick = () => {
+ pageAD.style.display = "none";
+ };
+ }
+ // 显示广告模块
+ if (pageAD.style.display === "none") {
+ pageAD.style.display = "flex";
+ }
+ }, 900);
+ });
+ }
+};
+
+function ABDetected() {
+ const h = "
";
+ const wwadsEl = document.getElementsByClassName("wwads-cn");
+ const wwadsContentEl = document.querySelector('.wwads-content');
+ if (wwadsEl[0] && !wwadsContentEl) {
+ wwadsEl[0].innerHTML = h;
+ }
+};
+
+//check document ready
+function docReady(t) {
+ "complete" === document.readyState ||
+ "interactive" === document.readyState
+ ? setTimeout(t, 1)
+ : document.addEventListener("DOMContentLoaded", t);
+}
\ No newline at end of file
diff --git a/doc/docs/.vuepress/plugins/love-me/index.js b/doc/docs/.vuepress/plugins/love-me/index.js
new file mode 100644
index 0000000..674294c
--- /dev/null
+++ b/doc/docs/.vuepress/plugins/love-me/index.js
@@ -0,0 +1,12 @@
+const path= require('path');
+const LoveMyPlugin = (options={}) => ({
+ define () {
+ const COLOR = options.color || "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
+ const EXCLUDECLASS = options.excludeClassName || ''
+ return {COLOR, EXCLUDECLASS}
+ },
+ enhanceAppFiles: [
+ path.resolve(__dirname, 'love-me.js')
+ ]
+});
+module.exports = LoveMyPlugin;
diff --git a/doc/docs/.vuepress/plugins/love-me/love-me.js b/doc/docs/.vuepress/plugins/love-me/love-me.js
new file mode 100644
index 0000000..f93855e
--- /dev/null
+++ b/doc/docs/.vuepress/plugins/love-me/love-me.js
@@ -0,0 +1,62 @@
+export default () => {
+ if (typeof window !== "undefined") {
+ (function(e, t, a) {
+ function r() {
+ for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
+ requestAnimationFrame(r)
+ }
+ function n() {
+ var t = "function" == typeof e.onclick && e.onclick;
+
+ e.onclick = function(e) {
+ // 过滤指定元素
+ let mark = true;
+ EXCLUDECLASS && e.path && e.path.forEach((item) =>{
+ if(item.nodeType === 1) {
+ typeof item.className === 'string' && item.className.indexOf(EXCLUDECLASS) > -1 ? mark = false : ''
+ }
+ })
+
+ if(mark) {
+ t && t(),
+ o(e)
+ }
+ }
+ }
+ function o(e) {
+ var a = t.createElement("div");
+ a.className = "heart",
+ s.push({
+ el: a,
+ x: e.clientX - 5,
+ y: e.clientY - 5,
+ scale: 1,
+ alpha: 1,
+ color: COLOR
+ }),
+ t.body.appendChild(a)
+ }
+ function i(e) {
+ var a = t.createElement("style");
+ a.type = "text/css";
+ try {
+ a.appendChild(t.createTextNode(e))
+ } catch(t) {
+ a.styleSheet.cssText = e
+ }
+ t.getElementsByTagName("head")[0].appendChild(a)
+ }
+ // function c() {
+ // return "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
+ // }
+ var s = [];
+ e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame ||
+ function(e) {
+ setTimeout(e, 1e3 / 60)
+ },
+ i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),
+ n(),
+ r()
+ })(window, document)
+ }
+}
\ No newline at end of file
diff --git a/doc/docs/.vuepress/public/img/aizuda.png b/doc/docs/.vuepress/public/img/aizuda.png
new file mode 100644
index 0000000..aea86dc
Binary files /dev/null and b/doc/docs/.vuepress/public/img/aizuda.png differ
diff --git a/doc/docs/.vuepress/public/img/contra.jpg b/doc/docs/.vuepress/public/img/contra.jpg
new file mode 100644
index 0000000..bdbf1e4
Binary files /dev/null and b/doc/docs/.vuepress/public/img/contra.jpg differ
diff --git a/doc/docs/.vuepress/public/img/crmeb3.gif b/doc/docs/.vuepress/public/img/crmeb3.gif
new file mode 100644
index 0000000..d8595ac
Binary files /dev/null and b/doc/docs/.vuepress/public/img/crmeb3.gif differ
diff --git a/doc/docs/.vuepress/public/img/custom-fields.png b/doc/docs/.vuepress/public/img/custom-fields.png
new file mode 100644
index 0000000..efd71fd
Binary files /dev/null and b/doc/docs/.vuepress/public/img/custom-fields.png differ
diff --git a/doc/docs/.vuepress/public/img/donate.png b/doc/docs/.vuepress/public/img/donate.png
new file mode 100644
index 0000000..23a9fed
Binary files /dev/null and b/doc/docs/.vuepress/public/img/donate.png differ
diff --git a/doc/docs/.vuepress/public/img/donate2.png b/doc/docs/.vuepress/public/img/donate2.png
new file mode 100644
index 0000000..04861bc
Binary files /dev/null and b/doc/docs/.vuepress/public/img/donate2.png differ
diff --git a/doc/docs/.vuepress/public/img/favicon.ico b/doc/docs/.vuepress/public/img/favicon.ico
new file mode 100644
index 0000000..796d2d9
Binary files /dev/null and b/doc/docs/.vuepress/public/img/favicon.ico differ
diff --git a/doc/docs/.vuepress/public/img/generator.gif b/doc/docs/.vuepress/public/img/generator.gif
new file mode 100644
index 0000000..86d87a3
Binary files /dev/null and b/doc/docs/.vuepress/public/img/generator.gif differ
diff --git a/doc/docs/.vuepress/public/img/honor.jpeg b/doc/docs/.vuepress/public/img/honor.jpeg
new file mode 100644
index 0000000..73416e4
Binary files /dev/null and b/doc/docs/.vuepress/public/img/honor.jpeg differ
diff --git a/doc/docs/.vuepress/public/img/logo.png b/doc/docs/.vuepress/public/img/logo.png
new file mode 100644
index 0000000..683d23d
Binary files /dev/null and b/doc/docs/.vuepress/public/img/logo.png differ
diff --git a/doc/docs/.vuepress/public/img/logo.svg b/doc/docs/.vuepress/public/img/logo.svg
new file mode 100644
index 0000000..60e0d0a
--- /dev/null
+++ b/doc/docs/.vuepress/public/img/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/docs/.vuepress/public/img/mybatis-plus-framework.jpg b/doc/docs/.vuepress/public/img/mybatis-plus-framework.jpg
new file mode 100644
index 0000000..aa29b0d
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatis-plus-framework.jpg differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-001.gif b/doc/docs/.vuepress/public/img/mybatisx-001.gif
new file mode 100644
index 0000000..40e7b83
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-001.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-generate.gif b/doc/docs/.vuepress/public/img/mybatisx-generate.gif
new file mode 100644
index 0000000..e82d970
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-generate.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-jump.gif b/doc/docs/.vuepress/public/img/mybatisx-jump.gif
new file mode 100644
index 0000000..83c1c42
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-jump.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-reset-template.gif b/doc/docs/.vuepress/public/img/mybatisx-reset-template.gif
new file mode 100644
index 0000000..cfaa7db
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-reset-template.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-template-setting.jpg b/doc/docs/.vuepress/public/img/mybatisx-template-setting.jpg
new file mode 100644
index 0000000..13c878c
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-template-setting.jpg differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-tip-delete.gif b/doc/docs/.vuepress/public/img/mybatisx-tip-delete.gif
new file mode 100644
index 0000000..0557836
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-tip-delete.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-tip-insert.gif b/doc/docs/.vuepress/public/img/mybatisx-tip-insert.gif
new file mode 100644
index 0000000..b59cb55
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-tip-insert.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-tip-select.gif b/doc/docs/.vuepress/public/img/mybatisx-tip-select.gif
new file mode 100644
index 0000000..58c79c4
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-tip-select.gif differ
diff --git a/doc/docs/.vuepress/public/img/mybatisx-tip-update.gif b/doc/docs/.vuepress/public/img/mybatisx-tip-update.gif
new file mode 100644
index 0000000..d8e94b8
Binary files /dev/null and b/doc/docs/.vuepress/public/img/mybatisx-tip-update.gif differ
diff --git a/doc/docs/.vuepress/public/img/relationship-with-mybatis.png b/doc/docs/.vuepress/public/img/relationship-with-mybatis.png
new file mode 100644
index 0000000..3ae5922
Binary files /dev/null and b/doc/docs/.vuepress/public/img/relationship-with-mybatis.png differ
diff --git a/doc/docs/.vuepress/public/img/sponsors-sprk1.svg b/doc/docs/.vuepress/public/img/sponsors-sprk1.svg
new file mode 100644
index 0000000..e0ad9f8
--- /dev/null
+++ b/doc/docs/.vuepress/public/img/sponsors-sprk1.svg
@@ -0,0 +1,8 @@
+
diff --git a/doc/docs/.vuepress/public/img/sponsors-sprk2.svg b/doc/docs/.vuepress/public/img/sponsors-sprk2.svg
new file mode 100644
index 0000000..27d45e1
--- /dev/null
+++ b/doc/docs/.vuepress/public/img/sponsors-sprk2.svg
@@ -0,0 +1,8 @@
+
diff --git a/doc/docs/.vuepress/public/img/springboot.png b/doc/docs/.vuepress/public/img/springboot.png
new file mode 100644
index 0000000..842fee6
Binary files /dev/null and b/doc/docs/.vuepress/public/img/springboot.png differ
diff --git a/doc/docs/.vuepress/styles/index.styl b/doc/docs/.vuepress/styles/index.styl
new file mode 100644
index 0000000..db80198
--- /dev/null
+++ b/doc/docs/.vuepress/styles/index.styl
@@ -0,0 +1,79 @@
+.home-wrapper .banner .banner-conent .hero h1{
+ font-size 2.8rem!important
+}
+// 文档中适配
+table
+ width auto
+.page >*:not(.footer),.card-box
+ box-shadow: none!important
+
+.page
+ @media (min-width $contentWidth + 80)
+ padding-top $navbarHeight!important
+.home-wrapper .banner .banner-conent
+ padding 0 2.9rem
+ box-sizing border-box
+.home-wrapper .banner .slide-banner .slide-banner-wrapper .slide-item a
+ h2
+ margin-top 2rem
+ font-size 1.2rem!important
+ p
+ padding 0 1rem
+
+// 评论区颜色重置
+.gt-container
+ .gt-ico-tip
+ &::after
+ content: '。( Win + . ) or ( ⌃ + ⌘ + ␣ ) open Emoji'
+ color: #999
+ .gt-meta
+ border-color var(--borderColor)!important
+ .gt-comments-null
+ color var(--textColor)
+ opacity .5
+ .gt-header-textarea
+ color var(--textColor)
+ background rgba(180,180,180,0.1)!important
+ .gt-btn
+ border-color $accentColor!important
+ background-color $accentColor!important
+ .gt-btn-preview
+ background-color rgba(255,255,255,0)!important
+ color $accentColor!important
+ a
+ color $accentColor!important
+ .gt-svg svg
+ fill $accentColor!important
+ .gt-comment-content,.gt-comment-admin .gt-comment-content
+ background-color rgba(150,150,150,0.1)!important
+ &:hover
+ box-shadow 0 0 25px rgba(150,150,150,.5)!important
+ .gt-comment-body
+ color var(--textColor)!important
+
+
+// qq徽章
+.qq
+ position: relative;
+.qq::after
+ content: "可撩";
+ background: $accentColor;
+ color:#fff;
+ padding: 0 5px;
+ border-radius: 10px;
+ font-size:12px;
+ position: absolute;
+ top: -4px;
+ right: -35px;
+ transform:scale(0.85);
+
+// demo模块图标颜色
+body .vuepress-plugin-demo-block__wrapper
+ &,.vuepress-plugin-demo-block__display
+ border-color rgba(160,160,160,.3)
+ .vuepress-plugin-demo-block__footer:hover
+ .vuepress-plugin-demo-block__expand::before
+ border-top-color: $accentColor !important;
+ border-bottom-color: $accentColor !important;
+ svg
+ fill: $accentColor !important;
diff --git a/doc/docs/.vuepress/styles/palette.styl b/doc/docs/.vuepress/styles/palette.styl
new file mode 100644
index 0000000..c259d99
--- /dev/null
+++ b/doc/docs/.vuepress/styles/palette.styl
@@ -0,0 +1,62 @@
+
+// 原主题变量已弃用,以下是vdoing使用的变量,你可以在这个文件内修改它们。
+
+//***vdoing主题-变量***//
+
+// // 颜色
+
+// $bannerTextColor = #fff // 首页banner区(博客标题)文本颜色
+// $accentColor = #11A8CD
+// $arrowBgColor = #ccc
+// $badgeTipColor = #42b983
+// $badgeWarningColor = darken(#ffe564, 35%)
+// $badgeErrorColor = #DA5961
+
+// // 布局
+// $navbarHeight = 3.6rem
+// $sidebarWidth = 18rem
+// $contentWidth = 860px
+// $homePageWidth = 1100px
+// $rightMenuWidth = 230px // 右侧菜单
+
+// // 代码块
+// $lineNumbersWrapperWidth = 2.5rem
+
+// 浅色模式
+.theme-mode-light
+ --bodyBg: rgba(255,255,255,1)
+ --mainBg: rgba(255,255,255,1)
+ --sidebarBg: rgba(255,255,255,.8)
+ --blurBg: rgba(255,255,255,.9)
+ --textColor: #004050
+ --textLightenColor: #ef6d48
+ --borderColor: rgba(0,0,0,.15)
+ --codeBg: #f6f6f6
+ --codeColor: #525252
+ codeThemeLight()
+
+// 深色模式
+.theme-mode-dark
+ --bodyBg: rgba(30,30,34,1)
+ --mainBg: rgba(30,30,34,1)
+ --sidebarBg: rgba(30,30,34,.8)
+ --blurBg: rgba(30,30,34,.8)
+ --textColor: rgb(140,140,150)
+ --textLightenColor: #ef6d48
+ --borderColor: #2C2C3A
+ --codeBg: #252526
+ --codeColor: #fff
+ codeThemeDark()
+
+// 阅读模式
+.theme-mode-read
+ --bodyBg: rgba(245,245,213,1)
+ --mainBg: rgba(245,245,213,1)
+ --sidebarBg: rgba(245,245,213,.8)
+ --blurBg: rgba(245,245,213,.9)
+ --textColor: #004050
+ --textLightenColor: #ef6d48
+ --borderColor: rgba(0,0,0,.15)
+ --codeBg: #282c34
+ --codeColor: #fff
+ codeThemeDark()
diff --git a/doc/docs/01.指南/01.快速入门/01.简介.md b/doc/docs/01.指南/01.快速入门/01.简介.md
new file mode 100644
index 0000000..b8d130a
--- /dev/null
+++ b/doc/docs/01.指南/01.快速入门/01.简介.md
@@ -0,0 +1,39 @@
+---
+title: 简介
+date: 2021-12-14 17:10:38
+permalink: /pages/24112f/
+article: false
+---
+
+[ChopperBot](https://github.com/969025903/ChopperBot) 一款全自动的主播切片机器人,支持模块热度分析, 主播热度分析,智能爬取,弹幕视频爬取,弹幕分析, 自动切片,切片分类,自动标题,自动封面,账号打造,账号管理, 多平台上传等功能
+::: tip 愿景
+ChopperBot 留下每个主播的精彩片段
+:::
+
+
+
+## 特性
+- **跨平台服务**:目前支持Douyu,huya,b站,抖音,twitch等热门直播平台
+- **热门分析**:ChopperBot为您自动分析时下流行元素,热门爆火主播,紧跟当前热点,获取最新直播内容
+- **全自动工作**:直播爬取,自动切片,封面生成,标题选取,内容上传,账号管理,电脑不用动,ChopperBot全自动
+- **个性化账号打造**:不管是搞笑博主,还是精彩集锦,ChopperBot为每个账号打造不同的个性化内容生成
+- **可视化管理**: 提供可视化管理界面,让您的使用体验更方便。
+
+
+## 代码托管
+
+> **[Gitee](https://gitee.com/sbg-genius/ChopperBot)** | **[Github](https://github.com/969025903/ChopperBot)**
+
+## 参与贡献
+
+欢迎各路大佬一起来参与完善 Assistant捏,我们期待你的 PR!
+
+- 贡献代码:代码地址 [ChopperBot](https://github.com/969025903/ChopperBot) ,欢迎提交 Issue 或者 Pull Requests
+- 维护文档:文档地址 [ChopperBot-Doc](https://github.com/969025903/ChopperBot-Doc) ,欢迎参与翻译和修订
+
diff --git a/doc/docs/01.指南/01.快速入门/02.快速开始.md b/doc/docs/01.指南/01.快速入门/02.快速开始.md
new file mode 100644
index 0000000..aa6f304
--- /dev/null
+++ b/doc/docs/01.指南/01.快速入门/02.快速开始.md
@@ -0,0 +1,15 @@
+---
+title: 快速开始
+date: 2021-12-14 18:06:39
+permalink: /pages/226c21/
+article: false
+---
+
+正在开发中.....
+
+- console为后端启动模块
+- console-ui为前端启动模块
+
+
+
+
diff --git a/doc/docs/01.指南/02.技术文档/01.FileModule/01.目录.md b/doc/docs/01.指南/02.技术文档/01.FileModule/01.目录.md
new file mode 100644
index 0000000..0afa0f5
--- /dev/null
+++ b/doc/docs/01.指南/02.技术文档/01.FileModule/01.目录.md
@@ -0,0 +1,80 @@
+---
+title: FileModule目录
+date: 2021-12-14 18:15:59
+permalink: /pages/779a6e/
+article: false
+---
+
+[👉 源码](https://github.com/969025903/ChopperBot)
+
+[[toc]]
+
+## FileCache
+
+::: tip 说明
+由于ChopperBot中使用了大量的Json文件来保存配置或数据,而有些Json文件可能会被频繁的操作,
+而FileCache就是用来解决文件的频繁写入造成的IO问题,FileCache具备了简单的文件操作功能,文件缓存池,文件刷入,文件定时刷入,文件版本对照功能,
+方便开发人员对文件的操作与管理。
+:::
+
+更多详情请移步至 [FileCache](/pages/779a6c/) 查看。
+
+
+## FileUtil
+::: tip 说明
+文件的操作工具类
+:::
+| 方法名称 | 方法说明 | 参数描述 | 返回内容 |
+| :-: | :-: | :-: | :-: |
+| isFileExist| 判断文件是否存在 | dir(String) 文件路径 | boolean |
+| copyFile | 复制文件 | srcPath(String) 源文件路径,destPath(String) 目标文件路径 | File |
+| deleteFile | 删除文件 | path(String) 文件根路径, filename(String) 文件名称 | boolean|
+| deleteFile | 删除文件 | path(String) 文件路径| boolean |
+| deleteDirectory | 删除文件夹,包括文件夹内容
+:::
+
+### 加入ChopperBot开发,点击一个小星星
+
+将您的品牌 LOGO 及标语同时展示在:
+
+- GitHub 仓库主页顶部
+- 文档官网首页顶部
+- 文档官网所有文档页左侧边栏顶部
+
+相关联系方式(添加烦请注明来意):
+
+- QQ:[969025903](tencent://message/?uin=969025903&Site=&Menu=yes)
+- QQ:[燧枫](tencent://message/?uin=369202865&Site=&Menu=yes)
+- QQ:[Weisir](tencent://message/?uin=1824379011&Site=&Menu=yes)
+- QQ:[脑洞大开](tencent://message/?uin=647831033&Site=&Menu=yes)
+- 邮件:[geniusssbg@gmail.com](mailto:geniusssbg@gmail.com)
+- Github:[https://github.com/969025903/ChopperBot](https://github.com/969025903/ChopperBot)
+
+## 致谢
+
+感谢给予支持的朋友,您的支持是我们前进的动力 🎉
diff --git a/doc/docs/@pages/archivesPage.md b/doc/docs/@pages/archivesPage.md
new file mode 100644
index 0000000..452e8fe
--- /dev/null
+++ b/doc/docs/@pages/archivesPage.md
@@ -0,0 +1,6 @@
+---
+archivesPage: true
+title: 归档
+permalink: /blog/
+article: false
+---
diff --git a/doc/docs/index.md b/doc/docs/index.md
new file mode 100644
index 0000000..28a475c
--- /dev/null
+++ b/doc/docs/index.md
@@ -0,0 +1,66 @@
+---
+home: true
+heroImage: /img/logo.svg
+heroText: ChopperBot
+tagline: 🤖自动化切片机器人
+actionText: 快速开始 →
+actionLink: /pages/24112f/
+bannerBg: none
+
+features: # 可选的
+ - title: 跨平台服务
+ details: 目前支持Douyu,huya,b站,抖音,twitch等热门直播平台。
+ - title: 全自动工作
+ details: 直播爬取,自动切片,封面生成,标题选取,内容上传,账号管理,电脑不用动,ChopperBot全自动。
+ - title: 时下热门分析
+ details: ChopperBot为您自动分析时下流行元素,热门爆火主播,紧跟当前热点,获取最新直播内容。
+
+postList: none
+---
+
++ 支持这个项目 +
+ + + +