doc-smith-publish
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDocSmith 文档发布
DocSmith Documentation Publishing
将本地生成的 HTML 文档一键发布到 DocSmith Cloud,返回在线预览 URL。
One-click publish locally generated HTML documentation to DocSmith Cloud and get an online preview URL.
用法
Usage
bash
/doc-smith-publish
/doc-smith-publish --dir .aigne/doc-smith/dist
/doc-smith-publish --hub https://custom.hub.iobash
/doc-smith-publish
/doc-smith-publish --dir .aigne/doc-smith/dist
/doc-smith-publish --hub https://custom.hub.io选项
Options
| Option | Alias | Description |
|---|---|---|
| | 指定发布目录(默认自动检测) |
| | DocSmith Hub URL(默认 |
| Option | Alias | Description |
|---|---|---|
| | Specify the publishing directory (auto-detected by default) |
| | DocSmith Hub URL (default |
工作流
Workflow
步骤 1:检查依赖
Step 1: Check Dependencies
bash
test -d {skill_path}/scripts/node_modules || (cd {skill_path}/scripts && npm install)其中 是本 Skill 的目录路径()。
{skill_path}skills/doc-smith-publishbash
test -d {skill_path}/scripts/node_modules || (cd {skill_path}/scripts && npm install)Where is the directory path of this Skill ().
{skill_path}skills/doc-smith-publish步骤 2:检测发布目标
Step 2: Detect Publishing Target
按以下优先级确定发布目录:
- 用户指定 参数 → 使用指定目录
--dir - 未指定 → 检查 目录是否存在
.aigne/doc-smith/dist - 以上都不存在 → 检查当前目录是否包含 (doc-smith 输出标志)
assets/nav.js - 都找不到 → 报错,提示用户先运行 生成文档
/doc-smith-create
Determine the publishing directory in the following priority order:
- User specifies the parameter → Use the specified directory
--dir - Not specified → Check if the directory exists
.aigne/doc-smith/dist - Neither exists → Check if the current directory contains (doc-smith output marker)
assets/nav.js - None found → Throw an error, prompting the user to run first to generate documentation
/doc-smith-create
步骤 3:读取 Metadata
Step 3: Read Metadata
从 读取:
.aigne/doc-smith/config.yaml- → 发布标题(title)
projectName - → 发布描述(description)
projectDesc
如果 config.yaml 不存在或字段缺失,使用目录名作为标题。
Read from :
.aigne/doc-smith/config.yaml- → Publishing title (title)
projectName - → Publishing description (description)
projectDesc
If config.yaml does not exist or fields are missing, use the directory name as the title.
步骤 4:执行发布
Step 4: Execute Publishing
构造配置 JSON 并调用发布脚本:
bash
node {skill_path}/scripts/publish.mjs --config-stdin <<'EOF'
{
"source": { "type": "dir", "path": "{dist_path}" },
"hub": "{hub_url}",
"workspace": ".aigne/doc-smith",
"metadata": {
"title": "{title}",
"description": "{description}",
"visibility": "public"
}
}
EOF变量说明:
- :本 Skill 目录路径
{skill_path} - :步骤 2 确定的发布目录
{dist_path} - :DocSmith Hub URL(默认
{hub_url},https://docsmith.aigne.io可覆盖)--hub - :步骤 3 获取的标题
{title} - :步骤 3 获取的描述
{description}
Construct the configuration JSON and call the publishing script:
bash
node {skill_path}/scripts/publish.mjs --config-stdin <<'EOF'
{
"source": { "type": "dir", "path": "{dist_path}" },
"hub": "{hub_url}",
"workspace": ".aigne/doc-smith",
"metadata": {
"title": "{title}",
"description": "{description}",
"visibility": "public"
}
}
EOFVariable Explanation:
- : Directory path of this Skill
{skill_path} - : Publishing directory determined in Step 2
{dist_path} - : DocSmith Hub URL (default
{hub_url}, can be overridden byhttps://docsmith.aigne.io)--hub - : Title obtained in Step 3
{title} - : Description obtained in Step 3
{description}
步骤 5:展示结果
Step 5: Display Results
发布成功后,脚本会输出预览 URL。向用户展示:
文档已发布成功!预览地址:{vibeUrl}
发布脚本会自动将 vibeUrl 写入 的 字段。
.aigne/doc-smith/config.yamlappUrlAfter successful publishing, the script will output the preview URL. Display to the user:
Documentation published successfully! Preview URL: {vibeUrl}
The publishing script will automatically write the vibeUrl to the field in .
appUrl.aigne/doc-smith/config.yaml错误处理
Error Handling
| 错误 | 处理 |
|---|---|
| dist 目录不存在 | 提示用户先运行 |
| config.yaml 不存在 | 提示当前目录非有效 doc-smith workspace |
| 依赖未安装 | 自动执行 |
| 401/403 授权错误 | 脚本自动清除 token,提示用户重新运行 |
| 网络错误 | 提示用户检查网络后重试 |
| publish action 失败 | 提示用户重新运行 |
| Private mode 错误 | 提示改为 public 或升级账户 |
| Error | Handling |
|---|---|
| dist directory does not exist | Prompt user to run |
| config.yaml does not exist | Prompt that the current directory is not a valid doc-smith workspace |
| Dependencies not installed | Automatically execute |
| 401/403 authorization error | Script automatically clears token, prompts user to re-run |
| Network error | Prompt user to check network and retry |
| Publish action failed | Prompt user to re-run |
| Private mode error | Prompt to switch to public mode or upgrade account |