From 0783ed7aa01520a73fd9c8cec104e3f32eeb29a4 Mon Sep 17 00:00:00 2001 From: sgoudham Date: Sat, 30 Apr 2022 17:44:51 +0100 Subject: [PATCH] [v0.1.0] - Update README.md --- README.md | 122 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 83 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index fccdd35..0c20ab7 100644 --- a/README.md +++ b/README.md @@ -43,10 +43,10 @@ Given the following directory structure ```text book.toml src -├── one.md -├── two.md -├── two -│ └── three.md +├── rust.md +├── go.md +├── friends +│ └── hazel.md ├── images │ ├── ferris.png │ └── corro.png @@ -56,11 +56,13 @@ src If we wanted to include the images `ferris.png` and `corro.png` within all the files through a footer, we'd have to copy the same piece of markdown/code in every file and set a unique path back to the `images/` directory. -This is where `mdbook-template` can help. +This is where `mdbook-template` can help with the introduction of `{{#template ...}`. Being based on the `{{#include ... }}` feature of mdbook, mdbook-template allows you to use familiar syntax to include files while passing in arguments to allow for dynamic generation of text. +Please view the given [example](#example) which demonstrates it in action. + ## Format The format is as follows @@ -77,6 +79,48 @@ The format is as follows Arguments to be replaced within the template files should be wrapped in `{}` +## Valid Configurations + +```markdown +# Valid +{{#template file.txt path=../images author=Goudham}} + +# Valid +{{#template + file.txt + path=../images + author=Goudham +}} + +# Valid +// Not recommended but valid +{{#template file.txt path=../images author=Goudham}} + +# Valid +// Not recommended but valid +{{#template +file.txt + path=../images + author=Goudham +}} + +# Invalid +// Use {{#include}} for simply including files +{{#template file.txt}} + +# Invalid +{{#template + file.txt + path=../images + author=Goudham}} + +# Invalid +{{#template file.txt + path=../images + author=Goudham +}} +``` + ## Example Given the following directory @@ -84,10 +128,10 @@ Given the following directory ```text book.toml src -├── one.md -├── two.md -├── two -│ └── three.md +├── rust.md +├── go.md +├── friends +│ └── hazel.md ├── images │ ├── ferris.png │ └── corro.png @@ -101,77 +145,77 @@ and the following content `templates/footer.md` ```markdown -- - - - -Designed By Goudham +-- Designed By {authors} -- ![ferris]({path}/ferris.png) -![ferris]({path}/corro.png) +![corro]({path}/corro.png) ``` -`one.md` +`rust.md` ```markdown -# One +# Rust Some Content... -{{#template templates/footer.md path=images}} +{{#template templates/footer.md authors=Goudham, Hazel path=images}} ``` -`two.md` +`go.md` ```markdown -# Two +# Go Some Content... -{{#template templates/footer.md path=images}} +{{#template templates/footer.md path=images authors=Goudham, Hazel}} ``` -`two/three.md` +`friends/hazel.md` ```markdown -# Three +# Hazel Some Content... -{{#template templates/footer.md path=../images}} +{{#template + templates/footer.md + path=../images + authors=Goudham, Hazel +}} ``` After running `mdbook build` with the mdbook-template preprocessor enabled, the files will have dynamic paths to the -images +images and contain **_identical_** content. -`one.md` +`rust.md` ```markdown -# One +# Rust Some Content... -- - - - -Designed By Goudham +-- Designed By Goudham, Hazel -- ![ferris](images/ferris.png) -![ferris](images/corro.png) +![corro](images/corro.png) ``` -`two.md` +`go.md` ```markdown -# Two +# Go Some Content... -- - - - -Designed By Goudham +-- Designed By Goudham, Hazel -- ![ferris](images/ferris.png) -![ferris](images/corro.png) +![corro](images/corro.png) ``` -`two/three.md` +`friends/hazel.md` ```markdown -# Three +# Hazel Some Content... -- - - - -Designed By Goudham +-- Designed By Goudham, Hazel -- ![ferris](../images/ferris.png) -![ferris](../images/corro.png) +![corro](../images/corro.png) ``` -Further examples are included within the [](/examples) section which demonstrate a variety of usages. +Further examples are included within the [examples](/examples) directory which demonstrate a variety of usages. ## License -[MIT](LICENSE) +[MIT License](LICENSE) ## Contributing