From 90aa9196946866d9f552718c35d638d3337c5865 Mon Sep 17 00:00:00 2001 From: AC6 Date: Mon, 3 Apr 2023 00:49:03 +0800 Subject: [PATCH] docs: add Simplified Chinese version of README and CONTRIBUTING (#139) * add simplified Chinese translation for README.md * add simplified Chinese translation for CONTRIBUTING.md --- CONTRIBUTING.es.md | 2 +- CONTRIBUTING.md | 2 +- CONTRIBUTING.zh-cn.md | 96 ++++++++++++++++++++++++++++++++ README.es.md | 2 +- README.md | 2 +- README.zh-cn.md | 125 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 225 insertions(+), 4 deletions(-) create mode 100644 CONTRIBUTING.zh-cn.md create mode 100644 README.zh-cn.md diff --git a/CONTRIBUTING.es.md b/CONTRIBUTING.es.md index 1e9a436d..ae324efc 100644 --- a/CONTRIBUTING.es.md +++ b/CONTRIBUTING.es.md @@ -1,4 +1,4 @@ -*Leer esto en otro idioma: [Inglés](CONTRIBUTING.md), [Español](CONTRIBUTING.es.md)* +*Leer esto en otro idioma: [Inglés](CONTRIBUTING.md), [Español](CONTRIBUTING.es.md), [Chino Simplificado](CONTRIBUTING.zh-cn.md)* --- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4fcbd99a..34a9fd06 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -*Read this in another language: [Spanish](CONTRIBUTING.es.md), [English](CONTRIBUTING.md)* +*Read this in another language: [Spanish](CONTRIBUTING.es.md), [English](CONTRIBUTING.md), [Simplified Chinese](CONTRIBUTING.zh-cn.md)* --- diff --git a/CONTRIBUTING.zh-cn.md b/CONTRIBUTING.zh-cn.md new file mode 100644 index 00000000..b9b61322 --- /dev/null +++ b/CONTRIBUTING.zh-cn.md @@ -0,0 +1,96 @@ +*选择合适的语言阅读: [西班牙语](CONTRIBUTING.es.md), [英语](CONTRIBUTING.md), [简体中文](CONTRIBUTING.zh-cn.md)* + +--- + +# 提交贡献 + +我们非常感谢你 ❤️ 为 Pingvin Share 提交贡献使其变得更棒! 欢迎任何形式的贡献,包括 issues, 建议, PRs 和其他形式 + +## 小小的开始 + +你找到了一个 bug,有新特性建议或者其他提议,请在 GitHub 建立一个 issue 以便我和你联络 😊 + +## 提交一个 Pull Request + +在你提交 PR 前请确保 + +- PR 的名字遵守 [Conventional Commits specification](https://www.conventionalcommits.org): + + `[optional scope]: ` + + 例如: + + ``` + feat(share): add password protection + ``` + + `TYPE` 可以是: + + - **feat** - 这是一个新特性 feature + - **doc** - 仅仅改变了文档部分 documentation + - **fix** - 修复了一个 bug + - **refactor** - 更新了代码,但是并非出于增加新特性 feature 或修复 bug 的目的 + +- 请在 PR 中附详细的解释说明 +- 使用 `npm run format` 格式化你的代码 + +
+ 不知道怎么发起一个 PR? 点开了解怎么发起一个 PR + +1. 点击 Pingvin Share 仓库的 `Fork` 按钮,复制一份你的仓库 + +2. 通过 `git clone` 将你的仓库克隆到本地 + +``` +$ git clone https://github.com/[你的用户名]/pingvin-share +``` + +3. 进行你的修改 - 提交 commit 你的修改 - 重复直到完成 + +4. 将你的修改提交到 GitHub + +``` +$ git push origin [你的新分支的名字] +``` + +5. 提交你的代码以便代码审查 + + 如果你进入你 fork 的 Github 仓库,你会看到一个 `Compare & pull request` 按钮,点击该按钮 +6. 发起一个 PR +7. 点击 `Create pull request` 来提交你的 PR +8. 等待代码审查,通过或以某些原因拒绝 + +
+ +## 配置开发项目 + +Pingvin Share 包括前端和后端部分 + +### 后端 + +后端使用 [Nest.js](https://nestjs.com) 建立,使用 Typescript + +#### 搭建 + +1. 打开 `backend` 文件夹 +2. 使用 `npm install` 安装依赖 +3. 通过 `npx prisma db push` 配置数据库结构 +4. 通过 `npx prisma db seed` 初始化数据库数据 +5. 通过 `npm run dev` 启动后端 + +### 前端 + +后端使用 [Next.js](https://nextjs.org) 建立,使用 Typescript + +#### 搭建 + +1. 首先启动后端 +2. 打开 `frontend` 文件夹 +3. 通过 `npm install` 安装依赖 +4. 通过 `npm run dev` 启动前端 + +开发项目配置完成 + +### 测试 + +目前阶段我们只有后端的系统测试,在 `backend` 文件夹运行 `npm run test:system` 来执行系统测试 diff --git a/README.es.md b/README.es.md index e81ea51b..ef5162fe 100644 --- a/README.es.md +++ b/README.es.md @@ -3,7 +3,7 @@ --- -*Leer esto en otro idioma: [Inglés](README.md), [Español](README.es.md)* +*Leer esto en otro idioma: [Inglés](README.md), [Español](README.es.md), [Chino Simplificado](README.zh-cn.md)* --- diff --git a/README.md b/README.md index 7d133649..3abdfa43 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ --- -*Read this in another language: [Spanish](README.es.md), [English](README.md)* +*Read this in another language: [Spanish](README.es.md), [English](README.md), [Simplified Chinese](README.zh-cn.md)* --- diff --git a/README.zh-cn.md b/README.zh-cn.md new file mode 100644 index 00000000..42823b2c --- /dev/null +++ b/README.zh-cn.md @@ -0,0 +1,125 @@ +#

Pingvin Share
+ +--- + +*选择合适的语言阅读: [西班牙语](README.es.md), [英语](README.md), [简体中文](README.zh-cn.md)* + +--- + +Pingvin Share 是一个可自建的文件分享平台,是 WeTransfer 的一个替代品 + +## ✨ 特性 + +- 通过可自定义后缀的链接分享文件 +- 可自定义任意大小的文件上传限制 (受制于托管所在的硬盘大小) +- 对共享链接设置有效期限 +- 对共享链接设置访问次数和访问密码 +- 通过邮件自动发送共享链接 +- 整合 ClamAV 进行反病毒检查 + +## 🐧 了解一下 Pingvin Share + +- [示例网站](https://pingvin-share.dev.eliasschneider.com) +- [DB Tech 推荐视频](https://www.youtube.com/watch?v=rWwNeZCOPJA) + + + +## ⌨️ 自建指南 + +> 注意:Pingvin Share 仍处于开发阶段并且可能存在 bugs + +### Docker 部署 (推荐) + +1. 下载 `docker-compose.yml` +2. 运行命令 `docker-compose up -d` + +现在网站运行在 `http://localhost:3000`,尝试一下你本地的 Pingvin Share 🐧! + +### Stand-alone 部署 + +必须的依赖: + +- [Node.js](https://nodejs.org/en/download/) >= 16 +- [Git](https://git-scm.com/downloads) +- [pm2](https://pm2.keymetrics.io/) 用于后台运行 Pingvin Share + +```bash +git clone https://github.com/stonith404/pingvin-share +cd pingvin-share + +# 获取最新的版本 +git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`) + +# 启动后端 backend +cd backend +npm install +npm run build +pm2 start --name="pingvin-share-backend" npm -- run prod + +# 启动前端 frontend +cd ../frontend +npm install +npm run build +pm2 start --name="pingvin-share-frontend" npm -- run start +``` + +现在网站运行在 `http://localhost:3000`,尝试一下你本地的 Pingvin Share 🐧! + +### 整合组件 + +#### ClamAV (仅限 Docker 部署) + +扫描上传文件中是否存在可疑文件,如果存在 ClamAV 会自动移除 + +1. 在 docker-compose 配置中添加 ClamAV 容器 (见 `docker-compose.yml` 注释部分) 并启动容器 +2. Docker 会在启动 Pingvin Share 前启动 ClamAV,也许会花费 1-2 分钟 +3. Pingvin Share 日志中应该有 "ClamAV is active" + +请注意 ClamAV 会消耗很多 [系统资源(特别是内存)](https://docs.clamav.net/manual/Installing/Docker.html#memory-ram-requirements) + +### 更多资源 + +- [群晖 NAS 配置](https://mariushosting.com/how-to-install-pingvin-share-on-your-synology-nas/) + +### 升级 + +因为 Pingvin Share 仍处在开发阶段,在升级前请务必阅读 release notes 避免不可逆的改变 + +#### Docker 升级 + +```bash +docker compose pull +docker compose up -d +``` + +#### Stand-alone 升级 + +1. 停止正在运行的 app + ```bash + pm2 stop pingvin-share-backend pingvin-share-frontend + ``` +2. 重复 [installation guide](#stand-alone-installation) 中的步骤,除了 `git clone` 这一步 + ```bash + cd pingvin-share + + # 获取最新的版本 + git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`) + + # 启动后端 backend + cd backend + npm run build + pm2 restart pingvin-share-backend + + # 启动前端 frontend + cd ../frontend + npm run build + pm2 restart pingvin-share-frontend + ``` + +### 自定义品牌 + +你可以在管理员配置页面改变网站的名字和 logo + +## 🖤 提交贡献 + +非常欢迎向 Pingvin Share 提交贡献! 请阅读 [contribution guide](/CONTRIBUTING.md) 来提交你的贡献