feat: add journal submission kits + paper scaffold; restructure package

- init journal <elsevier|ieee|springer>: self-contained, make-buildable kits
  (Springer sn-jnl.cls + bst bundled; reuses project references.bib)
- init paper scaffold: ctexart + Fandol fonts, bib at root, latexdiff highlighted
- move templates/ under mytoolkit/, add info/references, relocate protocols
- migrate mytoolkit skill into submodule; update README/CLAUDE docs
This commit is contained in:
Zhengshou Lai
2026-06-28 23:38:47 +08:00
parent 75bb7dec32
commit 587eac8837
76 changed files with 23849 additions and 47 deletions
+86
View File
@@ -0,0 +1,86 @@
---
name: mytoolkit
description: |
个人 CLI 工具集 mytoolkit 的入口。涵盖:通用格式转换 (convert)、Markdown→PDF (Typst)、
PDF 处理、图片转换、LaTeX 编译、BibTeX 处理、视频转换、Docusaurus 网站构建、邮件管理等。
用于:文件格式转换、批量处理、压缩优化、文档生成。
详情见 references/ 子目录(convert.md / pdf.md / image.md / latex.md / bib.md / video.md / webpage.md / mail.md / others.md)。
user-invocable: true
triggers:
- mytoolkit
- convert
- 转换格式
- md-to-pdf
- markdown转pdf
- 转pdf
- 压缩pdf
- 合并pdf
- 图片转pdf
- 压缩图片
- latex编译
- bib转markdown
- avi转mp4
- 更新mytoolkit
---
# MyToolkit 个人 CLI 工具集
`mytoolkit` 是日常文件处理、格式转换、批量操作的便捷工具集。所有命令统一在 `mytoolkit` 命名空间下,支持 zsh tab completion。
```bash
eval "$(_MYTOOLKIT_COMPLETE=zsh_source mytoolkit)"
```
## 与其他 Skill 的分工
| 场景 | 该用哪个 Skill |
|------|---------------|
| 通用格式转换(MD→PDF、图片→PDF、PDF 压缩等) | **mytoolkit** `convert` |
| PDF/图片/视频 细节操作 | **mytoolkit** `pdf` / `image` / `video` |
| LaTeX 编译 | **mytoolkit** `latex compile` |
| 简历内容更新 + 生成 PDF | **mycv**`mytoolkit convert cv-zh.md -o cv-zh.pdf -t cv` |
| 课题组网站内容更新 | **mywebpage**Docusaurus 内容维护) |
| 邮件收发 | **mail**`mytoolkit mail` 命令,由 mail skill 主导) |
## 子命令导航
| 子命令 | 场景 | 详情 |
|--------|------|----------|
| `convert` | 通用格式转换:MD→PDF/Word、图片→PDF、PDF 压缩、EPS→PDF、AVI→MP4、BibTeX→Markdown | `mytoolkit info docs convert` |
| `pdf` | PDF 细粒度操作:压缩、裁剪、合并、书签层级调整、PDF→TIFF | `mytoolkit info docs pdf` |
| `image` | 图片处理:压缩、EPS 修复、AI 生图 | `references/image.md` |
| `latex` | LaTeX 编译、字数统计 | `references/latex.md` |
| `bib` | BibTeX→Markdown、CV 引用更新 | `references/bib.md` |
| `video` | 视频格式转换 | `references/video.md` |
| `webpage` | Docusaurus 网站构建、部署、server 管理 | `mytoolkit info docs webpage` |
| `mail` | 邮箱管理(inbox、read、draft | `references/mail.md` |
| `env/git/ssh/server/update/uninstall` | 其他辅助命令 | `references/others.md` |
> 注:`convert`、`pdf`、`webpage` 的完整参考文档已随 mytoolkit 包安装,通过 `mytoolkit info docs <name>` 直接读取;技能内 `references/` 仅保留速查。
## 快速决策表
| 需求 | 推荐命令 |
|------|---------|
| Markdown 转 PDF | `mytoolkit convert doc.md -o doc.pdf [-t cv/textbook/manual]` |
| 压缩 PDF | `mytoolkit convert large.pdf -o small.pdf -q screen` |
| 合并 PDF/图片 | `mytoolkit pdf merge *.pdf *.png -o out.pdf` |
| EPS 插图转 PDF | `mytoolkit convert fig.eps -o fig.pdf` |
| 图片太大需压缩 | `mytoolkit image compress *.jpg -t 2.0` |
| 照片合成 PDF | `mytoolkit convert *.jpg -o album.pdf` |
| LaTeX 编译 | `mytoolkit latex compile paper.tex` |
| BibTeX 转 Markdown | `mytoolkit convert refs.bib -o refs.md` |
| AVI 视频转 MP4 | `mytoolkit convert video.avi -o video.mp4` |
| 更新工具本身 | `cd mytoolkit && make install` |
## 安装与更新
```bash
cd ~/workspace/contrib/mytoolkit && make install
mytoolkit --version
mytoolkit templates list
```
> **重要**:修改 `contrib/mytoolkit` 中的源码、或用 `git pull` / `git submodule update` 拉取更新后,**都必须重新执行 `make install`**(或 `mytoolkit update`)。Python 的 editable 安装不会自动跟踪源码改动,不重装则 CLI 调用的仍是旧版本。验证方式:`mytoolkit --version` 或 `which mytoolkit`。
> **唯一真源**:mytoolkit 的具体用法、命令参数、模板说明以 **已安装的 mytoolkit 包** 为准。读取详细文档时,先运行 `mytoolkit info paths` 查看资源路径,或用 `mytoolkit info docs <name>` 直接打印参考文档。若 `mytoolkit` 命令不可用,可按默认开发路径 `~/workspace/contrib/mytoolkit/` 查找。本 skill 的 `references/` 仅作为速查补充。
@@ -0,0 +1,8 @@
# BibTeXbib
> 详细用法以 **mytoolkit 项目 README.md** 为准(可用 `mytoolkit info paths` 辅助定位)。
```bash
mytoolkit bib to-markdown refs.bib -o refs.md
mytoolkit bib cv-update
```
@@ -0,0 +1,22 @@
> 完整文档:`mytoolkit info docs convert`(不依赖 workspace 路径)。
> 本文档仅保留最常用速查。
```bash
# Markdown → PDF
mytoolkit convert doc.md -o doc.pdf
mytoolkit convert doc.md -o doc.pdf -t cv
mytoolkit convert ch1.md ch2.md -o book.pdf -t textbook
# Markdown → Word
mytoolkit convert doc.md -o doc.docx
# 图片 / EPS → PDF
mytoolkit convert fig.eps -o fig.pdf
mytoolkit convert *.jpg -o album.pdf
# PDF 压缩 / PDF → TIFF / AVI → MP4 / BibTeX → Markdown
mytoolkit convert large.pdf -o small.pdf -q screen
mytoolkit convert scan.pdf -o scan.tiff -d 300
mytoolkit convert video.avi -o video.mp4
mytoolkit convert refs.bib -o refs.md
```
@@ -0,0 +1,15 @@
# 图片处理(image
> 详细用法以 **mytoolkit 项目 README.md** 为准(可用 `mytoolkit info paths` 辅助定位)。
```bash
# 压缩图片(自动调整尺寸/质量)
mytoolkit image compress *.png -t 2.0
mytoolkit image compress photo.jpg -w 1920 -q 85
# EPS 修复
mytoolkit image eps-fix broken.eps
# AI 生成图片(豆包/Seedream
mytoolkit image generate "prompt" -o output.png
```
@@ -0,0 +1,19 @@
# LaTeXlatex
> 详细用法以 **mytoolkit 项目 README.md** 为准(可用 `mytoolkit info paths` 辅助定位)。
```bash
mytoolkit latex compile paper.tex
mytoolkit latex compile paper.tex -e xelatex
mytoolkit latex count paper.tex
```
## 论文脚手架 / 投稿模板
```bash
mytoolkit init paper <dir> # 新建论文项目(ctexart + Fandol 跨平台字体)
mytoolkit init journal # 列出投稿套件
mytoolkit init journal elsevier # Elsevier / ieee / springer 套件 → ./submit-<name>/
```
投稿套件自带文档类与 bst`make`pdflatex+bibtex)直接编译;自动复用当前目录 `references.bib`。Springer 切样式只改 `\documentclass[...,sn-xxx]{sn-jnl}` 选项,勿写 `\bibliographystyle`。详见 CLAUDE.md §3。
@@ -0,0 +1,14 @@
# 邮件(mail
> 详见 `mail` skill。核心命令如下,完整用法以 **mytoolkit 项目 README.md** 为准(可用 `mytoolkit info paths` 辅助定位)。
```bash
mytoolkit mail inbox --limit 10
mytoolkit mail read <UID>
mytoolkit mail download <UID> -o ~/Downloads
mytoolkit mail draft --to xxx@example.com --subject "..." --body "..."
```
**注意**
- `<UID>` 为真 IMAP UID`inbox` 列出的就是),跨会话稳定
- ⚠️ **绝对禁止发送邮件** —— `draft`/`reply`/`forward` 仅保存到 Drafts,**不会**且**不应**自动发送;即便用户说“发出去”,也只能生成草稿并提示用户去 Web 端点击发送
@@ -0,0 +1,13 @@
# 其他命令
> 详细用法以 **mytoolkit 项目 README.md** 为准(可用 `mytoolkit info paths` 辅助定位)。
```bash
mytoolkit init paper <dir> # 初始化 LaTeX 论文项目
mytoolkit env # 环境变量管理
mytoolkit git # Git 辅助工具
mytoolkit ssh # SSH 快捷连接
mytoolkit server # 开发服务器管理
mytoolkit update # 从本地仓库更新
mytoolkit uninstall # 卸载
```
@@ -0,0 +1,15 @@
> 完整文档:`mytoolkit info docs pdf`(不依赖 workspace 路径)。
> 本文档仅保留最常用速查。
```bash
# 压缩
mytoolkit pdf compress paper.pdf -q ebook
# 裁剪 / 合并 / 调整书签层级
mytoolkit pdf crop figure.pdf
mytoolkit pdf merge ch*.pdf -o book.pdf
mytoolkit pdf bookmark report.pdf --depth 2
# PDF → TIFF
mytoolkit pdf to-tiff scan.pdf -d 300
```
@@ -0,0 +1,7 @@
# 视频(video
> 详细用法以 **mytoolkit 项目 README.md** 为准(可用 `mytoolkit info paths` 辅助定位)。
```bash
mytoolkit video avi-to-mp4 recording.avi
```
@@ -0,0 +1,10 @@
> 完整文档:`mytoolkit info docs webpage`(不依赖 workspace 路径)。
> 本文档仅保留最常用速查。
```bash
mytoolkit webpage list
mytoolkit webpage mywebpage build --serve
mytoolkit webpage mywebpage rebuild
mytoolkit webpage mywebpage push
mytoolkit webpage mywebpage pdf build
```