#md #generate #tutorial #snippets

app single_source

从 md 教程文件中的片段生成代码文件

6 个版本

0.1.5 2020年1月21日
0.1.4 2019年12月21日
0.1.1 2019年11月30日
0.1.0 2019年10月9日

#1545 in 文本处理

MIT 许可证

17KB
346 代码行

单一事实来源

这是一个简单的实用工具,允许您从您的 markdown 文件生成工作代码。这是一个非常早期的 alpha 版本,所以可能缺少一些部分,并且它有点黑客风格。

安装

单源可以通过 cargo 安装,如下所示:

cargo install single_source

设置

只需将您的代码放入 md 文件中,就像平常那样,用语言标记,例如:```rust fn my_cool(stuff: ()) { } ``` 然后标记它,使用标志 \#S:(我知道这有点奇怪,但试试找一些 markdown 没有使用的标记)和一些标签。

参考

参考

用法

生成代码

single_source code path/to/source.md path/to/code_file_to_be.generated lang

示例

single_source code path/to/my_tutorial.md path/to/lib.rs rust 

生成 Markdown

single_source md path/to/source.md path/to/md_file_to_be_generated.md

示例

single_source md path/to/my_tutorial_source.md path/to/finished_tutorial.md

教程

集成测试 可运行教程

示例

#S:EXTERNAL=external.rs (注意这实际上是 \#S:EXTERNAL=external.rs 但您的 md 渲染可能删除了 \) 一些教程内容 一些教程内容 一些教程内容

跳过此部分,因为它只是为了信息目的,不应包含在生成的代码文件中。

#S:SKIP

// <---- Add the struct here.

mod something {

此代码块也将被跳过。

fn open() {}

此部分将被包括。

#S:INCLUDE

fn say() {
  println!("hello");
}

也包含在内

fn say2() {
  println!("hello2");
}

将隐藏在 external.rs 中打开的模块的关闭标签

#S:HIDE

}

external.rs

mod my_mod {

依赖关系

~2.7–4MB
~59K SLoC