# ideal-yuque-md-refactor **Repository Path**: ideal-20/ideal-yuque-md-refactor ## Basic Information - **Project Name**: ideal-yuque-md-refactor - **Description**: 一款支持语雀 markdown 文件导出后的格式修复工具,包含图片有序本地化,段间距格式处理等操作。治好你的强迫症,解放双手专心码字。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 3 - **Created**: 2022-10-31 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 语雀, 语雀导出, yuque, Markdown ## README # ideal-yuque-md-refactor ## 1. 介绍 🤔 ### 1.1 项目定位: 一款支持语雀 markdown 文件导出后的格式修复工具,包含图片有序本地化,段间距格式处理等操作。治好你的强迫症,解放双手专心码字。 如果想要沉淀去写一些技术积累和生活,语雀是目前为止我用起来比较顺手的平台工具,但是我自己本身有多台机器,也有备份的习惯,所以本地坚果云都会同步备份,以备不时之需。 语雀编辑器本身是一个富文本兼容 markdown 语法的特色编辑器,确实体验效果很好。不过也正因为如此,到处 markdown 的时候,会有一些不完全兼容的地方,因此开发了这个工具,后面会陆续更新一些功能。 功能 - [x] **图片多余后缀处理** - 处理后可在联网情况下以语雀图床的方式显示 - [x] **图片本地化** - 目前默认会在源文件目录下生成 images 文件夹,以数字 1 开始递增命名,例如 `1.png` ,请保证文件夹内只有数字命名的文件 - [x] **段间距调整** - 请保证导出时选择了 “导出保持语雀的换行” - [x] **LaTeX 公式兼容** - [x] **指定文件输出目录** - 当前基于源文件覆盖输出。 - [x] **自动处理文件夹下的所有 markdown 文件** - 包括子目录 - [ ] 目前够了? ### 1.2 技术博客: - [个人技术博客@二境志 - 涵盖了几乎博主这几年的所有文章,持续更新中!](https://gitee.com/link?target=https%3A%2F%2Fwww.yuque.com%2Fideal-20) ### 1.3 使用场景: 1. 图片不兼容 1. 图片本地化 1. 段间距调整 ![部分错误效果](images/1.png) ## 2. 使用说明 📔 ### 2.1 环境: 1. JDK 1.8+ 、 2. Maven 3.x+ 3. IDEA 编译器(打 jar 包后命令跑也行) **说明:** 1. 目前没打成 jar,调用方式也是通过 http 请求,当然也可以直接走单元测试。 2. 日志在控制台输出,没配 logback。 ### 2.3 使用步骤 1. 在具备 Java 环境的前提下,导入到 IDEA 编译器,启动 BootApplication,端口号为 8081,可在 application.yaml 中修改 2. 语雀导出时,“导出保持语雀的换行” 3. 复制出自己保存文件的绝对路径,例如:`/Users/ideal/Desktop/test/待处理md文件.md` 4. 通过 Postman /ApiFox 等工具 HTTP 请求接口(下方有介绍),或者单元测试自己启动。 ### 2.2 接口: **重要说明:如果不指定都是覆盖源文件重构,源文件不会保留, 请一定备份!!!而且请保证源文件不被占用,否则会报错** POST /refactor/refactorByLocalPath **请求参数** | 名称 | 位置 | 类型 | 必选 | 说明 | | -------------------- | ----- | ------- | ---- | --------------------------------------------- | | localFilePath | query | string | 是 | 本地文件路径 | | pathType | query | integer | 是 | 路径类型 文件路径类型-1 文件夹类型-2 | | targetDirPath | query | string | 否 | 指定输出路径 | | dirRecursive | query | string | 否 | 递归开关 0-关闭 1-开启(文件夹需传 默认关闭) | | localImgRelativePath | query | string | 否 | 图片生成相对于文件的路径( 默认 images) | | newImgNameStrategy | query | string | 否 | 图片命名策略(暂时没用,都是数字递增处理) | **举例 1:** 覆盖重构指定单个 markdown 文件(如果想要指定输出目录,则指定 targetDirPath) - localFilePath = `/Users/ideal/Desktop/test/待处理md文件.md` - pathType = 1 **举例 2:**重构指定文件夹下的所有 markdown 文件,并且保留原来的层级格式输出到指定目录。 - localFilePath = `/Users/ideal/Desktop/test/doc` - pathType = 2 - targetDirPath = `/Users/ideal/Desktop/test/new-doc` - dirRecursive = 1 > 返回示例 **返回结果** | 状态码 | 状态码含义 | 说明 | 数据模型 | | ------ | ------------------------------------------------------- | ---- | -------- | | 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | 成功 | Inline | ### 2.3 效果 ![修复效果](images/2.png) ## 3. 更新日志 **2022.10.31 更新** 1. 提交通过 Http 请求的单 markdown 文件覆盖修复初始版本 **2022.11.03 更新** 1. **支持了LaTeX 公式处理** 2. **支持指定文件输出目录** 3. **支持自动处理文件夹下的所有 markdown 文件**