package forester

  1. Overview
  2. Docs
A tool for tending mathematical forests

Install

Dune Dependency

Authors

Maintainers

Sources

4.3.0.tar.gz
md5=4cf7ec6a0a36810572f8b3a2af58631c
sha512=818f859dac00a18807563fd79663ec54232c8df196a8dc2de5e269a1d0c71085b1b490297ea0ecf3ef9cd32e40fb05ad2e10c241b03958c15e25c2942271eede

doc/src/forester.render/Render_util.ml.html

Source file Render_util.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
open Forester_core

let rec expand_title_with_parents ~trees ?(ancestors = []) (fm : Sem.frontmatter) title =
  match fm.designated_parent with
  | Some parent_addr when not @@ List.mem parent_addr ancestors ->
    begin
      match Addr_map.find_opt parent_addr trees with
      | None ->
        title
      | Some (parent : Sem.tree)  ->
        let chevron = [Range.locate_opt None @@ Sem.Text " › "] in
        let parent_title =
          parent.fm.title |>
          Option.map @@ expand_title_with_parents ~trees parent.fm
        in
        let parent_link =
          [Range.locate_opt None @@
           Sem.Link (parent_addr, parent_title,  Sentence_case)]
        in
        parent_link @ chevron @ title
    end
  | _ -> title
OCaml

Innovation. Community. Security.