diff options
author | sternenseemann <git@lukasepple.de> | 2020-04-29 21:06:05 +0200 |
---|---|---|
committer | sternenseemann <git@lukasepple.de> | 2020-04-29 21:06:05 +0200 |
commit | b705d957dffa0cae4183a84b6cf6702feafa51da (patch) | |
tree | 39722c2dc73df691acbcd62fc3adc73ce1f59ab3 | |
parent | 5f2e9739ca692b97a33e07d4ecc9c6ae82b17159 (diff) |
Generate more minimal html, allow setting the title
-rw-r--r-- | src/logbook.ml | 4 | ||||
-rw-r--r-- | src/logbook_models.ml | 5 | ||||
-rw-r--r-- | src/logbook_template.ml | 19 |
3 files changed, 12 insertions, 16 deletions
diff --git a/src/logbook.ml b/src/logbook.ml index 905ecd9..f8ac9cd 100644 --- a/src/logbook.ml +++ b/src/logbook.ml @@ -10,6 +10,7 @@ let parse_file f = let input_file = ref None let privacy = ref Log.Public let markup = ref (fun s -> Html.p (Html.string s)) +let title = ref "log" let arglist = [ ("--file", Arg.String (fun f -> input_file := Some f), "log file to use"); @@ -21,6 +22,7 @@ let arglist = "set privacy level of output to semi-private"); ("--markdown", Arg.Unit (fun () -> markup := Markdown.of_string), "enable markdown markup"); + ("--title", Arg.String (fun f -> title := f), "title of the generated html document"); ] let usage = @@ -41,4 +43,4 @@ let _ = Log.apply_markup (fun x -> Xml.to_string ~decl:false (!markup x)) log in print_string (Jg_template.from_string Logbook_template.template - ~models:(Logbook_models.model_of_log !privacy log_markup)) + ~models:(Logbook_models.model_of_log !title !privacy log_markup)) diff --git a/src/logbook_models.ml b/src/logbook_models.ml index ba97001..45dbc6d 100644 --- a/src/logbook_models.ml +++ b/src/logbook_models.ml @@ -8,8 +8,9 @@ let data_model_of_items mode items = |> List.map (fun (Log.Item (_, tt, tx)) -> Tobj [ ("title", Tstr tt); ("text", Tstr tx); ]) -let model_of_log level log = - [ ("entries", Tlist (List.map +let model_of_log title level log = + [ ("title", Tstr title); + ("entries", Tlist (List.map (fun (Log.Log_entry (date, summary, items)) -> Tobj [ ("summary", Tstr summary); diff --git a/src/logbook_template.ml b/src/logbook_template.ml index c87f6f0..14ecacc 100644 --- a/src/logbook_template.ml +++ b/src/logbook_template.ml @@ -2,26 +2,19 @@ let template = "<!doctype html> <html> <head> <meta charset=\"utf-8\"> - <title>log</title> + <title>{{ title }}</title> </head> <body> <main> - <h1>log</h1> - {% for entry in entries %} - <article id=\"{{ entry.date }}\"> + {% for entry in entries %}<article id=\"{{ entry.date }}\"> <h2>{{ entry.date }}</h2> - {% autoescape false %} - {{ entry.summary }} - <ul> - {% for item in entry.items %} + {% autoescape false %}{{ entry.summary }} + <ul>{% for item in entry.items %} <li> {{ item.title }} {{ item.text }} - </li> - {% endfor %} - {% endautoescape %} + </li>{% endfor %}{% endautoescape %} </ul> - </article> - {% endfor %} + </article>{% endfor %} </main> </body>" |