feat: 新增 wiki 管理快捷命令 #242

Closed
luwanzhou wants to merge 0 commits from luwanzhou/gitlink-cli:feat/wiki-shortcuts into master
Contributor

合并请求描述

新增 wiki 管理快捷命令,支持对仓库 Wiki 页面的增删改查及导出操作,覆盖 GitLink /api/wiki/open/*/api/wikiExport/* 接口。

相关Issue

关联Issue编号:#(请补充)

变更内容

1. 新增 wiki 快捷命令

  • wiki +list — 列出 wiki 页面(GET /wiki/open/wikiPages
  • wiki +view — 查看 wiki 页面内容(GET /wiki/open/getWiki
  • wiki +create — 创建 wiki 页面,支持 --content--content-file--content-base64 三种内容输入方式(POST /wiki/open/createWiki
  • wiki +update — 更新 wiki 页面(PUT /wiki/open/updateWiki
  • wiki +delete — 删除 wiki 页面(DELETE /wiki/open/deleteWiki
  • wiki +export — 导出 wiki,支持 markdown/gitee/html 格式(GET /wikiExport/wikiExport-wrapper

2. 适配 gateway 域名

Wiki API(/wiki/open/*)仅在 gateway.gitlink.org.cn 上可用,非 www.gitlink.org.cnprepare() 函数中自动切换 BaseURL 至 gateway 域名,用户无需手动配置。

3. 去除 wiki 路径的 .json 后缀

Gateway 不接受 .json 后缀,在 shouldAppendJSONSuffix() 中排除 /wiki/open/ 路径。

4. 命令特性

  • 所有写操作(create/update/delete)支持 --dry-run 预览,不实际提交
  • 自动解析 --project-id,也可通过 owner/repo 自动获取
  • 支持 i18n 国际化
  • 完整单元测试(12 个用例)

已验证命令

命令 状态
wiki +list 已验证
wiki +view 已验证
wiki +create (dry-run) 已验证
wiki +update (dry-run) 已验证
wiki +delete (dry-run) 已验证
wiki +export 待平台修复(API 返回 500)

变更文件

  • shortcuts/wiki/wiki.go — wiki 快捷命令实现
  • shortcuts/wiki/wiki_test.go — 单元测试
  • internal/client/client.goshouldAppendJSONSuffix 排除 wiki/open 路径
  • doc/changes/wiki-shortcuts.md — 变更文档
## 合并请求描述 新增 wiki 管理快捷命令,支持对仓库 Wiki 页面的增删改查及导出操作,覆盖 GitLink `/api/wiki/open/*` 和 `/api/wikiExport/*` 接口。 ## 相关Issue 关联Issue编号:#(请补充) ## 变更内容 ### 1. 新增 wiki 快捷命令 - `wiki +list` — 列出 wiki 页面(`GET /wiki/open/wikiPages`) - `wiki +view` — 查看 wiki 页面内容(`GET /wiki/open/getWiki`) - `wiki +create` — 创建 wiki 页面,支持 `--content`、`--content-file`、`--content-base64` 三种内容输入方式(`POST /wiki/open/createWiki`) - `wiki +update` — 更新 wiki 页面(`PUT /wiki/open/updateWiki`) - `wiki +delete` — 删除 wiki 页面(`DELETE /wiki/open/deleteWiki`) - `wiki +export` — 导出 wiki,支持 markdown/gitee/html 格式(`GET /wikiExport/wikiExport-wrapper`) ### 2. 适配 gateway 域名 Wiki API(`/wiki/open/*`)仅在 `gateway.gitlink.org.cn` 上可用,非 `www.gitlink.org.cn`。`prepare()` 函数中自动切换 BaseURL 至 gateway 域名,用户无需手动配置。 ### 3. 去除 wiki 路径的 .json 后缀 Gateway 不接受 `.json` 后缀,在 `shouldAppendJSONSuffix()` 中排除 `/wiki/open/` 路径。 ### 4. 命令特性 - 所有写操作(create/update/delete)支持 `--dry-run` 预览,不实际提交 - 自动解析 `--project-id`,也可通过 owner/repo 自动获取 - 支持 i18n 国际化 - 完整单元测试(12 个用例) ### 已验证命令 | 命令 | 状态 | |------|------| | `wiki +list` | ✅ 已验证 | | `wiki +view` | ✅ 已验证 | | `wiki +create` (dry-run) | ✅ 已验证 | | `wiki +update` (dry-run) | ✅ 已验证 | | `wiki +delete` (dry-run) | ✅ 已验证 | | `wiki +export` | ⏳ 待平台修复(API 返回 500) | ### 变更文件 - `shortcuts/wiki/wiki.go` — wiki 快捷命令实现 - `shortcuts/wiki/wiki_test.go` — 单元测试 - `internal/client/client.go` — `shouldAppendJSONSuffix` 排除 wiki/open 路径 - `doc/changes/wiki-shortcuts.md` — 变更文档
luwanzhou added 3 commits 2026-06-14 03:38:39 +08:00
13fa90183f feat(wiki): add wiki management shortcuts
Add a `wiki` shortcut group wrapping GitLink's /api/wiki and
/api/wikiExport endpoints, which previously had no shortcut coverage
(wiki management was a guide-listed capability):

- wiki +list   -> GET    /wiki/wikiPages
- wiki +view   -> GET    /wiki/getWiki
- wiki +create -> POST   /wiki/createWiki
- wiki +update -> PUT    /wiki/updateWiki
- wiki +delete -> DELETE /wiki/deleteWiki
- wiki +export -> GET    /wikiExport/wikiExport-wrapper

The numeric project ID is resolved from --owner/--repo (or --project-id).
Page content accepts --content/--content-file (base64-encoded
automatically) or --content-base64. create/update/delete support
--dry-run; export supports --type markdown|pdf|html.

Includes unit tests, bilingual (en-US/zh-CN) i18n help text, README
updates, and a change note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3ca9005ca2 fix(wiki): 修正 API 路径,添加 /open/ 前缀匹配文档
文档指定 wiki API 路径为 /wiki/open/xxx,但代码中遗漏了 /open/ 前缀。
修正所有 wiki 命令的 API 路径:
- /wiki/wikiPages → /wiki/open/wikiPages
- /wiki/getWiki → /wiki/open/getWiki
- /wiki/createWiki → /wiki/open/createWiki
- /wiki/updateWiki → /wiki/open/updateWiki
- /wiki/deleteWiki → /wiki/open/deleteWiki

同步更新测试文件和变更文档中的路径引用。
f9f96cfedc fix(wiki): gateway域名支持 & 去除.json后缀
- wiki API 仅在 gateway.gitlink.org.cn 上可用,prepare() 中自动切换域名
- gateway 不接受 .json 后缀,shouldAppendJSONSuffix 排除 /wiki/open/ 路径
- 测试路径同步更新(去除 .json 后缀)
- 已验证: +list, +view, +create(dry-run), +update(dry-run), +delete(dry-run)
- TODO: wiki +export 的 /wikiExport API 返回 500,待平台修复后跟进
wbtiger added 1 commit 2026-06-14 22:50:50 +08:00
339900785f fix(client): support gateway error format and wiki/open paths
Cherry-picked from co63oc's PR #193:
- Handle gateway {"code":N, "msg":"..."} error format
- Extend success status codes (201, 204)
- Exclude wiki/open paths from .json suffix auto-append

Co-Authored-By: co63oc <4617245+co63oc@users.noreply.github.com>
wbtiger closed this pull request 2026-07-14 22:58:54 +08:00
wbtiger reopened this pull request 2026-07-14 23:02:44 +08:00
wbtiger closed this pull request 2026-07-14 23:06:56 +08:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#242
No description provided.