From 8f7e5463aa7c47ef68b9dc039d28a068d12a46e1 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sat, 2 Aug 2025 16:58:52 +0530 Subject: msg: don't ingest markdown --- src/msg.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/msg.c b/src/msg.c index d59b807..37a0604 100644 --- a/src/msg.c +++ b/src/msg.c @@ -96,16 +96,25 @@ handle_file(const char *path) char *buffer = fcontent(in, size); if (dot && strcmp(dot, ".md") == 0) { - engine_t *engine = engine_ingest(&buffer); + 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("---")); + } mkd_flag_t *flags = mkd_flags(); mkd_set_flag_num(flags, MKD_FENCEDCODE); MMIOT *doc = mkd_string(buffer, strlen(buffer), flags); free(flags); + template_write(&engine, out, doc, true); - template_write(engine, out, doc, true); - - engine_delete(engine); + if (engine.config != NULL) + config_delete(engine.config); } else if (strlen(buffer) != 0) { engine_t *engine = engine_ingest(&buffer); template_write(engine, out, buffer, false); -- cgit v1.2.3