diff options
-rw-r--r-- | include/template.h | 7 | ||||
-rw-r--r-- | src/template.c | 19 |
2 files changed, 23 insertions, 3 deletions
diff --git a/include/template.h b/include/template.h index c898487..dbeb897 100644 --- a/include/template.h +++ b/include/template.h @@ -2,6 +2,7 @@ #define __TEMPLATE_H #include <list.h> +#include <stdbool.h> #include <stdio.h> typedef struct { @@ -10,6 +11,10 @@ typedef struct { template_t *template_create(void); void template_delete(template_t *template); -void template_write(template_t *template, list_t *content_headers, FILE *f); +void template_write(template_t *template, + list_t *content_headers, + FILE *f, + void *doc, + bool is_markdown); #endif diff --git a/src/template.c b/src/template.c index e568a6a..bb195e3 100644 --- a/src/template.c +++ b/src/template.c @@ -1,10 +1,11 @@ -#include <string.h> #define _GNU_SOURCE #include <filehandler.h> #include <lexer.h> +#include <mkdio.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <template.h> #include <util.h> @@ -35,7 +36,11 @@ template_delete(template_t *template) } void -template_write(template_t *template, list_t *content_headers, FILE *f) +template_write(template_t *template, + list_t *content_headers, + FILE *f, + void *doc, + bool is_markdown) { char *output = malloc(1); strcpy(output, ""); @@ -54,6 +59,16 @@ template_write(template_t *template, list_t *content_headers, FILE *f) break; } + case BODY: { + if (is_markdown) { + markdown(doc, f, 0); + } else { + fprintf(f, "%s", (char *) doc); + } + + break; + } + /* TODO: Handle this gracefully */ default: break; |