{"id":15095964,"url":"https://github.com/mnt-ltd/moredoc","last_synced_at":"2025-04-04T14:06:16.598Z","repository":{"id":65856808,"uuid":"548797788","full_name":"mnt-ltd/moredoc","owner":"mnt-ltd","description":"moredoc，魔豆文库，基于golang开发的类似百度文库的开源文库系统，dochub文库的重构版本。","archived":false,"fork":false,"pushed_at":"2024-06-14T01:26:36.000Z","size":18683,"stargazers_count":501,"open_issues_count":15,"forks_count":124,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-28T13:07:05.959Z","etag":null,"topics":["dochub","gin","golang","grpc","nuxt","vue"],"latest_commit_sha":null,"homepage":"https://moredoc.mnt.ltd","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mnt-ltd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-10T07:41:45.000Z","updated_at":"2025-03-28T09:23:59.000Z","dependencies_parsed_at":"2023-05-02T02:16:40.025Z","dependency_job_id":"c910f53d-adfe-48a0-a9ff-8ef42e763c76","html_url":"https://github.com/mnt-ltd/moredoc","commit_stats":{"total_commits":644,"total_committers":4,"mean_commits":161.0,"dds":"0.14130434782608692","last_synced_commit":"4c665ae67403a9de1fec476bcf2c8ba7afe9c131"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnt-ltd%2Fmoredoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnt-ltd%2Fmoredoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnt-ltd%2Fmoredoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnt-ltd%2Fmoredoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnt-ltd","download_url":"https://codeload.github.com/mnt-ltd/moredoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190231,"owners_count":20898700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dochub","gin","golang","grpc","nuxt","vue"],"created_at":"2024-09-25T15:44:21.690Z","updated_at":"2025-04-04T14:06:16.577Z","avatar_url":"https://github.com/mnt-ltd.png","language":"Go","funding_links":[],"categories":["Go","置顶"],"sub_categories":["06、企业协作平台"],"readme":"![魔豆文库](docs/images/logo.png)\n\n目录\n\n- [MOREDOC - 魔豆文库](#intro)\n  - [技术栈](#stack)\n  - [开源地址](#opensource)\n  - [使用手册](#manual)\n  - [演示站点](#demo)\n  - [微信交流群](#wechatgroup)\n  - [页面预览](#preview)\n    - [首页](#preview-index)\n    - [列表页](#preview-category)\n    - [文档详情页](#preview-read)\n    - [文档上传页](#preview-upload)\n    - [搜索结果页](#preview-search)\n    - [管理后台](#preview-dashboard)\n  - [二次开发](#dev)\n    - [环境要求](#dev-env)\n    - [目录结构](#dev-tree)\n    - [app.toml](#dev-config)\n    - [初始化](#dev-init)\n    - [管理员初始账号密码](#dev-account)\n    - [发布版本](#dev-release)\n  - [License](#license)\n  - [鸣谢](#thanks)\n\n\u003ca name=\"intro\"\u003e\u003c/a\u003e\n\n# MOREDOC - 魔豆文库\n\n`moredoc` - 魔豆文库，由 深圳市摩枫网络科技(**M**orefun **N**etwork **T**echnology Co., **Ltd**，https://mnt.ltd ) 使用 Golang 开发的类似[百度文库](https://wenku.baidu.com/)、[新浪爱问文库](http://ishare.iask.sina.com.cn/)的开源文库系统，支持 `TXT`、`PDF`、`EPUB`、`MOBI`、`Office` 等格式文档的在线预览与管理，为 `dochub文库`( [github](https://github.com/truthhun/dochub), [gitee](https://gitee.com/truthhun/DocHub) )的重构版本。\n\n\u003ca name=\"stack\"\u003e\u003c/a\u003e\n\n## 技术栈\n\n- Golang ：gin + gRPC + GORM\n- Vue.js : nuxt2 + element-ui\n- Database : MySQL 5.7\n\n\u003ca name=\"opensource\"\u003e\u003c/a\u003e\n\n## 开源地址\n\n- Github - https://github.com/mnt-ltd/moredoc\n- Gitee - https://gitee.com/mnt-ltd/moredoc\n- MNT.Ltd - https://git.mnt.ltd/mnt-ltd/moredoc\n\n**前端Web页面**\n\n- Github - https://github.com/mnt-ltd/moredoc-web\n- Gitee - https://gitee.com/mnt-ltd/moredoc-web\n- MNT.Ltd - https://git.mnt.ltd/mnt-ltd/moredoc-web\n\n\u003ca name=\"manual\"\u003e\u003c/a\u003e\n\n## 使用手册\n\n关于魔豆文库安装部署以及使用和二次开发等更详细的教程，详见书栈网[《魔豆文库使用手册》](https://www.bookstack.cn/books/moredoc)\n\n\u003ca name=\"demo\"\u003e\u003c/a\u003e\n\n## 演示站点\n\n- 网址：https://moredoc.mnt.ltd\n- 账号：admin\n- 密码：mnt.ltd\n\n\u003e 演示站点，每天凌晨 1:00 ~ 6:00，每隔一小时重置一次全部数据\n\n\u003ca name=\"wechatgroup\"\u003e\u003c/a\u003e\n\n## 微信交流群\n\n魔豆文库微信交流群，请添加`进击的皇虫`的微信，备注`魔豆文库加群`，以便进群。\n\n**微信二维码**\n\n![魔豆文库微信交流群](docs/images/wx-qrcode.jpeg)\n\n\u003ca name=\"preview\"\u003e\u003c/a\u003e\n\n## 页面预览\n\n\u003e 点击放大预览\n\n\u003cbr/\u003e\n\n\u003ca name=\"preview-index\"\u003e\u003c/a\u003e\n\n### 首页\n\n![魔豆文库首页](docs/images/index.png)\n\n\u003ca name=\"preview-category\"\u003e\u003c/a\u003e\n\n### 列表页\n\n![魔豆文库列表页](docs/images/category.png)\n\n\u003ca name=\"preview-read\"\u003e\u003c/a\u003e\n\n### 文档详情页\n\n![魔豆文库文档详情页](docs/images/read.png)\n\n\u003ca name=\"preview-upload\"\u003e\u003c/a\u003e\n\n### 文档上传页\n\n![魔豆文库文档上传页](docs/images/upload.png)\n\n\u003ca name=\"preview-search\"\u003e\u003c/a\u003e\n\n### 搜索结果页\n\n![魔豆文库搜索结果页](docs/images/search.png)\n\n\u003ca name=\"preview-dashboard\"\u003e\u003c/a\u003e\n\n### 管理后台\n\n![魔豆文库管理后台](docs/images/dashboard.png)\n\n\u003ca name=\"dev\"\u003e\u003c/a\u003e\n\n## 二次开发\n\n除了文件上传相关的接口，其他接口统一使用 proto 进行定义。\n\n\u003ca name=\"dev-env\"\u003e\u003c/a\u003e\n\n### 环境要求\n\n- Golang 1.18+\n- Node.js 14.16.0 (可用 nvm 管理)\n- MySQL 5.7+\n\n**请自行配置相应环境。如在此过程中遇到错误，请根据错误提示自行通过 Google 或者百度解决。**\n\n\u003ca name=\"dev-tree\"\u003e\u003c/a\u003e\n\n### 目录结构\n\n\u003e 部分目录，在程序运行时自动生成，不需要手动创建\n\n```bash\n.\n├── LICENSE                 # 开源协议\n├── Makefile                # 编译脚本\n├── README.md               # 项目说明\n├── api                     # proto api， API协议定义\n├── app.example.toml        # 配置文件示例，需要复制为 app.toml\n├── biz                     # 业务逻辑层，主要处理业务逻辑，实现api接口\n├── cmd                     # 命令行工具\n├── cache                   # 缓存相关\n├── conf                    # 配置定义\n├── dict                    # 结巴分词字典，用于给文档自动进行分词\n├── docs                    # API文档等\n├── documents               # 用户上传的文档存储目录\n├── go.mod                  # go依赖管理\n├── go.sum                  # go依赖管理\n├── main.go                 # 项目入口\n├── middleware              # 中间件\n├── model                   # 数据库模型，使用gorm对数据库进行操作\n├── release                 # 版本发布生成的版本会放到这里\n├── service                 # 服务层，衔接cmd与biz\n├── sitemap                 # 站点地图\n├── third_party             # 第三方依赖，主要是proto文件\n├── uploads                 # 文档文件之外的其他文件存储目录\n└── util                    # 工具函数\n```\n\n\u003ca name=\"dev-config\"\u003e\u003c/a\u003e\n\n### app.toml\n\n```\n# 程序运行级别：debug、info、warn、error\nlevel=\"debug\"\n\n# 日志编码方式，支持：json、console\nlogEncoding=\"console\"\n\n# 后端监听端口\nport=\"8880\"\n\n# 数据库配置\n[database]\n    driver=\"mysql\"\n    dsn=\"root:root@tcp(localhost:3306)/moredoc?charset=utf8mb4\u0026loc=Local\u0026parseTime=true\"\n    # 生产环境，请将showSQL设置为false\n    showSQL=true\n    maxOpen=10\n    maxIdle=10\n\n# jwt 配置\n[jwt]\n    secret=\"moredoc\"\n    expireDays=365\n```\n\n\u003ca name=\"dev-init\"\u003e\u003c/a\u003e\n\n### 初始化\n\n**后端初始化**\n\n```\n# 安装go依赖\ngo mod tidy\n\n# 初始化工程依赖\nmake init\n\n# 编译proto api\nmake api\n\n# 修改 app.toml 文件配置\ncp app.example.toml app.toml\n\n# 编译后端\ngo build -o moredoc main.go\n\n# 初始化数据库结构\n./moredoc syncdb\n\n# 运行后端(可用其他热编译工具)，监听8880端口\ngo run main.go serve\n```\n\n**前端初始化**\n\n```bash\n# 切换到web目录\ncd web\n\n# 安装依赖\nnpm install\n\n# 运行前端，监听3000端口，浏览器访问 http://localhost:3000\nnpm run dev\n```\n\n\u003ca name=\"dev-account\"\u003e\u003c/a\u003e\n\n### 管理员初始账号密码\n\n```\nadmin\nmnt.ltd\n```\n\n\u003ca name=\"dev-release\"\u003e\u003c/a\u003e\n\n### 发布版本\n\n以下为示例\n\n```\n# 打标签\ngit tag -a v1.0.0 -m \"release v1.0.0\"\n\n# 推送标签\ngit push origin v1.0.0\n\n# 编译前端\ncd web \u0026\u0026 npm run generate\n\n# 编译后端，编译好了的版本会放到release目录下\n# 编译linux版本（Windows版本用 make buildwin）\nmake buildlinux\n```\n\n\u003ca name=\"license\"\u003e\u003c/a\u003e\n\n## License\n\n开源版本基于 [Apache License 2.0](./LICENSE) 协议发布。\n\n\u003ca name=\"thanks\"\u003e\u003c/a\u003e\n\n## 鸣谢\n\n感谢各开源项目为魔豆文库的开发奠定了基础。相关开源项目，后端依赖，详见 [go.mod](./go.mod)；前端依赖，详见 [web/package.json](./web/package.json)。\n\n魔豆文库 Logo 使用 [ 标小智 logosc.cn ](https://www.logosc.cn/?coupon=bookstack) 付费生成，效果不错，感谢。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnt-ltd%2Fmoredoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnt-ltd%2Fmoredoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnt-ltd%2Fmoredoc/lists"}