package forester

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

Install

Dune Dependency

Authors

Maintainers

Sources

4.0.1.tar.gz
md5=1781b3d67f7ff4edaeb5cfdedba46b9e
sha512=879a583fd3ddf1cf44039fbe9a1d7280e9cc9cc0340506561dc8c6bb6b792db7c512a682d4d09d6c6b0b3b14940665573c9d94580c9ce0a87ee05822fbe4c229

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
open Core
module E = Render_effect.Perform

let rec expand_title_with_parents ?(ancestors = []) (fm : Sem.frontmatter) title =
  match fm.designated_parent with
  | Some parent_addr when not @@ List.mem parent_addr ancestors ->
    begin
      match E.get_doc parent_addr with
      | None ->
        title
      | Some parent ->
        let chevron = [Range.locate_opt None @@ Sem.Text " › "] in
        let parent_title = parent.fm.title |> Option.map @@ expand_title_with_parents parent.fm in
        let parent_link =
          [Range.locate_opt None @@
           Sem.Link {dest = parent_addr; modifier = Some `Sentence_case; title = parent_title}]
        in
        parent_link @ chevron @ title
    end
  | _ -> title
OCaml

Innovation. Community. Security.