diff options
-rw-r--r-- | compromyse.xyz/posts/b.md | 1 | ||||
-rw-r--r-- | src/msg.c | 16 |
2 files changed, 16 insertions, 1 deletions
diff --git a/compromyse.xyz/posts/b.md b/compromyse.xyz/posts/b.md index 51817b8..d7d8228 100644 --- a/compromyse.xyz/posts/b.md +++ b/compromyse.xyz/posts/b.md @@ -1,4 +1,5 @@ title = B.md +template = xyz.html --- # Hi there!!!! @@ -96,8 +96,22 @@ 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("---")); + } + MMIOT *doc = mkd_string(buffer, size, 0); - template_write(NULL, out, doc, true); + template_write(&engine, out, doc, true); + + 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); |