notes-export-api · git:20260428.d34ec2d · 2026-04-28 · sha256 f1bade7cd0ac2c01
notes-export-api git:20260428.d34ec2dB
Immutable. This exact content never changes and is served at /api/v1/blob/f1bade7cd0ac2c01.
--- name: notes-export-api description: 通过可配置的 notes-export-api 导出接口,把 Markdown 内容导出为锤子便签风格的长图 PNG。脚本会优先探测本地生产入口 `http://127.0.0.1:18080`,探测不到时再回退到 `https://notes.fangyuanxiaozhan.com/api/export`;如果存在 `skills/notes-export-api/.env`,则读取其中的 `NOTES_EXPORT_API_BASE_URL` 作为最高优先级。支持 `default` 暖白纸感和 `smartisan-dark` 锤子暗黑两种主题;如果调用方没有主动声明主题,默认使用 `default`,不要强制用户选择。支持通过 `--footer-brand` 和 `--footer-via` 自定义底部文案,不传时使用服务端默认值。若本地 Markdown 文件里包含相对路径或绝对路径图片,脚本会先调用同源后端的 `/api/images/import` 上传图片并回填 URL,再调用导出接口生成带图便签。用户提到“便签导出”“锤子便签”、Markdown 转图片、把本地 .md 文件渲染成便签长图、或需要用脚本批量导出便签图片时使用。 --- # 便签导出 API 直接调用导出 API 做便签导出,不在本地重写渲染逻辑。 开源地址:`https://github.com/zhaoolee/notes` ## 工作流 1. 使用 `scripts/export_note.sh`。 2. 传入 `--markdown-file` 或 `--markdown`。 3. 若使用 `--markdown-file`,脚本会自动扫描 Markdown 内的本地图片引用: - `` - `` - `<img src="./image.png" />` 4. 对本地图片调用同源后端 `/api/images/import` 获取 URL,并把 Markdown 中的图片路径替换成可访问 URL。 5. 再把替换后的 Markdown 提交到 `/api/export`。 6. 传入 `--output`。 7. 只有在调用方明确指定主题时才传 `--theme`;否则直接使用默认的 `default`(暖白纸感),不要为了主题再追问用户。 8. 如果调用方要求自定义底部文案,传入 `--footer-brand` 和/或 `--footer-via`;不传时使用服务端默认值。 9. 默认优先使用本地生产入口 `http://127.0.0.1:18080/api/export`;探测不到时回退到 `https://notes.fangyuanxiaozhan.com/api/export`。 10. 若需切换导出服务地址,可在 `skills/notes-export-api/.env` 中设置: ```bash NOTES_EXPORT_API_BASE_URL=http://127.0.0.1:18080 # 或显式指定线上地址 NOTES_EXPORT_API_BASE_URL=https://notes.fangyuanxiaozhan.com ``` ## 主题约定 - `default`: 暖白纸感。默认主题;调用方未声明时使用它。 - `smartisan-dark`: 锤子暗黑。仅在调用方明确要求暗色或暗黑主题时使用。 ## 脚本用法 ```bash skills/notes-export-api/scripts/export_note.sh \ --markdown-file /abs/path/to/note.md \ --output /abs/path/to/note.png ``` 如果 `note.md` 中包含本地图片,例如: ```md ## **0x01** 配图如下:  ``` 脚本会先上传 `./images/demo.png`,再把 Markdown 中的图片链接替换成后端返回的 URL,最后导出 PNG。 ```bash skills/notes-export-api/scripts/export_note.sh \ --markdown '## **0x01**\n正文内容' \ --output /abs/path/to/note.png ``` ```bash skills/notes-export-api/scripts/export_note.sh \ --markdown-file /abs/path/to/note.md \ --theme smartisan-dark \ --output /abs/path/to/note-dark.png ``` ```bash skills/notes-export-api/scripts/export_note.sh \ --markdown-file /abs/path/to/note.md \ --footer-brand '由方圆小站发送' \ --footer-via 'via Notes API' \ --output /abs/path/to/note-custom-footer.png ``` ## 注意事项 - 本地 Markdown 文件按 UTF-8 读取。 - `--markdown-file` 模式会自动处理本地图片;`--markdown` 内联文本模式不会解析相对路径图片,内联模式下请直接传可访问 URL。 - `--theme` 是可选参数;不传时默认使用 `default`。 - `--footer-brand` 和 `--footer-via` 是可选参数;不传时服务端默认使用 `由锤子便签发送` 和 `via Smartisan Notes`。 - 默认优先探测本地生产入口 `http://127.0.0.1:18080/api/export`;若本地服务不可用,则回退到 `https://notes.fangyuanxiaozhan.com/api/export`。 - `skills/notes-export-api/.env` 中的 `NOTES_EXPORT_API_BASE_URL` 优先级高于自动探测结果。 - 命令行 `--endpoint` 优先级仍然最高。 - 若 `.env` 提供的是站点根地址,脚本会自动补上 `/api/export`。 - 图片导入接口会从同一个后端地址推导得到:若导出地址是 `/api/export`,图片导入地址会自动改为 `/api/images/import`。 - 本地图片路径支持相对 `Markdown` 文件的相对路径、绝对路径,以及 `file://` 路径。 - 若 Markdown 中引用的本地图片不存在,脚本会直接报错并停止导出。 - 遇到非 200 响应时,直接把错误返回给调用方。