一份文档,三个出口:MD 存档 · HTML 阅读 · 在线链接分享。生成即发布,链接直接可用。
MD 用来存档和二次编辑,HTML 用来阅读和大屏展示,在线链接用来分享——尤其是发到手机上随时看。三者内容一致,缺一不可。
| 出口 | 作用 | 去向 | 必需 |
|---|---|---|---|
| Markdown | 存档、二次编辑、喂给其他 AI | 本地工作区 | 必需 |
| HTML | 阅读、打印、大屏展示 | 本地工作区 | 必需 |
| 在线链接 | 分享、手机阅读、对外发布 | https://docs.nizen.cc/d/ | 必需 |
大留白、色块分明、浅色主题。所有 HTML 交付物统一基于模板 report_template_v1.html 生成,不许各写一版样式。
300 档为基准色,大色块用 50–200,标题用 700–800,操作主色用 500。
多系列图表取色顺序:深蓝 → 远峰蓝 → 雾青 → 云紫 → 暖沙。金融场景按国内惯例:涨用红、跌用绿。
九级阶梯均匀下降,保证层次可辨
平滑过渡,无断层跳变
.reveal 加 data-d="1..4" 做交错延迟(0.08s 递增)data-count / data-prefix / data-suffix / data-decimals,1100ms easeOutCubicduration:900, easing:"easeOutQuart",进入视口才绘制@media (prefers-reduced-motion: reduce) 里降级或关闭;图表绘制用 try-catch 包住,Chart.js 挂了也不能影响正文阅读。.reveal 元素全部空白(只剩 Hero 可见);② 图表段 JS 有语法错误时页面会静默降级——卡片看得见但数字停在 0、图表空白。对策:交付前跑 inline_chartjs.py,它自动内联并对每个 <script> 块执行 node --check 语法自检,有错立即报出来,不给静默挂掉留机会。恺哥自己的服务器,域名 https://docs.nizen.cc,文档统一落在 /d/ 目录,索引页自动维护。
走 SSH 密钥免密的 scp,不需要 FTP,也不开新端口。
PY="C:/Users/Administrator/.workbuddy/binaries/python/versions/3.13.12/python.exe" S="C:/Users/Administrator/.workbuddy/skills/publish-html-to-server/publish.py" "$PY" "$S" <html绝对路径> --name <英文短名> --title "<中文标题>"
输出两行:OK https://docs.nizen.cc/d/<短名>.html 和 IDX https://docs.nizen.cc/。--name 决定网址,用英文或拼音,链接更短;--title 是索引页显示的中文标题。
连续项目放子目录:--dir d/项目名 --dir-title "项目中文名",如 --dir d/jinrishengcai --dir-title "今日生财",索引页按目录分组显示。删除:publish.py <html> --delete d/xxx.html,索引页自动刷新。
浏览器打开 https://docs.nizen.cc/_upload 是网页上传页:填口令 → 选文件(可拖拽)→ 填标题 → 发布。
pXRWBWfG2oSHSr2qlIP9Vok15YYjFytB
文档链接https://docs.nizen.cc/d/<短名>.html
索引页https://docs.nizen.cc/
curl -X POST "https://docs.nizen.cc/_upload?token=pXRWBWfG2oSHSr2qlIP9Vok15YYjFytB&name=my-report&title=我的报告" \ --data-binary @report.html -H "Content-Type: text/html"
返回:
{"ok": true, "url": "https://docs.nizen.cc/d/my-report.html", "index": "https://docs.nizen.cc/", "docs": 12}
要点:body 直接是 HTML 原文,不走 multipart,任何能发 HTTP 请求的环境都能用;走 443 端口,无额外端口;口令也可放请求头 X-Upload-Token;单文件上限 25MB,只收 .html;口令错误返回 {"ok": false, "error": "bad token"}。
子目录:加 &dir=d/项目名&dir_title=项目中文名。列表:GET /_list?token=TOKEN。删除:POST /_delete?token=TOKEN&file=d/xxx.html——浏览器上传页同样有删除区,选中文档确认即删,索引页自动刷新。
python inline_chartjs.py <html路径>。单文件自包含,离线、微信传文件、任何网络环境都能打开,最可靠。python inline_chartjs.py <html路径> --remote。引用 https://docs.nizen.cc/vendor/chart.umd.js(已部署在服务器),浏览器缓存一次全站复用,每份文档省 205KB。适合一次交付一大批文档。.md 与 .html~/.workbuddy/templates/report_template_v1.html,配色动效不另起炉灶python ~/.workbuddy/scripts/inline_chartjs.py <html路径>(自动 node 语法自检;批量文档可加 --remote 引用自家域名库)publish.py,其他环境用上面的 curld/项目名/ 子目录并传 dir_title(如「今日生财」),索引页自动分组;删除用接口或上传页,索引页自动刷新~/.workbuddy/templates/report_template_v1.html · 内联脚本 ~/.workbuddy/scripts/inline_chartjs.py · 发布技能 ~/.workbuddy/skills/publish-html-to-server/(含 publish.py、server.py、nginx 配置、systemd 配置、token)