| Crates.io | single_source |
| lib.rs | single_source |
| version | 0.1.5 |
| created_at | 2019-10-09 05:53:19.69766+00 |
| updated_at | 2020-01-21 22:57:37.584486+00 |
| description | Generate code files from snippets in md tutorial files |
| homepage | |
| repository | |
| max_upload_size | |
| id | 171138 |
| size | 50,354 |
This ius a simple utility that allows you to generate working code from your markdown files. This is super early alpha so there's probably missing parts and it's a bit hacky.
Single source can be installed through cargo like:
cargo install single_source
Just put you code in your md file as usual marked with the language like:
```\rust
fn my_cool(stuff: ()) {
}
```
Then proceding that you mark it with the flag \#S: (yeh I know it's a weird marker but try finding something markdown doesn't use) and some tags.
single_source code path/to/source.md path/to/code_file_to_be.generated lang
Example:
single_source code path/to/my_tutorial.md path/to/lib.rs rust
single_source md path/to/source.md path/to/md_file_to_be_generated.md
Example:
single_source md path/to/my_tutorial_source.md path/to/finished_tutorial.md
Integration tests runnable tutorials
#S:EXTERNAL=external.rs
(note this is actually \#S:EXTERNAL=external.rs but your md render might remove the \)
Some tutorial stuff
Some tutorial stuff
Some tutorial stuff
Skip this because it's just for information purposes and should not be included in the generate code file.
#S:SKIP
// <---- Add the struct here.
mod something {
This code block also gets skipped.
fn open() {}
This one will be included
#S:INCLUDE
fn say() {
println!("hello");
}
also included
fn say2() {
println!("hello2");
}
Going to hide the closing tag for the mod that we opened in external.rs
#S:HIDE
}
mod my_mod {