From 9cd5d386cd2d2e2e96caa2393a6caee9a848c0a8 Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Sun, 17 Dec 2023 10:09:00 +0100 Subject: [PATCH] doc(ltm): add readme --- ltm/README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ltm/README.md diff --git a/ltm/README.md b/ltm/README.md new file mode 100644 index 0000000..6f0a86c --- /dev/null +++ b/ltm/README.md @@ -0,0 +1,32 @@ +# LTM - Lander Template Module + +This module provides an interface for generating `char` streams from a given +template. + +```html + +

{{ title }}

+ + +``` + +The above snippet shows everything the templating language currently offers; +either singular variables (here: `title`) or nested templates (here: `item`). +Note the absence of a loop construct. This is because each variable and nested +template is implicitely already a loop; a variable or a nested template can be +added as many times as needed, and they will appear in the order they were +added. + +Template strings are compiled into templates. From a template, an instance can +be created to which the required data can be added to fill in the template. +Instantiating a template does not modify the original template, meaning +templates can be safely used concurrently. + +Each inserted variable can get its data from a variety of sources, namely +`char` buffers, files or a custom reader function. The resulting `char` stream +is never fully loaded into memory; an instance can stream its content to a +provided buffer to prevent unnecessary memory usage.