diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2025-08-29 14:10:14 -0400 |
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-08-29 14:10:14 -0400 |
| commit | d9e9613782af1f0d224d73d61f48bb02ad20032f (patch) | |
| tree | 11d10b1d03298810b72c1c6e76ca0bba853104ea /src/template.c | |
| parent | 2d045681d02f981bd610dad0eec7e43ad7fc9f9f (diff) | |
engine: don't handle page source only if a template is being parsed
Diffstat (limited to 'src/template.c')
| -rw-r--r-- | src/template.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/template.c b/src/template.c index d325621..c228ffe 100644 --- a/src/template.c +++ b/src/template.c @@ -116,7 +116,7 @@ template_create(char *template_name) char *buffer = fcontent(base, size); fclose(base); - engine_t *engine = engine_ingest(&buffer); + engine_t *engine = engine_ingest(&buffer, true); engine_delete(engine); template->components = lex(buffer); @@ -198,17 +198,18 @@ template_write(engine_t *engine, FILE *f, void *doc, bool is_markdown) 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); + /* must be a page loop, since resources are handled in + * engine_ingest() */ + // if (!strcmp(operands->source, "page")) - handle_page_source( - atoms, operands, directives, engine->config); + list_t *atoms = list_create(sizeof(ptr_wrapper_t)); + list_t *directives = lex(operands->content); - for (size_t i = 0; i < atoms->size; i++) { - atom_t *atom = list_get(atoms, i); - fprintf(f, "%s", atom->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); } } |
