Crates.io | single_source |
lib.rs | single_source |
version | 0.1.5 |
source | src |
created_at | 2019-10-09 05:53:19.69766 |
updated_at | 2020-01-21 22:57:37.584486 |
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 {