aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/template.h7
-rw-r--r--src/template.c19
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;