Skip to content

Bingboom/docs-as-code-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

用 Jupyter Notebook 记录自己的系统性知识框架,是从“写文档”到“文档代码化写作(Docs-as-Code)” 的过渡点。

以下是结构化编程 + 文档代码化写作起步方案。


🎯 思路核心

  1. 结构化编程的目标
  • 不是一开始就用复杂工具,而是学会 把内容拆分为模块。
  • 模块 → 主题(Topic) → 组装(Map/Notebook/Build)。
  • 每个模块既能独立使用,也能拼成一本完整手册。
  1. 为什么 Jupyter Notebook 合适
  • 它天然支持 文本(Markdown)+ 代码块(Python/YAML/JSON) 的结合。
  • 你可以用 Notebook 来实验 “文档就是数据 + 模板编译的产物”。
  1. 文档代码化的路径
  • 先用 Notebook 练习:把 Word 文档内容拆解成小单元,用 Python 脚本生成报告。
  • 再迁移到 Git + DITA/Sphinx:形成真正的 CI/CD 文档流水线。

🛠️ 第一步:结构化编程的学习切入点 4. 先学会 数据与模板分离 在 Notebook 中写一个最简单的例子:

数据

product = { "name": "N706B", "version": "V1.0", "cmd": "AT+CSQ", "desc": "查询信号强度", "example": "+CSQ: 25,0" }

模板

template = """ 产品: {name} (版本 {version}) 命令: {cmd} 功能: {desc} 示例: {example} """

print(template.format(**product)) 这样你会发现:

  • 内容(数据)和排版(模板)分开。
  • Word 里写死的表格,其实完全可以由代码自动生成。

  1. 用 YAML/JSON 管理内容 再把数据放到 YAML 文件里(以后就是“文档数据库”): products:
  • name: N706B version: V1.0 cmd: AT+CSQ desc: 查询信号强度 example: "+CSQ: 25,0"
  • name: N58-GL version: V2.0 cmd: AT+CGATT desc: 网络附着 example: "+CGATT: 1" Notebook 里加载并生成文档: import yaml

with open("products.yaml", "r", encoding="utf-8") as f: data = yaml.safe_load(f)

template = """ 产品: {name} (版本 {version}) 命令: {cmd} 功能: {desc} 示例: {example} """

for p in data["products"]: print(template.format(**p)) 这就是 结构化编程 + 内容自动生成 的最小范例。


📖 第二步:把 Word 文档转型为代码化写作

  1. 内容拆分
  • 不要再写 200 页的大 Word。
  • 把内容拆成 小主题(如一个命令、一张表格、一个功能模块)。
  1. 用 Notebook 验证
  • 每个小主题用 YAML/JSON 存数据。
  • 用 Python 模板生成 Markdown/HTML。
  • 在 Notebook 里渲染,检查效果。
  1. 版本管理
  • 把 Notebook、YAML 数据文件、模板文件放到 Git 仓库。
  • 以后所有文档更新 = 提交代码。
  1. 自动化输出
  • 下一步可以接入 Sphinx/DITA-OT,把这些 YAML+模板 直接产出 PDF、HTML。
  • 和你现在探索的 esp-at-docs-demo 很接近,只是你先从 Notebook 里过渡。

🏗️ 学习路线图(边用边学)

  1. 第1周:数据与模板
  • 学会 Python 的 format()、jinja2 模板。
  • 把 Word 里的一小段(如一个命令说明)改造成 YAML+模板生成。
  1. 第2周:Notebook 实验
  • 在 Jupyter 里写“文档生成器”,用 Python 自动拼 Markdown/HTML。
  • 用 nbconvert 导出 PDF,替代手写 Word。
  1. 第3周:Git 管理
  • 建立仓库,存放 Notebook + 数据文件。
  • 学会 git commit、git diff 看文档变化。
  1. 第4周:CI/CD 初探
  • 在 GitLab 或 GitHub 上配置 make html/pdf 自动生成文档。
  • 这时候,你的 Word 文档生产方式就基本转型了。

✅ 总结 你的“结构化编程”起点,其实就是:

  • 学会 用代码控制文档结构;
  • 学会 把内容当数据来管理;
  • 学会 在 Notebook 中实验生成逻辑,然后迁移到 CI/CD 里。

About

learn docs as code and implement this method into my job.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published