1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017 年 11 月 14 日 |
---|
#1783 在 开发工具
7KB
108 行
mdBook 的 Rust 烹饪书源代码解析器和生成器
如何使用
将此包放在 rust-cookbook 包文件夹内。在编译烹饪书之前,使用此文件夹内的 cargo run。编译 rust-cookbook。
文件夹结构
data -> data folder
category -> category folder (folder name -> category link)
meta.json -> category meta
recipe -> recipe folder (folder name -> recipe link)
content.md -> recipe content
meta.json -> recipe metadata
内部
- 遍历分类
- 对于每个分类遍历食谱
- 将食谱元数据和内容解析到 Rust 结构体中
- 收集所有食谱并按 "order" 顺序对食谱元数据进行排序
- 将解析器.rs 中的解析数据传递到生成器.rs
- 使用分类元数据生成页面标题
- 使用食谱元数据生成目录
- 逐个生成食谱,使用解析后的食谱
移动数据
有三种方法可以以新的方式重新组织数据
- 逐个更改并在构建 pros 中包含
- 我们可以逐个进行
- 我们无法在移动所有内容之前开始使用系统
- 批量更改(整个分类)优点
- 我们可以更快地开始使用它
- 我们无法将所有内容分成小块移动
- 添加跳过选项(跳过分类并构建其他)优点
- 我们可以分步骤移动数据
- 需要实现
重新组织数据困难吗?会花费很多时间吗?
我想一个人需要几个小时,这非常简单。问题可能在于开放的 PR,因为它们修复了旧文件。
我们应该重新组织数据吗?
我认为是的。
缺点
- 我们需要投入一些精力将数据移动到新格式
- 我们需要维护新工具
优点
- 数据更容易组织
- 目录自动生成
新工具复杂吗?
不。它大约有 240 行代码,并使用正则表达式、serde、serde_derive、serde_json。还有一些重构的空间。
为工具创建另一个存储库
可能使用不同的存储库来维护这个工具会更好,但我们需要在代码中做一些更改。它是一个二进制文件,可能可以通过 "cargo install" 安装。
依赖关系
~8MB
~174K SLoC