63 lines
2.0 KiB
Markdown
63 lines
2.0 KiB
Markdown
# 个人工具箱 (Own-Tools)
|
|
|
|
这是一个基于 Go 语言构建的模块化个人工具箱。目前已实现核心功能:**汉字字帖生成器**。
|
|
|
|
## 🌟 核心特性
|
|
|
|
- **全内嵌部署**:所有前端静态资源、汉字笔顺数据(9574个字)以及字体文件均通过 `go:embed` 打包进单个二进制文件。
|
|
- **高性能渲染**:原生 Go 实现的矢量 PDF 绘图,支持贝塞尔曲线平滑采样,生成高质量、不失真的字帖。
|
|
- **模块化架构**:采用插件化设计(`pkg/base` 接口),可轻松扩展新工具。
|
|
- **云原生就绪**:提供多阶段构建的 Dockerfile,并集成了 Gitea Actions CI/CD。
|
|
|
|
## 🛠 已集成工具
|
|
|
|
### 汉字字帖生成器 (`zitie`)
|
|
- **教学字帖 (2x3)**:带红色圆圈序号、方向箭头和骨架红线的专业临摹贴。
|
|
- **步进分解 (9列)**:米字格背景,逐笔展示汉字书写过程,支持多字连续排版。
|
|
- **智能适配**:自动适配 A4 和 Letter 纸张尺寸。
|
|
|
|
## 🚀 快速开始
|
|
|
|
### 本地运行 (已有编译好的二进制文件)
|
|
```bash
|
|
./toolbox -port 8888
|
|
```
|
|
访问 `http://localhost:8888` 即可开始使用。
|
|
|
|
### 从源码编译
|
|
确保已安装 Go 1.23+。
|
|
```bash
|
|
go build -o toolbox cmd/toolbox/main.go
|
|
```
|
|
|
|
### 命令行参数
|
|
- `-port`: 指定 Web 服务端口(默认 8080,优先级高于环境变量)。
|
|
|
|
## 🐳 容器化部署
|
|
|
|
### 环境变量
|
|
- `PORT`: 容器内监听端口(默认 8080)。
|
|
|
|
### 构建镜像
|
|
```bash
|
|
docker build -t toolbox:latest .
|
|
```
|
|
|
|
### 运行镜像
|
|
```bash
|
|
docker run -p 8080:8080 toolbox:latest
|
|
```
|
|
|
|
## 📂 项目结构
|
|
|
|
- `cmd/toolbox/`: 程序入口及内嵌前端网页。
|
|
- `pkg/base/`: 工具标准接口定义及自动注册中心。
|
|
- `pkg/zitie/`: 汉字字帖工具实现。
|
|
- `data/`: 内嵌的 30MB 完整字库及字体。
|
|
- `logic/`: PDF 渲染、SVG 解析、避让算法逻辑。
|
|
- `.gitea/workflows/`: CI/CD 自动化流水线配置。
|
|
- `design/`: 项目设计文档。
|
|
|
|
## 📝 许可证
|
|
自用工具,遵循 MIT 协议。
|