package forester
A tool for tending mathematical forests
Install
Dune Dependency
Authors
Maintainers
Sources
5.0.tar.gz
md5=24f4aed96a8b8af33aba13fba66f1b37
sha512=d36b896aca11858bb4a00fc704c16cc27a1f197bdb3e479d6132fd70f70d67d7158096285cb0b6fb00db14417f0f822cc27fe65d82f0971e42378fd8271ce573
doc/src/forester.frontend/DSL.ml.html
Source file DSL.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
(* * SPDX-FileCopyrightText: 2024 The Forester Project Contributors * * SPDX-License-Identifier: GPL-3.0-or-later *) (* At the moment, this module is mostly for marking up test cases *) open Forester_core open struct module T = Types end let txt str = T.Text str let p content = T.prim `P @@ T.Content content let ul content = T.prim `Ul @@ T.Content content let ol content = T.prim `Ol @@ T.Content content let li content = T.prim `Li @@ T.Content content let em content = T.prim `Em @@ T.Content content let strong content = T.prim `Strong @@ T.Content content let code content = T.prim `Code @@ T.Content content let blockquote content = T.prim `Blockquote @@ T.Content content let pre content = T.prim `Pre @@ T.Content content let figure content = T.prim `Figure @@ T.Content content let figcaption content = T.prim `Figcaption @@ T.Content content let cdata content = T.CDATA content let contextual_number href = T.Contextual_number (URI.of_string_exn href) let katex m content = T.KaTeX (m, T.Content content) let route_of_uri uri = T.Route_of_uri uri module Datalog = struct open Datalog_expr let premises ~rel ~args = {rel; args} let prop premises conclusion = {premises; conclusion} let const v = Const v end let datalog_script script = T.Datalog_script script let section ~mainmatter ?(frontmatter = T.default_frontmatter ()) ?(flags = T.default_section_flags) () = T.Section { frontmatter; mainmatter = T.Content mainmatter; flags; } let xml_elt (prefix, uname) content = let prefix = Option.value ~default: "" prefix in let qname = T.{prefix; uname; xmlns = None} in T.Xml_elt { name = qname; attrs = []; content = T.Content content } let transclude href = T.Transclude T.{ href = URI.of_string_exn href; target = Mainmatter } let artefact content = T.Artefact T.{ hash = ""; content = Content content; sources = [] } let link href content = T.Link { href = URI.of_string_exn href; content = T.Content content; } module Code = struct open Code open Asai.Range let import_private = Fun.compose (locate_opt None) @@ Code.import_private let import_public = Fun.compose (locate_opt None) @@ Code.import_public let inline_math = Fun.compose (locate_opt None) @@ Code.inline_math let display_math = Fun.compose (locate_opt None) @@ Code.display_math let parens = Fun.compose (locate_opt None) @@ Code.parens let squares = Fun.compose (locate_opt None) @@ Code.squares let braces = Fun.compose (locate_opt None) @@ Code.braces let ident i = locate_opt None @@ Ident i let ul = ident ["ul"] let li = ident ["li"] let text str = locate_opt None @@ Text str let verbatim str = locate_opt None @@ Verbatim str let math mode nodes = locate_opt None @@ Math (mode, nodes) let ident path = locate_opt None @@ Ident path let scope nodes = locate_opt None @@ Scope nodes let open_ path = locate_opt None @@ Open path let group delim nodes = locate_opt None @@ Group (delim, nodes) let def p b t = locate_opt None @@ Def (p, b, t) let object_ t = locate_opt None @@ Code.Object t end module Syn = struct open Forester_core.Syn open Asai.Range let fun_ b t = locate_opt None @@ Fun (b, t) let prim p = locate_opt None @@ Prim p let text s = locate_opt None @@ Text s let parens e = locate_opt None @@ Group (Parens, e) let squares e = locate_opt None @@ Group (Squares, e) let braces e = locate_opt None @@ Group (Braces, e) let tex_cs w = locate_opt None @@ TeX_cs (Word w) end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>