Changeset 38 in code for trunk/cli


Ignore:
Timestamp:
Dec 4, 2022, 7:18:52 PM (2 years ago)
Author:
fox
Message:

Support References field

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/cli/html.ml

    r24 r38  
    4747module HtmlConverter = struct
    4848        include Converter.Html
    49         let angled_uri u a = if String.sub u 0 10 <> "urn:txtid:" then
    50                 angled_uri u a else angled_uri (String.(sub u 10 (length u - 10)) ^ ext) a
     49        let angled_uri u a =
     50                if try String.sub u 0 10 = "urn:txtid:" with Invalid_argument _ -> false
     51                then angled_uri (String.(sub u 10 (length u - 10)) ^ ext) a else angled_uri u a
    5152end
    5253
     
    6061(*      let author acc auth = sep_append acc Person.(auth.name ^ " ") in*)
    6162        let authors = Person.Set.to_string text.authors in
    62         let keywords = str_set "keywords" text in
    6363        let header =
    6464                let time x = Printf.sprintf {|<time datetime="%s">%s</time>|}
     
    6969                                sep_append a (List.fold_left (fun a t -> sep_append ~sep:" > " a (topic_link (List.hd ts) t)) "" ts) in
    7070                        String_set.fold to_linked x "" in
     71                let ref_links x =
     72                        let link l = HtmlConverter.angled_uri (String.(sub l 1 (length l-2))) "" in
     73                        String_set.fold (fun r a -> sep_append a (link r)) x ""
     74                in
    7175                "<article><header><dl>"
    7276                ^ opt_kv "Title:" text.title
     
    7579                ^ opt_kv "Series:" (str_set "series" text)
    7680                ^ opt_kv "Topics:" (topic_links (set "topics" text))
    77                 ^ opt_kv "Keywords:" keywords
    7881                ^ opt_kv "Id:" text.id
     82                ^ opt_kv "References:" (ref_links (set "references" text))
    7983                ^ {|</dl></header><pre style="white-space:pre-wrap">|} in
    8084        wrap conversion htm text.title ((T.of_string text.body header) ^ "</pre></article>")
Note: See TracChangeset for help on using the changeset viewer.