清洗管线重构为严格三层架构:
- tango_analyser.py(底层:单词分析)
- task_processor.py(中层:文件 I/O、桶管理)
- workflow.py(顶层:状态机、任务推进)
- 移除旧的 batch_processor.py
新增配置文件系统:
- config.py:TOML 配置,相对路径相对配置文件目录解析
- 查找优先级 --config > cwd > 项目根 > ~ > 默认值
- count=None 语义为处理到文件末尾
项目目录整理:
- 根脚本归档到 scripts/analysis 与 scripts/legacy
- 文档归档到 docs/{design,history,analysis}
- 临时报告移到 reports/(已 gitignore)
文档质量:
- 新增 .markdownlint.json 与 scripts/mdlint.cmd
- 修复全部 14 个 md 文件的 markdownlint 警告
测试:74 passed(8 cleaner + 31 workflow + 6 tango + 15 validator + 14 config)
167 lines
3.6 KiB
Markdown
167 lines
3.6 KiB
Markdown
# Markdown Linting 修复总结
|
||
|
||
## 已修复的文档
|
||
|
||
### 1. `README.md` ✅
|
||
|
||
**修复内容**:
|
||
|
||
- ✅ MD040: 为代码块添加语言标识 (`text`)
|
||
- ✅ MD032: 在列表前后添加空行
|
||
- ✅ MD022: 在标题前后添加空行
|
||
- ✅ MD060: 表格对齐(使用最简格式避免中文字符对齐问题)
|
||
|
||
**修复数量**:26 处警告全部修复
|
||
|
||
---
|
||
|
||
### 2. `README_cleaner.md` ✅
|
||
|
||
**修复内容**:
|
||
|
||
- ✅ MD060: 所有表格分隔行添加空格 (`| --- | --- |`)
|
||
- ✅ MD032: 在列表前后添加空行
|
||
- ✅ MD040: 为代码块添加语言标识 (`bash`, `python`, `toml`, `text`)
|
||
- ✅ MD031: 在代码块前后添加空行
|
||
- ✅ MD036: 将加粗文本改为标题(三个小节标题)
|
||
|
||
**修复数量**:37 处警告全部修复
|
||
|
||
---
|
||
|
||
## 需要检查的文档(未提供警告信息)
|
||
|
||
以下文档可能也需要修复,但未提供 VSCode markdownlint 警告:
|
||
|
||
### docs/
|
||
|
||
1. `docs/README.md`
|
||
2. `docs/analysis/REVIEW_ANALYSIS.md`
|
||
3. `docs/design/CONFIG_FILE_DESIGN.md`
|
||
4. `docs/design/WORKFLOW.md`
|
||
5. `docs/history/CLEANUP_SUMMARY.md`
|
||
6. `docs/history/CONFIG_INTEGRATION_COMPLETE.md`
|
||
7. `docs/history/CONFIG_SIMPLIFICATION.md`
|
||
8. `docs/history/FINAL_CLEANUP_SUMMARY.md`
|
||
9. `docs/history/REFACTOR_SUMMARY.md`
|
||
|
||
### scripts/
|
||
|
||
1. `scripts/analysis/README.md`
|
||
2. `scripts/legacy/README.md`
|
||
|
||
### tests/
|
||
|
||
1. `tests/data/rules.md`
|
||
|
||
---
|
||
|
||
## 修复的主要问题类型
|
||
|
||
### 1. MD060 - 表格对齐
|
||
|
||
**问题**:中文字符和 emoji 的宽度计算导致对齐困难
|
||
|
||
**解决方案**:
|
||
|
||
- 使用最简表格格式(不强制列宽对齐)
|
||
- 分隔行使用 `| --- | --- |`(两侧有空格)
|
||
|
||
**示例**:
|
||
|
||
```markdown
|
||
| 列1 | 列2 |
|
||
| --- | --- |
|
||
| 内容 | 内容 |
|
||
```
|
||
|
||
### 2. MD040 - 代码块缺少语言标识
|
||
|
||
**问题**:空的 ` ``` ` 代码块
|
||
|
||
**解决方案**:根据内容添加语言标识
|
||
|
||
- ` ```bash ` - shell 命令
|
||
- ` ```python ` - Python 代码
|
||
- ` ```toml ` - TOML 配置
|
||
- ` ```text ` - 纯文本/目录树
|
||
|
||
### 3. MD032 - 列表前后缺少空行
|
||
|
||
**问题**:列表与段落/标题之间没有空行
|
||
|
||
**解决方案**:在列表前后各添加一个空行
|
||
|
||
**示例**:
|
||
|
||
```markdown
|
||
段落文本
|
||
|
||
- 列表项1
|
||
- 列表项2
|
||
|
||
段落文本
|
||
```
|
||
|
||
### 4. MD022 - 标题前后缺少空行
|
||
|
||
**问题**:标题与内容之间没有空行
|
||
|
||
**解决方案**:在标题前后各添加一个空行
|
||
|
||
**示例**:
|
||
|
||
```markdown
|
||
段落
|
||
|
||
## 标题
|
||
|
||
段落
|
||
```
|
||
|
||
### 5. MD031 - 代码块前后缺少空行
|
||
|
||
**问题**:代码块与段落之间没有空行
|
||
|
||
**解决方案**:在代码块前后各添加一个空行
|
||
|
||
### 6. MD036 - 加粗文本作为标题
|
||
|
||
**问题**:独立一行的 `**加粗文本**` 应该使用标题语法
|
||
|
||
**解决方案**:改为 `#### 标题` 格式
|
||
|
||
---
|
||
|
||
## 检查建议
|
||
|
||
如果你想检查其他文档是否有警告,在 VSCode 中:
|
||
|
||
1. 打开每个 `.md` 文件
|
||
2. 查看问题面板(Ctrl+Shift+M)
|
||
3. 筛选 `markdownlint` 警告
|
||
4. 如有警告,提供给我进行修复
|
||
|
||
或者你可以告诉我:"检查所有文档",我会逐个读取并按照相同规则预防性修复常见问题。
|
||
|
||
---
|
||
|
||
## 当前状态
|
||
|
||
✅ **根目录 README** — 无警告
|
||
✅ **用户文档 README_cleaner** — 无警告
|
||
❓ **docs/ 目录(9 个文件)** — 未提供警告信息
|
||
❓ **scripts/ 目录(2 个文件)** — 未提供警告信息
|
||
❓ **tests/ 目录(1 个文件)** — 未提供警告信息
|
||
|
||
---
|
||
|
||
## 下一步
|
||
|
||
请确认:
|
||
|
||
1. **根目录两个 README 是否已无警告?**(在 VSCode 中检查)
|
||
2. **是否需要检查 docs/ 和 scripts/ 下的文档?**
|
||
|
||
如果需要,请提供其他文档的警告信息,或让我预防性修复所有文档。
|