name: zig-docs description: 通过命令行获取Zig语言及标准库文档。当需要Zig API详情、标准库函数签名或zig-best-practices未涵盖的语言参考内容时激活。
Zig文档获取
使用说明
- 使用GitHub原始源获取标准库文档(最可靠)
- 使用pandoc从ziglang.org获取语言参考(适用于文本内容)
- ziglang.org上的标准库HTML文档由JavaScript渲染,返回空内容;请避免使用
- Zig源文件包含文档注释(
//!用于模块文档,///用于项目文档),这些是权威文档来源
快速参考
获取标准库源码(推荐)
标准库模块是自文档化的。直接获取源码:
# 包含文档注释的模块源码
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/<module>.zig"
# 常用模块:
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/log.zig"
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/mem.zig"
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/fs.zig"
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/heap.zig"
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/debug.zig"
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/testing.zig"
获取分配器接口
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/mem/Allocator.zig"
获取语言参考(文本)
# 完整语言参考(较大,约500KB文本)
pandoc -f html -t plain "https://ziglang.org/documentation/master/"
# 使用head获取特定部分
pandoc -f html -t plain "https://ziglang.org/documentation/master/" | head -200
列出标准库内容
# 通过GitHub API列出所有标准库模块
curl -sL "https://api.github.com/repos/ziglang/zig/contents/lib/std" | jq -r '.[].name'
# 列出子目录内容
curl -sL "https://api.github.com/repos/ziglang/zig/contents/lib/std/mem" | jq -r '.[].name'
获取zig.guide内容
# 首页和导航
pandoc -f html -t plain "https://zig.guide/"
文档来源
| 来源 | URL模式 | 备注 |
|---|---|---|
| 标准库源码 | raw.githubusercontent.com/ziglang/zig/master/lib/std/<path> |
最可靠;包含文档注释 |
| 语言参考 | ziglang.org/documentation/master/ |
使用pandoc;文本内容 |
| zig.guide | zig.guide/ |
初学者友好;使用pandoc |
| GitHub API | api.github.com/repos/ziglang/zig/contents/lib/std |
列出目录内容 |
常用模块路径
| 模块 | 路径 |
|---|---|
| 分配器 | lib/std/mem/Allocator.zig |
| 数组列表 | lib/std/array_list.zig |
| 哈希映射 | lib/std/hash_map.zig |
| 字符串哈希映射 | lib/std/hash/map.zig |
| 文件系统 | lib/std/fs.zig |
| 文件 | lib/std/fs/File.zig |
| 输入输出 | lib/std/Io.zig |
| 日志 | lib/std/log.zig |
| 测试 | lib/std/testing.zig |
| 调试 | lib/std/debug.zig |
| 堆 | lib/std/heap.zig |
| 构建系统 | lib/std/Build.zig |
| JSON | lib/std/json.zig |
| HTTP | lib/std/http.zig |
| 线程 | lib/std/Thread.zig |
| 进程 | lib/std/process.zig |
版本特定文档
将master替换为版本标签以获取稳定版本:
# 0.14.0版本
curl -sL "https://raw.githubusercontent.com/ziglang/zig/0.14.0/lib/std/log.zig"
# 特定版本的语言参考
pandoc -f html -t plain "https://ziglang.org/documentation/0.14.0/"
搜索文档
在标准库中搜索特定函数/类型
# 在模块中搜索函数名
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/<module>.zig" | grep -A5 "pub fn <name>"
# 示例:查找allocator.create
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/mem/Allocator.zig" | grep -A10 "pub fn create"
提取文档注释
# 模块级文档(//!)
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/log.zig" | grep "^//!"
# 函数/类型文档(///)
curl -sL "https://raw.githubusercontent.com/ziglang/zig/master/lib/std/mem/Allocator.zig" | grep -B1 "pub fn" | grep "///"
故障排除
从ziglang.org/documentation/master/std/获取空内容:
- 标准库HTML文档由JavaScript渲染;请改用GitHub原始源
pandoc失败:
- 某些页面需要JavaScript;回退到curl + GitHub原始源
- 检查URL是否正确(无尾部斜杠问题)
GitHub API速率限制:
- 直接使用raw.githubusercontent.com URL而非API
- 本地缓存频繁访问的内容