aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/msg.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/msg.c b/src/msg.c
index 76bab17..855f94e 100644
--- a/src/msg.c
+++ b/src/msg.c
@@ -96,24 +96,15 @@ handle_file(const char *path)
char *buffer = fcontent(in, size);
if (dot && strcmp(dot, ".md") == 0) {
- engine_t engine = { .config = NULL, .content_headers = NULL };
-
- char *p = strstr(buffer, "---");
- if (p != NULL) {
- char *config;
- asprintf(&config, "%.*s\n", (int) (p - buffer), buffer);
- engine.config = config_parse(config);
- free(config);
- strcpy(buffer, p + strlen("---"));
- }
+ engine_t *engine = engine_ingest(&buffer);
mkd_flag_t *flags = mkd_flags();
mkd_set_flag_num(flags, MKD_FENCEDCODE);
MMIOT *doc = mkd_string(buffer, strlen(buffer), flags);
- template_write(&engine, out, doc, true);
- if (engine.config != NULL)
- config_delete(engine.config);
+ template_write(engine, out, doc, true);
+
+ engine_delete(engine);
} else if (strlen(buffer) != 0) {
engine_t *engine = engine_ingest(&buffer);
template_write(engine, out, buffer, false);