aboutsummaryrefslogtreecommitdiffstats
path: root/src/blogc-make/ctx.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/blogc-make/ctx.h')
-rw-r--r--src/blogc-make/ctx.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/blogc-make/ctx.h b/src/blogc-make/ctx.h
new file mode 100644
index 0000000..3e18048
--- /dev/null
+++ b/src/blogc-make/ctx.h
@@ -0,0 +1,43 @@
+/*
+ * blogc: A blog compiler.
+ * Copyright (C) 2016 Rafael G. Martins <rafael@rafaelmartins.eng.br>
+ *
+ * This program can be distributed under the terms of the BSD License.
+ * See the file LICENSE.
+ */
+
+#ifndef _MAKE_CTX_H
+#define _MAKE_CTX_H
+
+#include <stdbool.h>
+#include <time.h>
+#include "settings.h"
+
+typedef struct {
+ char *path;
+ char *short_path;
+ struct timespec timestamp;
+ bool readable;
+} bm_filectx_t;
+
+typedef struct {
+ bm_settings_t *settings;
+
+ char *root_dir;
+ char *output_dir;
+
+ bm_filectx_t *main_template_fctx;
+ bm_filectx_t *atom_template_fctx;
+ bm_filectx_t *settings_fctx;
+
+ bc_slist_t *posts_fctx;
+ bc_slist_t *pages_fctx;
+ bc_slist_t *copy_files_fctx;
+} bm_ctx_t;
+
+bm_filectx_t* bm_filectx_new(bm_ctx_t *ctx, const char *filename);
+void bm_filectx_free(bm_filectx_t *fctx);
+bm_ctx_t* bm_ctx_new(const char *filename, bc_error_t **err);
+void bm_ctx_free(bm_ctx_t *ctx);
+
+#endif /* _MAKE_CTX_H */