# wiki +list

> **前置条件：** 先阅读 [`../../gitlink-shared/SKILL.md`](../../gitlink-shared/SKILL.md) 了解认证、全局参数和安全规则。

列出仓库的所有 Wiki 页面。返回页面标题、URL、更新时间等元信息。

## 命令

```bash
# 列出当前仓库的所有 Wiki 页面
gitlink-cli wiki +list

# 列出指定仓库的 Wiki 页面
gitlink-cli wiki +list --owner Gitlink --repo forgeplus

# 使用 JSON 格式输出
gitlink-cli wiki +list --format json

# 查看 Wiki 页面总数
gitlink-cli wiki +list --format json | jq ".data | length"
```

## 参数

| 参数 | 必填 | 说明 |
|------|------|------|
| `--owner` | 否 | 仓库所有者（自动从 git remote 解析） |
| `--repo` | 否 | 仓库名称（自动从 git remote 解析） |
| `--format` | 否 | 输出格式: `json`/`table`/`yaml` |
| `--debug` | 否 | 开启调试输出 |

## 返回字段

### Table 格式

| 列名 | 说明 |
|------|------|
| `title` | Wiki 页面标题 |
| `sub_url` | 页面访问路径（URL 编码） |
| `updated_at` | 最后更新时间 |

### JSON 格式

```json
{
  "ok": true,
  "data": [
    {
      "title": "Home",
      "sub_url": "https://www.gitlink.org.cn/Gitlink/forgeplus/wiki/Home",
      "updated_at": "2026-06-01T10:30:00Z"
    },
    {
      "title": "API-Reference",
      "sub_url": "https://www.gitlink.org.cn/Gitlink/forgeplus/wiki/API-Reference",
      "updated_at": "2026-06-01T11:15:00Z"
    }
  ],
  "meta": {
    "total_count": 2
  }
}
```

## Workflow

1. **Check** if `--owner` and `--repo` are provided or can be auto-resolved.
2. **Execute** `gitlink-cli wiki +list`.
3. **Display** the list of Wiki pages with titles and URLs.

## API

```
GET https://gateway.gitlink.org.cn/api/wiki/open/wikiPages
Query: owner={owner}&repo={repo}&projectId={project_id}
```

**注意**：
- CLI 自动获取 `project_id`
- 响应会被清理：移除 `wiki_clone_link` 字段
- `sub_url` 会被 URL 解码以便阅读

## 使用场景

### 场景 1: 发现项目文档

当用户询问"这个项目有什么文档"时：

```bash
gitlink-cli wiki +list
```

### 场景 2: 检查 Wiki 是否启用

当返回空列表时，说明项目未启用 Wiki 或没有创建任何页面。

### 场景 3: 批量处理所有 Wiki 页面

```bash
# 获取所有 Wiki 页面标题
titles=$(gitlink-cli wiki +list --format json | jq -r ".data[].title")

# 遍历每个页面
for title in $titles; do
    echo "Processing: $title"
    gitlink-cli wiki +view --title "$title"
done
```

## 常见问题

### Q: 返回空列表？

**A:** 可能原因：
1. 项目没有创建任何 Wiki 页面
2. 项目未启用 Wiki 功能
3. `owner/repo` 指定错误

### Q: `sub_url` 字段是什么？

**A:** Wiki 页面的完整访问 URL，格式为：
```
https://www.gitlink.org.cn/{owner}/{repo}/wiki/{page_title}
```

### Q: 如何获取页面总数？

**A:** 使用 JSON 格式并查看 `meta.total_count`：
```bash
gitlink-cli wiki +list --format json | jq ".meta.total_count"
```

## References

- [gitlink-wiki](../SKILL.md)
- [gitlink-shared](../../gitlink-shared/SKILL.md)
