aboutsummaryrefslogtreecommitdiff
path: root/src/template.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/template.c')
-rw-r--r--src/template.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/template.c b/src/template.c
index a522475..f892eb7 100644
--- a/src/template.c
+++ b/src/template.c
@@ -197,6 +197,22 @@ template_write(engine_t *engine, FILE *f, void *doc, bool is_markdown)
break;
}
+ case EACHDO: {
+ eachdo_operands_t *operands = directive->operands;
+ if (!strcmp(operands->source, "page")) {
+ list_t *atoms = list_create(sizeof(ptr_wrapper_t));
+ list_t *directives = lex(operands->content);
+
+ handle_page_source(
+ atoms, operands, directives, engine->config);
+
+ for (size_t i = 0; i < atoms->size; i++) {
+ atom_t *atom = list_get(atoms, i);
+ fprintf(f, "%s", atom->content);
+ }
+ }
+ }
+
/* TODO: Handle this gracefully */
default:
break;