mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 11:15:35 -05:00
41 lines
840 B
OCaml
41 lines
840 B
OCaml
open Tiny_httpd_html
|
|
let spf = Printf.sprintf
|
|
|
|
let list_init n f =
|
|
let rec loop i =
|
|
if i=n then []
|
|
else f i :: loop (i+1)
|
|
in loop 0
|
|
|
|
let t1() =
|
|
html [] [
|
|
head [] [];
|
|
body [] [
|
|
ul [A.style "list-style: circle"] (
|
|
li[][pre [] [txt "a"; pre[][txt "c"; txt"d"]; txt "b"]] ::
|
|
list_init 100 (fun i -> li [A.id (spf "l%d" i)] [txt (spf "item %d" i)])
|
|
)
|
|
]
|
|
]
|
|
|
|
|
|
let t2() =
|
|
html [] [
|
|
head [] [];
|
|
pre [] [txt "a"; txt "b"];
|
|
body [] [
|
|
ul' [A.style "list-style: circle"] [
|
|
sub_l @@ list_init 100 @@ fun i ->
|
|
li ~if_:(i<> 42) [A.id (spf "l%d" i)] [txt (spf "item %d" i)]
|
|
]
|
|
]
|
|
]
|
|
|
|
let render t =
|
|
print_endline @@ to_string_top @@ t
|
|
|
|
let () =
|
|
match Sys.argv.(1) with
|
|
| "1" -> render @@ t1()
|
|
| "2" -> render @@ t2()
|
|
| _ -> failwith "unknown cmd"
|