"
+ ^ opt_kv "Title:" text.title
+ ^ opt_kv "Authors:" authors
+ ^ opt_kv "Date: " (time (Date.(pretty_date @@ listing text.date)))
+ ^ opt_kv "Series: " (str_set "series" text)
+ ^ opt_kv "Topics: " (topic_links (set "topics" text))
+ ^ opt_kv "Keywords: " keywords
+ ^ opt_kv "Id: " (Id.to_string text.uuid)
+ ^ {|
|} in
+ wrap ~keywords archive_title text.title ((T.of_string text.body header) ^ "
")
+
+let to_dated_links ?(limit) meta_list =
+ let meta_list = match limit with
+ | None -> meta_list
+ | Some limit->
+ let rec reduced acc i = function
+ | [] -> acc
+ | h::t -> if i < limit then reduced (h::acc) (i+1) t else acc in
+ List.rev @@ reduced [] 0 meta_list
+ in
+ List.fold_left
+ (fun a m ->
+ a ^ Logarion.(Date.(pretty_date (listing m.Text.date)) ^ " ")
+ ^ {|