28 lines
1.1 KiB
OCaml
28 lines
1.1 KiB
OCaml
open Lwt.Infix
|
|
|
|
let db_created = ref true
|
|
|
|
let _ = Database.create_blog_post_table () >>= function
|
|
| Ok () -> Lwt_io.print "Database initialized successfully.\n"
|
|
| Error _ -> Lwt.return (db_created := false)
|
|
|
|
let () = Unix.sleepf 2.0
|
|
let () = if not !db_created then failwith "Could not initialize database"
|
|
|
|
let () =
|
|
Dream.run
|
|
@@ Dream.logger
|
|
@@ Dream.router [
|
|
Dream.get "/static/**" @@ Dream.static "static";
|
|
Dream.get "/" @@ (fun _ -> Render.render_index ());
|
|
Dream.get "/resume" @@ Dream.from_filesystem "html" "resume.html";
|
|
Dream.get "/philosophy" @@ Dream.from_filesystem "html" "philosophy.html";
|
|
Dream.get "/web-ring" @@ Dream.from_filesystem "html" "web-ring.html";
|
|
Dream.get "/blog" (fun _ -> Render.render_blog_index ());
|
|
Dream.scope "/blog" [] [
|
|
Dream.get "/rss.xml" Render.render_rss_feed;
|
|
Dream.get "/:post" (fun request -> Render.render_blog_post ~slug:(Dream.param request "post"))
|
|
];
|
|
Dream.get "/**" (fun _ -> Render.handle_not_found ())
|
|
]
|