From f8c4109cded651cd225be173c880c79f74510055 Mon Sep 17 00:00:00 2001 From: Stavros Polymenis Date: Fri, 2 Sep 2016 19:53:08 +0100 Subject: [PATCH] added example web interface --- Makefile | 9 ++++++--- src/logarion.ml | 18 ++++++------------ src/web.ml | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 src/web.ml diff --git a/Makefile b/Makefile index f16880f..43e6b4a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,8 @@ -all: foo +all: web -foo: src/logarion.ml - ocamlfind ocamlopt -o logarion -linkpkg -package omd,Str src/logarion.ml +web: logarion.cmx src/web.ml + ocamlfind ocamlopt -o logarion-web -linkpkg -package opium.unix,omd,Str logarion.cmx src/web.ml + +logarion.cmx: src/logarion.ml + ocamlfind ocamlopt -c -o logarion.cmx -linkpkg -package omd src/logarion.ml diff --git a/src/logarion.ml b/src/logarion.ml index f0dee51..d1bfa34 100644 --- a/src/logarion.ml +++ b/src/logarion.ml @@ -44,17 +44,11 @@ let ymd s = let md_str = List.nth segments 1 in Printf.printf "%s" yaml_str; let meta = log_meta yaml_str in - print_endline meta.title; - Printf.printf "%s" md_str + (meta, md_str) -let html_of string = +let html_of (meta, md) = let open Omd in - to_html (of_string string) - -let test = "--- -title: Test -author: orbifx ---- -Hello _world_!" - -let () = ymd test + let body = to_html (of_string md) in + "" ^ meta.title ^ "" + ^ body + ^ "" diff --git a/src/web.ml b/src/web.ml new file mode 100644 index 0000000..9f8a887 --- /dev/null +++ b/src/web.ml @@ -0,0 +1,18 @@ +open Opium.Std + +let test = "--- +title: Test +author: orbifx +--- +Hello _world_!" + +let print_ymd = + let open Logarion in + get "/" begin fun req -> + `Html (html_of (ymd test)) |> respond' + end + +let _ = + App.empty + |> print_ymd + |> App.run_command