package quickterface

  1. Overview
  2. Docs
Quick-to-program app interfaces in OCaml for terminal and web

Install

dune-project
 Dependency

Authors

Maintainers

Sources

quickterface-0.1.0.tbz
sha256=8261e3819564fb5d05f1f313e62b73382152591d7a4349ae5b1b08a4fc2469f3
sha512=e739a971bb0e696ab716c168419c59a3d195922d2d1e4963106a845e3442ffa085b05106f36cceeec9b806bf7d6ef2c31e98db04911fbf73c5ac0ce626449d0f

doc/src/quickterface_web_app_backend/katex_setup.ml.html

Source file katex_setup.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
open! Core
open! Js_of_ocaml

type t = {
  link_await : Dom_html.linkElement Utils.Await_load_element.t;
  script_await : Dom_html.scriptElement Utils.Await_load_element.t;
}

let make ~document =
  let link_await =
    Utils.Await_load_element.make ~make_element:(fun () ->
        let link = Dom_html.createLink document in
        link##.rel := Js.string "stylesheet";
        link##.href :=
          Js.string
            "https://cdn.jsdelivr.net/npm/katex@0.16.27/dist/katex.min.css";
        link##setAttribute (Js.string "integrity")
          (Js.string
             "sha384-Pu5+C18nP5dwykLJOhd2U4Xen7rjScHN/qusop27hdd2drI+lL5KvX7YntvT8yew");
        link##setAttribute (Js.string "crossorigin") (Js.string "anonymous");
        link)
  in

  let script_await =
    Utils.Await_load_element.make ~make_element:(fun () ->
        let script = Dom_html.createScript document in
        script##.src :=
          Js.string
            "https://cdn.jsdelivr.net/npm/katex@0.16.27/dist/katex.min.js";
        script##setAttribute (Js.string "integrity")
          (Js.string
             "sha384-2B8pfmZZ6JlVoScJm/5hQfNS2TI/6hPqDZInzzPc8oHpN5SgeNOf4LzREO6p5YtZ");
        script##setAttribute (Js.string "crossorigin") (Js.string "anonymous");
        script)
  in

  { link_await; script_await }

let await_elements { link_await; script_await } =
  [
    (link_await :> Dom_html.element Utils.Await_load_element.t);
    (script_await :> Dom_html.element Utils.Await_load_element.t);
  ]