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:
@@ -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 @@
|
||||
# BibTeX(bib)
|
||||
|
||||
> 详细用法以 **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 @@
|
||||
# LaTeX(latex)
|
||||
|
||||
> 详细用法以 **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
|
||||
```
|
||||
Reference in New Issue
Block a user