跳到主内容
简牍jiandu
阅读模式

发布、更新与版本

官方发布教程masonv1
查看历史版本
目录

一篇文档可以有很多个版本。jdu push 是发布;带 --id 是给同一篇追加新版本。

第一次发布

jdu push notes/index.md

过程:

stderr 是进度(收集了几个文件、新上传几个 blob),stdout 只有最终 URL。

常用选项:

jdu push notes/index.md \
  --title "今天的笔记" \
  --visibility private \
  --tag 日记 --tag 工作
选项缺省说明
--title首个 # 标题,再退到文件名列表页和阅读页顶上的标题
--visibility新文档 privateprivate / publicofficial 档走 --official,需管理员)
--tag不传则不动已有标签可重复;更新时传了就整组替换
--id新建一篇复用已有文档 id,发新版本
--official不上架上架到官方知识库(需管理员;official 是独立档位——公开可读,只进官方库列表)。不传则保持原值

更新已有文档时,不传 --visibility / --title / --tag / --official 会保持原值。不要在更新脚本里写死 --visibility private,否则会把已经公开的文档悄悄改回去。

上架到官方知识库

官方库按档位查(visibility=official),不是「管理员的公开文档」。公开一篇不会自动进官方库;反过来也一样。

npx @monoedge/jdu-cli push notes/index.md --id abc123 --official
npx @monoedge/jdu-cli official add abc123
npx @monoedge/jdu-cli official list
npx @monoedge/jdu-cli official rm abc123

--official / official add 需要管理员身份。CLI 所用 token 的归属 owner 或显示名对上 adminOwner 任一即可。普通 push --id 只更新正文,不会把已上架的文档拿下来。

official rm 下架后文档回落到 private(不留「下架前的可见性」记忆)——想公开就再 jdu share --visibility public,想彻底清掉就 jdu delete <id> --hard

更新同一篇

从 URL 里取出文档 id。https://docs.mszhou.com/d/abc123 的 id 是 abc123

jdu push notes/index.md --id abc123
jdu versions abc123

versions 列出序号、时间、源 hash。每次成功的 push 都会加一行,序号从 1 递增。

列表确认一下:

jdu list
jdu list --all    # 含已归档

回滚

回滚不会删掉之后的版本,只是把「当前显示」指回指定序号,并按那一版重新预渲染。

jdu rollback abc123 2

回滚后再 push,新版本接着最大序号往下加,不会覆盖历史。

归档、删除、清空

这三档破坏性递增:

命令文档还在吗还能恢复吗
jdu archive <id>在,默认列表里看不到jdu archive <id> --undo
jdu delete <id>默认等同归档同上
jdu delete <id> --hard物理删除不能
jdu reset <id>文档壳还在,版本和产物清空不能

--hardreset 没有确认提示,脚本里慎用。

强制重渲染

正常情况用不到。内核升级时缓存 key 会自己失效,读者下次打开会重渲。你改的是 Widget 实现、而文档 md 没变时,可以刷一篇:

jdu rerender abc123

只刷这一篇的渲染缓存并预热。没有「全站重渲」这条 CLI。

预渲染失败时

push 返回错误且不会写下这一版。库里不会留半截版本,上一版(如果有)继续对外服务。把 md 修好再 push。

常见原因:入口文件不存在、JSON Widget 大面积不合法且触发渲染预算。单块 Widget 名字写错或 JSON 校验失败,不会让整篇 push 失败,那一块会降级成代码块。


教程目录:使用简牍 · 下一篇:谁能看见这篇文档