about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsternenseemann <git@lukasepple.de>2020-04-29 21:06:05 +0200
committersternenseemann <git@lukasepple.de>2020-04-29 21:06:05 +0200
commitb705d957dffa0cae4183a84b6cf6702feafa51da (patch)
tree39722c2dc73df691acbcd62fc3adc73ce1f59ab3
parent5f2e9739ca692b97a33e07d4ecc9c6ae82b17159 (diff)
Generate more minimal html, allow setting the title
-rw-r--r--src/logbook.ml4
-rw-r--r--src/logbook_models.ml5
-rw-r--r--src/logbook_template.ml19
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>"