rbpu_datasheet/readme.md

115 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2026-07-18 00:51:43 +08:00
# RBPU16 读出基带处理芯片 · 数据手册
2026-07-19 21:40:24 +08:00
纯文本管理Python 构建,生成自包含 HTML 报告。
2026-07-18 00:51:43 +08:00
## 项目结构
```
2026-07-19 21:40:24 +08:00
├── build.ipynb # 构建入口VS Code 打开 → Run All
├── project.yaml # 项目配置(标题、作者、章节列表)
├── chapters/ # 章节源文件Markdown
├── data/ # 结构化数据CSV / JSON
├── assets/ # 图片PNG / JPG
├── doc_builder/ # 构建工具(可跨项目复用)
2026-07-19 20:56:15 +08:00
│ ├── themes/datasheet.css
2026-07-19 21:40:24 +08:00
│ ├── renderers/ # 代码块渲染器
2026-07-19 20:56:15 +08:00
│ │ └── schemdraw.py
2026-07-19 21:40:24 +08:00
│ ├── render_table.py # @import 渲染器:通用表格
│ ├── render_bga.py # @import 渲染器BGA 网格
│ ├── render_address.py # @import 渲染器:地址映射表
│ ├── render_registers.py # @import 渲染器:寄存器定义
│ ├── render_requirements.py # @import 渲染器YAML 需求表
│ ├── import_handler.py # @import 调度器
│ ├── image_extension.py # 图片尺寸扩展
│ └── codeblock_extension.py # 代码块渲染pre-markdown
└── output/ # 构建产物
2026-07-19 20:56:15 +08:00
└── RBPU16_Data_Sheet.html
2026-07-18 00:51:43 +08:00
```
2026-07-19 20:56:15 +08:00
## project.yaml
每个项目根目录的配置文件,`build.ipynb` 读取它来驱动构建。
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
```yaml
title: RBPU16 读出基带处理芯片
subtitle: 数据手册
author: 郭成
theme: datasheet
chapters:
- 00_cover.md
- 01_specifications.md
- ...
```
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
## 语法参考
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
### 1. 图片
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
```markdown
2026-07-19 21:40:24 +08:00
![alt](../assets/x.png) # 默认 80% 宽,高自动等比
![alt](../assets/x.png){w=50%} # 宽 50%,高自动等比
![alt](../assets/x.png){h=50%} # 高 50%,宽自动等比
![alt](../assets/x.png){w=50%, h=300} # 宽 50% + 最大高度 300px
2026-07-19 20:56:15 +08:00
```
2026-07-18 00:51:43 +08:00
2026-07-19 21:40:24 +08:00
- `{w=N%}` — 宽 N%,高自动等比
- `{h=N%}` — 高 N%,宽自动等比
- `{w=N%, h=M}` — 同时指定宽高h 为像素时限制最大高度)
- 不写 → 默认 `w=80%`
2026-07-19 20:56:15 +08:00
- 两张图 `{w=N%}` 相加 ≤ 100% 时自动并排
### 2. `@import` — 导入数据文件
```markdown
@import "data/file.csv" # 无 using → 行号代码视图
@import "data/file.csv" using render_table.py # 通用表格
@import "data/pin_loc.csv" using render_bga.py # BGA 焊球网格
@import "data/ids.json" using render_registers.py # 寄存器定义表
```
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
`using <script.py>` 加载项目根目录下的 Python 脚本,调用 `render(filepath)` → HTML。脚本不存在时降级为行号视图不报错。
2026-07-18 00:51:43 +08:00
2026-07-19 21:40:24 +08:00
### 3. 代码块渲染
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
```schemdraw
import schemdraw
from schemdraw import elements as e
with schemdraw.Drawing(show=False) as d:
d += e.Resistor().right().label('R1')
```
2026-07-19 21:40:24 +08:00
构建时在 markdown 之前执行:代码块 → `doc_builder/renderers/<tag>.py` → SVG/HTML。`mermaid` 等标签为 passthrough浏览器端渲染
2026-07-19 20:56:15 +08:00
2026-07-19 21:40:24 +08:00
### 4. 占位符
2026-07-19 20:56:15 +08:00
表格中 `—` 表示待补充数据。
## 构建流程
```
章节 .md 文件
├─→ @import 处理器(替换为渲染 HTML
2026-07-19 21:40:24 +08:00
├─→ 代码块渲染器(```lang → 渲染输出)
2026-07-19 20:56:15 +08:00
└─→ Python-Markdown→ HTML
2026-07-19 21:40:24 +08:00
├─→ 图片尺寸扩展({w=N%} / {h=N%}
2026-07-19 20:56:15 +08:00
└─→ codehilite代码高亮
组装 HTML封面 + 章节 + 修订历史)
图片 base64 内嵌 → 自包含单文件
2026-07-18 00:51:43 +08:00
```
2026-07-19 20:56:15 +08:00
## 编辑指南
2026-07-18 00:51:43 +08:00
2026-07-19 20:56:15 +08:00
| 修改内容 | 编辑 | 重建 |
|---------|------|------|
| 正文 | `chapters/*.md` | Run All |
| 管脚 | `data/pin_name.csv` | Run All |
| 寄存器 | `script/读出子系统IDS表.xls` | ids_import.ipynb → Run All |
| 样式 | `doc_builder/themes/datasheet.css` | Run All |
| 配置 | `project.yaml` | Run All |