From 141f1ea6609d8ad9686f76aaea0a669fc04ba7e1 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 3 Jul 2022 16:55:08 +0300 Subject: chore: rename project to riki It's a subset of ikiwiki and r for rust. Thank you, Daniel Silverstone, for the inspiration for the name. Sponsored-by: author --- riki.md | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 riki.md (limited to 'riki.md') diff --git a/riki.md b/riki.md new file mode 100644 index 0000000..1725109 --- /dev/null +++ b/riki.md @@ -0,0 +1,199 @@ +--- +title: riki statis site generator +subtitle: Subset of ikiwiki rewritten in Rust +bindings: +- subplot/riki.yaml +- lib/files.yaml +- lib/runcmd.yaml +impls: + rust: + - subplot/riki.rs +... + +[ikiwiki]: http://ikiwiki.info/ + +# Introduction + +`riki` is a small subset of [ikiwiki][] rewritten in Rust, for +speed. + +# Verification scenarios + +## Markdown features + +### Empty Markdown file + +_Requirement: Given an empty input Markdown file, the output must +be an empty HTML file._ + +~~~scenario +given an installed riki +given file site/empty.mdwn from empty +when I run riki site output +then AST of site/empty.mdwn matches that of output/empty.html +~~~ + + +~~~{#empty .file} +~~~ + +### Plain text + +_Requirement: Given a Markdown file with plain text, the output must +be an HTML file with the same text, without extra elements._ + +~~~scenario +given an installed riki +given file site/page.mdwn from para +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#para .file} +Hello, world. + +There are two paragraphs. +~~~ + + +### Indented code block + +_Requirement: Given a Markdown file with an indented code block, the +output must have a pre element. + +~~~scenario +given an installed riki +given file site/page.mdwn from indented-code +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#indented-code .file} + This is indented by four spaces. +~~~ + + +### Fenced code block + +_Requirement: Given a Markdown file with a fenced code block, the +output must have a pre element. + +~~~scenario +given an installed riki +given file site/page.mdwn from fenced-code +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#fenced-code .file} +``` +This is a fenced code block. +``` +~~~ + + + +### Image link + +_Requirement: Given a Markdown file linking to an image, the output +must have an img element. + +~~~scenario +given an installed riki +given file site/page.mdwn from image-link +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#image-link .file} +![my kitten](cat.jpg) +~~~ + +### Emphasised text + +_Requirement: Inline markup for emphasis must result in an em element +in HTML output._ + +~~~scenario +given an installed riki +given file site/page.mdwn from emph +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#emph .file} +There is *emphasized*, and so is _this_. +~~~ + +### Strongly emphasised text + +_Requirement: Inline markup for strong emphasis must result in a +strong element in HTML output._ + +~~~scenario +given an installed riki +given file site/page.mdwn from strong +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#strong .file} +There is **emphasized**, and so is __this__. +~~~ + +### Strike through in text + +_Requirement: Inline markup for strike through must result in a del +element in HTML output._ + +~~~scenario +given an installed riki +given file site/page.mdwn from strike +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#strike .file} +There is ~~struck through~~. +~~~ + +### Top level heading + +_Requirement: Given a Markdown file with top level heading, the output must +be an HTML file with one h1 element, without extra elements._ + +~~~scenario +given an installed riki +given file site/page.mdwn from h1 +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#h1 .file} +# Heading +~~~ + +### Inline code + +_Requirement: Inline code markup with backticks must result in a code +element in HTML output._ + +~~~scenario +given an installed riki +given file site/page.mdwn from backticks +when I run riki site output +then AST of site/page.mdwn matches that of output/page.html +~~~ + + +~~~{#backticks .file} +There is `code` lurking here. +~~~ -- cgit v1.2.1