woocommerce/.ai/skills/woocommerce-markdown/zh-cn/SKILL.md
2026-04-15 10:18:01 +08:00

364 lines
No EOL
6.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: woocommerce-markdown
description: Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
---
# WooCommerce Markdown 指南
本技能为在 WooCommerce 项目中创建和编辑 markdown 文件提供指导。
## 关键规则
1. **更改后始终进行代码检查** - 运行 `markdownlint --fix` 然后运行 `markdownlint` 以验证
2. **从仓库根目录运行** - 确保加载 `.markdownlint.json` 配置
3. **使用 UTF-8 编码** - 特别是对于目录树和特殊字符
4. **遵循 WooCommerce markdown 标准** - 请参阅下面的配置规则
## WooCommerce Markdown 配置
该项目使用 markdownlint 并遵循以下特定规则(来自 `.markdownlint.json`
### 启用的规则
- **MD003**: 标题样式必须为 ATX使用 `# 标题` 而非 `标题\n===`
- **MD007**: 无序列表缩进必须为 4 个空格
- **MD013**: 行长度限制已禁用(设置为 9999
- **MD024**: 允许存在内容相同的多个标题(仅检查同级标题)
- **MD031**: 围栏代码块前后必须有空行
- **MD032**: 列表前后必须有空行
- **MD033**: 仅允许为 `<video>` 元素使用 HTML
- **MD036**: 不应使用强调(粗体/斜体)作为标题 - 应使用正确的标题标签
- **MD040**: 围栏代码块应指定语言
- **MD047**: 文件必须以单个换行符结尾
### 禁用规则
- **no-hard-tabs**: 允许使用制表符
- **whitespace**: 禁用尾随空格规则
## Markdown 撰写指南
### 标题
```markdown
# 主标题 (H1) - 每个文件仅一个
## 部分 (H2)
### 子部分 (H3)
#### 次要部分 (H4)
```
- 使用 ATX 风格 (`#`) 而非下划线风格
- 每个文件一个 H1 标题(通常是标题)
- 保持标题层次结构(不要跳过级别)
### 列表
**无序列表:**
```markdown
- 项目一
- 项目二
- 嵌套项目4个空格
- 另一个嵌套项目
- 项目三
```
**有序列表:**
```markdown
1. 第一项
2. 第二项
3. 第三项
```
**重要:**
- 嵌套列表项目使用 4 个空格
- 在列表前后添加空白行
- 无序列表使用 `-`(而非 `*``+`
### 代码块
**始终指定语言:**
````markdown
```bash
pnpm test:php:env
```
```php
public function process_order( int $order_id ) {
// 此处代码
}
```
```javascript
const result = calculateTotal(items);
```
````
**常用语言标识符:**
- `bash` - Shell 命令
- `php` - PHP 代码
- `javascript` 或 `js` - JavaScript
- `typescript` 或 `ts` - TypeScript
- `json` - JSON 数据
- `sql` - SQL 查询
- `markdown` 或 `md` - Markdown 示例
**代码块规则:**
- 在起始围栏前添加空行
- 在结束围栏后添加空行
- 始终指定语言(切勿使用普通的 ` ``` `
### 内联代码
对内联代码使用反引号:
```markdown
使用 `process_order()` 方法来处理订单。
`$order_id` 参数必须是整数。
```
### 链接
```markdown
[链接文本](https://example.com)
[内部链接](.ai/skills/woocommerce-markdown/path/to/file)
[带标题的链接](https://example.com "可选标题")
```
### 表格
```markdown
| 列 1 | 列 2 | 列 3 |
|----------|----------|----------|
| 值 1 | 值 2 | 值 3 |
| 值 4 | 值 5 | 值 6 |
```
- 使用管道符 (`|`) 作为列分隔符
- 必须包含标题分隔行
- 对齐方式可选 (`:---`, `:---:`, `---:`)
### 目录树
**始终使用 UTF-8 制表符字符:**
```markdown
src/
├── Internal/
│ ├── Admin/
│ │ └── Controller.php
│ └── Utils/
│ └── Helper.php
└── External/
└── API.php
```
**切勿使用:**
- ASCII 艺术字符 (`+--`, `|--`)
- 空格或制表符来表示树结构
- 控制字符
### 强调
```markdown
**粗体文本** 用于强烈强调
*斜体文本* 用于常规强调
***粗斜体*** 用于非常强烈的强调
```
## Markdown 编辑工作流
1. **进行更改** 到 markdown 文件
2. **自动修复 linting 问题:**
```bash
markdownlint --fix path/to/file.md
```
3. **检查剩余问题:**
```bash
markdownlint path/to/file.md
```
4. **手动修复** 剩余问题(通常是代码块的语言规范)
5. **验证清理** - 无输出表示成功
6. **提交更改**
## 常见 Linting 错误及修复
### MD007: 列表缩进
**问题:**
```markdown
- 项目
- 嵌套(仅 2 个空格)
```
**修复:**
```markdown
- 项目
- 嵌套4 个空格)
```
### MD031: 代码块需要空行
**问题:**
````markdown
一些文本
```bash
命令
```
更多文本
````
**修复:**
````markdown
一些文本
```bash
命令
```
更多文本
````
### MD032: 列表需要空行
**问题:**
````markdown
一些文本
- 列表项目
````
**修复:**
````markdown
一些文本
- 列表项目
````
### MD036: 强调作为标题
**问题:**
```markdown
**示例:使用粗体作为标题**
此处是一些内容
```
**修复:**
```markdown
#### 示例:使用正确的标题
此处有一些内容
```
### MD040代码需要指定语言
**问题:**
````markdown
```
此处是代码
```
````
**修复:**
````markdown
```bash
此处是代码
```
````
## 特殊情况
### CLAUDE.md 文件
CLAUDE.md 文件是 AI 助手文档:
- 必须格式良好,以便 AI 进行最佳解析
- 严格遵守所有 markdownlint 规则
- 使用清晰、层次化的结构
- 对于长文件,包含目录
### README 文件
- 以 H1 标题开始
- 包含简要描述
- 添加安装/使用部分
- 保持简洁且易于浏览
### 更新日志文件
- 遵循 Keep a Changelog 格式
- 使用一致的日期格式
- 按类型(新增、更改、修复等)对更改进行分组
## 故障排除
### 文件显示为 "data" 而非文本
**问题:** 文件因控制字符而损坏
**修复:**
```bash
tr -d '\000-\037' < file.md > file.clean.md && mv file.clean.md file.md
file file.md # 验证显示为 "UTF-8 text"
```
### 代码检查显示意外错误
**问题:** 未从仓库根目录运行
**修复:**
```bash
# 总是从根目录运行
cd /path/to/woocommerce
markdownlint path/to/file.md
# 不要像这样
markdownlint /absolute/path/to/file.md
```
### 自动修复功能失效
**问题:** 某些问题需要手动干预
**修复方法:**
- 代码区块的语言规范必须手动添加
- 长行可能需要手动重新换行
- 某些结构性问题需要内容重组
## 注意
- 大多数 Markdown 问题可以通过 `markdownlint --fix` 自动修复
- 总是从仓库根目录运行 markdownlint
- UTF-8 编码对于特殊字符至关重要
- CLAUDE.md 文件必须通过 linting 检查以实现最佳 AI 解析
- 查看 `woocommerce-dev-cycle` 技能以获取 Markdown linting 命令