diff --git a/baked.c b/baked.c
index d16ff89..d13b42c 100644
--- a/baked.c
+++ b/baked.c
@@ -18,6 +18,7 @@ INCBIN(favicon_ico, "./etc/favicon.ico");
#if MY_DEBUG
INCBIN(hotreload_js, "./etc/hotreload.js");
#endif
+INCBIN(me_jpg, "./etc/me.jpg");
INCBIN(blog_welcome_md, "./blog/welcome.md");
INCBIN(blog_weird_page_md, "./blog/weird-page.md");
@@ -48,6 +49,7 @@ void init_baked_resources(void)
#if MY_DEBUG
add_baked_resource("hotreload.js", hotreload_js_data, hotreload_js_size);
#endif
+ add_baked_resource("me.jpg", me_jpg_data, me_jpg_size);
add_baked_resource("blog-welcome.md", blog_welcome_md_data, blog_welcome_md_size);
add_baked_resource("blog-weird-page.md", blog_weird_page_md_data, blog_weird_page_md_size);
add_baked_resource("blog-curious-case-of-gebs.md", blog_curious_case_of_gebs_md_data, blog_curious_case_of_gebs_md_size);
diff --git a/baked.h b/baked.h
index 2074884..b666522 100644
--- a/baked.h
+++ b/baked.h
@@ -15,6 +15,7 @@ INCBIN_EXTERN(favicon_ico);
#if MY_DEBUG
INCBIN_EXTERN(hotreload_js);
#endif
+INCBIN_EXTERN(me_jpg);
INCBIN_EXTERN(blog_welcome_md);
INCBIN_EXTERN(blog_weird_page_md);
diff --git a/build.c b/build.c
index 829077a..71a180a 100644
--- a/build.c
+++ b/build.c
@@ -37,6 +37,8 @@ int main(int argc, char ** argv)
"./etc/hotreload.js",
"./etc/simple.css",
+ "./etc/favicon.ico",
+ "./etc/me.jpg",
"./blog/welcome.md",
"./blog/weird-page.md",
diff --git a/etc/hotreload.js b/etc/hotreload.js
index 34b1dd7..97e3aec 100644
--- a/etc/hotreload.js
+++ b/etc/hotreload.js
@@ -18,38 +18,7 @@ async function fetch_build_id()
return json.build_id;
}
-(async function() {
- build_id = await fetch_build_id();
-})();
-
-
-const asyncIntervals = [];
-
-const runAsyncInterval = async (cb, interval, intervalIndex) => {
- await cb();
- if (asyncIntervals[intervalIndex]) {
- setTimeout(() => runAsyncInterval(cb, interval, intervalIndex), interval);
- }
-};
-
-const setAsyncInterval = (cb, interval) => {
- if (cb && typeof cb === "function") {
- const intervalIndex = asyncIntervals.length;
- asyncIntervals.push(true);
- runAsyncInterval(cb, interval, intervalIndex);
- return intervalIndex;
- } else {
- throw new Error('Callback must be a function');
- }
-};
-
-const clearAsyncInterval = (intervalIndex) => {
- if (asyncIntervals[intervalIndex]) {
- asyncIntervals[intervalIndex] = false;
- }
-};
-
-setAsyncInterval(async function () {
+setInterval(async function() {
let new_build_id = await fetch_build_id();
if (build_id !== new_build_id) {
location.reload(true);
diff --git a/etc/me.jpg b/etc/me.jpg
new file mode 100644
index 0000000..ad0e0f0
Binary files /dev/null and b/etc/me.jpg differ
diff --git a/main.c b/main.c
index 545ccc2..c439db3 100644
--- a/main.c
+++ b/main.c
@@ -92,6 +92,7 @@ void event_handler(struct mg_connection *conn, int ev, void *ev_data)
sb.items,
result->body.count
);
+ printf("%s\n", reply);
mg_printf(conn, "%s", reply);
mg_send(conn, result->body.items, result->body.count);
}
@@ -103,12 +104,13 @@ void init_route_hashtable(void)
shdefault(route_hashtable, &route_page_not_found);
shput(route_hashtable, "/", &route_home);
shput(route_hashtable, "/page-missing", &route_page_not_found);
- shput(route_hashtable, "/simple.css", &route_simple_css);
+ shput(route_hashtable, "/simple.css", &route_simple_css);
shput(route_hashtable, "/favicon.ico", &route_favicon);
#if MY_DEBUG
shput(route_hashtable, "/hotreload.js", &route_hotreload_js);
shput(route_hashtable, "/build-id", &route_build_id);
#endif
+ shput(route_hashtable, "/me.jpg", &route_me_jpg);
shput(route_hashtable, "/blog", &route_blog);
void put_blogs(Baked_Resource *resource)
diff --git a/routes.c b/routes.c
index eb6eeed..4ce1aff 100644
--- a/routes.c
+++ b/routes.c
@@ -158,6 +158,24 @@ ROUTE_HANDLER(simple_css)
make_text(result, "css", 200, sb.items);
}
+ROUTE_HANDLER(me_jpg)
+{
+ char path[PATH_MAX] = {0};
+ if (!get_baked_resource_path("me.jpg", path, sizeof(path))) {
+ make_internal_server_error(result);
+ return;
+ }
+
+ String_Builder sb = {0};
+ defer { sb_free(&sb); }
+ if (!sb_read_file(&sb, path)) {
+ make_internal_server_error(result);
+ return;
+ }
+
+ make_binary(result, "image/jpeg", 200, sb.items, sb.count);
+}
+
ROUTE_HANDLER(favicon)
{
char path[PATH_MAX] = {0};
@@ -172,7 +190,6 @@ ROUTE_HANDLER(favicon)
make_internal_server_error(result);
return;
}
- sb_finish(&sb);
make_binary(result, "image/x-icon", 200, sb.items, sb.count);
}
diff --git a/routes.h b/routes.h
index 3976c70..3a5f7d5 100644
--- a/routes.h
+++ b/routes.h
@@ -33,6 +33,7 @@ typedef struct {
ROUTE_HANDLER(page_not_found);
ROUTE_HANDLER(simple_css);
ROUTE_HANDLER(favicon);
+ROUTE_HANDLER(me_jpg);
#if MY_DEBUG
ROUTE_HANDLER(hotreload_js);
ROUTE_HANDLER(build_id);
diff --git a/tmpls/home.html b/tmpls/home.html
index c0c1e22..158147b 100644
--- a/tmpls/home.html
+++ b/tmpls/home.html
@@ -52,6 +52,9 @@
+
+
+