diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-07-30 20:41:40 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-07-30 20:41:40 +0530 |
commit | fabba1b2fbcb0d8dcbf77f5336ec880f561d627c (patch) | |
tree | 7c7fa4045731aac09e4c4cd10f98471cc75701ba /src/template.c | |
parent | 0cd55a7b37edf098c6b6ffdb551cfb80629e3c79 (diff) |
engine,template: engine_ingest() must return engine_t and template_write() must get the template from config
Diffstat (limited to 'src/template.c')
-rw-r--r-- | src/template.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/template.c b/src/template.c index aea077e..1ebda4b 100644 --- a/src/template.c +++ b/src/template.c @@ -23,6 +23,7 @@ #include <engine.h> #include <filehandler.h> #include <lexer.h> +#include <list.h> #include <mkdio.h> #include <msg.h> #include <stdio.h> @@ -114,8 +115,8 @@ template_create(char *template_name) char *buffer = fcontent(base, size); fclose(base); - list_t *content_headers = engine_ingest(&buffer); - list_delete(content_headers); + engine_t *engine = engine_ingest(&buffer); + engine_delete(engine); template->components = lex(buffer); free(buffer); @@ -130,14 +131,11 @@ template_delete(template_t *template) } void -template_write(template_t *template, - list_t *content_headers, - FILE *f, - void *doc, - bool is_markdown) +template_write(engine_t *engine, FILE *f, void *doc, bool is_markdown) { - char *output = malloc(1); - strcpy(output, ""); + template_t *template = template + = list_find_corresponding_value_from_ptr_wrapper( + keys, templates, "base.html"); for (size_t i = 0; i < template->components->size; i++) { directive_t *match = list_get(template->components, i); @@ -151,7 +149,7 @@ template_write(template_t *template, /* TODO: handle this gracefully */ if (!is_markdown) { char *content - = find_contentfor_value(content_headers, match->operands); + = find_contentfor_value(engine->content_headers, match->operands); fprintf(f, "%s", content); } break; |