My aggregated monorepo of OCaml code, automaintained
at main 32 lines 1.1 kB view raw
1(*--------------------------------------------------------------------------- 2 Copyright (c) 2025 Anil Madhavapeddy <anil@recoil.org>. All rights reserved. 3 SPDX-License-Identifier: ISC 4 ---------------------------------------------------------------------------*) 5 6(** Note rendering for Arod webserver *) 7 8open Htmlit 9 10let note_for_feed n = 11 let (body_html, word_count_info) = Arod_view.truncated_body (`Note n) in 12 (body_html, word_count_info) 13 14let one_note_brief n = 15 let (body_html, word_count_info) = Arod_view.truncated_body (`Note n) in 16 (El.splice [ 17 Arod_view.entry_href (`Note n); 18 body_html 19 ], word_count_info) 20 21let one_note_full n = 22 let body = Arod_model.Note.body n in 23 let body_with_ref = match Arod_model.Note.slug_ent n with 24 | None -> body 25 | Some slug_ent -> 26 let parent_ent = Arod_model.lookup_exn slug_ent in 27 let parent_title = Arod_model.Entry.title parent_ent in 28 body ^ "\n\nRead more about [" ^ parent_title ^ "](:" ^ slug_ent ^ ")." 29 in 30 El.div ~at:[At.class' "note"] [ 31 El.unsafe_raw (Arod_view.md_to_html body_with_ref) 32 ]