Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: 添加测试步骤并更新文档 #4

Merged
merged 1 commit into from
Dec 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ jobs:
run: |
pnpm build || (echo "Build failed" && exit 1)

- name: Test
run: |
pnpm test || (echo "Test failed" && exit 1)

- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
Expand Down
160 changes: 85 additions & 75 deletions README-zh.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,38 @@
这是 `ai-markdown-translator` 文档的修订和合并版本,将 `npx` 和 `./ai-markdown-translator` 的示例结合在一起:

---

# ai-markdown-translator

[![NPM version](https://img.shields.io/npm/v/ai-markdown-translator.svg?style=flat)](https://www.npmjs.org/package/ai-markdown-translator)
[![CI](https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml/badge.svg)](https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml)
![NPM Downloads](https://img.shields.io/npm/dw/ai-markdown-translator)
![GitHub License](https://img.shields.io/github/license/h7ml/ai-markdown-translator)
[![NPM 版本](https://img.shields.io/npm/v/ai-markdown-translator.svg?style=flat)](https://www.npmjs.org/package/ai-markdown-translator)
[![CI](https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml/badge.svg)](https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml)
[![Release](https://github.com/h7ml/ai-markdown-translator/actions/workflows/release.yml/badge.svg)](https://github.com/h7ml/ai-markdown-translator/actions/workflows/release.yml)
[![NPM 下载量](https://img.shields.io/npm/dw/ai-markdown-translator)](https://www.npmjs.org/package/ai-markdown-translator)
[![NPM 许可证](https://img.shields.io/npm/l/ai-markdown-translator)](https://www.npmjs.org/package/ai-markdown-translator)
[![GitHub Stars](https://img.shields.io/github/stars/h7ml/ai-markdown-translator.svg)](https://github.com/h7ml/ai-markdown-translator/stargazers)
[![GitHub Issues](https://img.shields.io/github/issues/h7ml/ai-markdown-translator.svg)](https://github.com/h7ml/ai-markdown-translator/issues)
[![GitHub Forks](https://img.shields.io/github/forks/h7ml/ai-markdown-translator.svg)](https://github.com/h7ml/ai-markdown-translator/network/members)
[![GitHub Contributors](https://img.shields.io/github/contributors/h7ml/ai-markdown-translator.svg)](https://github.com/h7ml/ai-markdown-translator/graphs/contributors)

[English](README.md) | [中文](README-zh.md)

ai-markdown-translator是一个命令行工具,使用OpenAI的语言模型将Markdown文件从一种语言翻译成另一种语言。在翻译内容的同时,它会保留Markdown语法
`ai-markdown-translator` 是一个命令行工具,可以使用 OpenAI 的语言模型将 Markdown 文件从一种语言翻译成另一种语言。它在翻译内容的同时保留了 Markdown 语法

## 特性
## 功能

- 将Markdown文件翻译为OpenAI模型支持的任何语言
- 在翻译过程中保留Markdown语法
- 通过命令行参数或环境变量灵活配置
- 跨平台支持(Windows,macOS,Linux)
- 将 Markdown 文件翻译为 OpenAI 模型支持的任何语言。
- 在翻译过程中保留 Markdown 语法。
- 通过命令行参数或环境变量进行灵活配置。

## 先决条件

- Node.js(v14或更高版本)
- npm(通常与Node.js一起提供)
- OpenAI API密钥
- Node.js (v14 或更高版本)
- npm (通常随 Node.js 一起安装)
- 一个 OpenAI API 密钥

## 安装

1. 克隆此库或下载源代码
1. 克隆此存储库或下载源代码
2. 在终端中导航到项目目录。
3. 安装依赖项:

Expand All @@ -36,128 +46,128 @@ npm install
npm run build
```

5. (可选)将CLI打包为独立可执行文件:

```bash
npm run package
```

这将在`bin`目录中为Windows、macOS和Linux创建可执行文件。

## 脚本

- **build**:将TypeScript文件编译为JavaScript。
- **start**:使用Node.js运行CLI工具。
- **package**:为CLI创建独立的可执行文件。
- **lint**:运行ESLint检查代码质量问题。
- **lint:fix**:自动修复代码问题。
- **format**:使用Prettier格式化代码。
- **format:check**:检查代码格式而不做更改。
- `build`: 将 TypeScript 文件编译为 JavaScript。
- `start`: 使用 Node.js 运行编译后的 JavaScript。
- `lint`: 使用 ESLint 检查 TypeScript 文件中的代码质量问题。
- `lint:fix`: 自动修复 TypeScript 文件中的 lint 问题。
- `format`: 使用 Prettier 格式化 `src` 目录中各种文件类型的代码。
- `format:check`: 检查代码格式而不对 `src` 目录中各种文件类型进行更改。
- `postbuild`: 使编译后的 `index.js` 文件可执行。
- `changelog`: 根据常规提交生成更改日志。
- `version`: 在版本控制时更新更改日志并将其暂存为提交。
- `test`: 构建项目并运行测试。

## 用法
## 使用方法

您可以使用Node.js、`npx`或作为独立可执行文件(如果您已经打包)来运行CLI工具
您可以使用 Node.js、`npx` 或作为独立可执行文件(如果已打包)来运行 CLI 工具

### 使用Node.js
### 使用 Node.js

```bash
node dist/index.js --input <input-file> --output <output-file> --language <target-language> [options]
```

### 使用npx
### 使用 npx

```bash
npx ai-markdown-translator -i <input-file> -o <output-file> -l <target-language> [options]
```

例如:

```bash
npx ai-markdown-translator -u https://gitee.com/h7ml/ai-markdown-translator/raw/main/README.md -o output.md -l "Italian"
```

### 使用独立可执行文件

```bash
./ai-markdown-translator --input <input-file> --output <output-file> --language <target-language> [options]
```

### 选项
## 选项

- `--input`, `-i`:输入Markdown文件(替代--url)
- `--url`, `-u`:要翻译的Markdown文件的URL(替代--input)
- `--output`, `-o`:输出Markdown文件(必填)
- `--language`, `-l`:翻译的目标语言(必填)
- `--openai-url`:OpenAI API URL(默认:使用OPENAI_URL环境变量)
- `--api-key`:OpenAI API密钥(默认:使用API_KEY环境变量)
- `--model`:使用的OpenAI模型(默认:使用MODEL环境变量或'gpt-3.5-turbo')
- `--help`, `-h`:显示帮助
- `--input`, `-i`: 输入的 Markdown 文件(作为 `--url` 的替代)。
- `--url`, `-u`: 要翻译的 Markdown 文件的 URL(作为 `--input` 的替代)。
- `--output`, `-o`: 输出的 Markdown 文件(必填)。
- `--language`, `-l`: 翻译的目标语言(必填)。
- `--openai-url`: OpenAI API 的 URL(默认使用 `OPENAI_URL` 环境变量)。
- `--api-key`: OpenAI API 密钥(默认使用 `API_KEY` 环境变量)。
- `--model`: 使用的 OpenAI 模型(默认使用 `MODEL` 环境变量或 `gpt-3.5-turbo`)。
- `--help`, `-h`: 显示帮助。
- `--show-version`, `-v`: 显示版本。

注意:`--input``--url`是互斥的——您必须提供其中一个
> 注意:`--input``--url` 是互斥的;必须提供其中之一

## 环境变量

您可以设置以下环境变量,而不是作为命令行参数传递它们
可以设置以下环境变量,而不是作为命令行参数传递

- `OPENAI_URL`OpenAI API的URL
- `API_KEY`:您的OpenAI API密钥
- `MODEL`:使用的OpenAI模型(例如'gpt-3.5-turbo'
- `OPENAI_URL`: OpenAI API 的 URL。
- `API_KEY`: 您的 OpenAI API 密钥。
- `MODEL`: 使用的 OpenAI 模型(例如 `'gpt-3.5-turbo'`)。

您可以在项目根目录中的`.env`文件中设置这些变量,或在您的Shell中导出它们
可以在项目根目录的 `.env` 文件中设置这些变量或在 shell 中导出它们

## 示例

1. 将Markdown文件从英语翻译成西班牙语:
1. **将 Markdown 文件从英文翻译成西班牙语:**

```bash
./ai-markdown-translator --input english.md --output spanish.md --language "Spanish"
npx ai-markdown-translator -i english.md -o spanish.md -l "Spanish"
```

2. 使用特定的OpenAI模型翻译:
2. **使用特定 OpenAI 模型进行翻译:**

```bash
./ai-markdown-translator --input input.md --output output.md --language "French" --model "gpt-4"
npx ai-markdown-translator -i input.md -o output.md -l "French" --model "gpt-4"
```

3. 使用自定义OpenAI URL和API密钥翻译:
3. **使用自定义 OpenAI URL 和 API 密钥进行翻译:**

```bash
./ai-markdown-translator --input input.md --output output.md --language "German" --openai-url "https://api.302.ai/v1/chat/completions" --api-key "sk-302-api-key"
npx ai-markdown-translator -i input.md -o output.md -l "German" --openai-url "https://api.302.ai/v1/chat/completions" --api-key "sk-302-api-key"
```

4. 使用`npx`翻译Markdown文件:
4. **翻译 URL 的 Markdown 内容:**

```bash
npx ai-markdown-translator -i input.md -o output.md -l "Italian"
npx ai-markdown-translator -u https://gitee.com/h7ml/ai-markdown-translator/raw/main/README.md -o output.md -l "Italian"
```

5. 翻译URL的Markdown内容:

```bash
./ai-markdown-translator -u https://gitee.com/h7ml/ai-markdown-translator/raw/main/README.md -o output.md -l "Italian"
```

## 许可
## 许可证

[MIT License](LICENSE)

## Git信息
## Git 信息

- **仓库**[h7ml/ai-markdown-translator](https://github.com/h7ml/ai-markdown-translator)
- **问题**[报告问题](https://github.com/h7ml/ai-markdown-translator/issues)
- **仓库**: [h7ml/ai-markdown-translator](https://github.com/h7ml/ai-markdown-translator)
- **问题**: [报告问题](https://github.com/h7ml/ai-markdown-translator/issues)

## 版本信息

- **当前版本**1.0.6
- **NPM包**:[ai-markdown-translator](https://www.npmjs.com/package/ai-markdown-translator)
- **当前版本**: 1.0.6
- **NPM 包**: [ai-markdown-translator](https://www.npmjs.com/package/ai-markdown-translator)

## CI信息
## CI 信息

此项目使用GitHub Actions进行持续集成。CI工作流包括
该项目使用 GitHub Actions 进行持续集成。CI 工作流包括

- 使用ESLint对代码进行Lint检查
- 运行测试(如果适用
- 使用 ESLint 对代码进行 lint 检查
- 运行测试(如适用
- 构建项目
- 缓存依赖项以加速构建
- 缓存依赖项以加快构建速度
h7ml marked this conversation as resolved.
Show resolved Hide resolved

## 贡献

欢迎贡献!请随时提交Pull Request。
欢迎贡献!请随时提交 Pull Request。

## 支持

如果您遇到任何问题或有任何疑问,请在此仓库中提出问题。
如果遇到任何问题或有任何问题,请在此存储库中打开一个问题。

---

此版本将 `npx` 和独立可执行文件 (`./ai-markdown-translator`) 的使用示例合并到一个连贯的部分中。如需进一步调整,请告诉我!
Loading
Loading