OCaml HTML5 parser/serialiser based on Python's JustHTML
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 43 lines 1.1 kB view raw
1type t = (string, Element_spec.t) Hashtbl.t 2 3let create () = Hashtbl.create 128 4 5let register registry spec = 6 let name = Astring.String.Ascii.lowercase spec.Element_spec.name in 7 Hashtbl.replace registry name spec 8 9let get registry name = 10 let name = Astring.String.Ascii.lowercase name in 11 Hashtbl.find_opt registry name 12 13let list_names registry = 14 Hashtbl.to_seq_keys registry 15 |> List.of_seq 16 |> List.sort String.compare 17 18let all registry = 19 Hashtbl.to_seq_values registry 20 |> List.of_seq 21 22let default () = 23 let registry = create () in 24 25 (* Register document structure elements *) 26 List.iter (register registry) Elements_document.all; 27 28 (* Register text-level elements *) 29 List.iter (register registry) Elements_text.all; 30 31 (* Register form elements *) 32 List.iter (register registry) Elements_form.all; 33 34 (* Register embedded content elements *) 35 List.iter (register registry) Elements_embedded.all; 36 37 (* Register table elements *) 38 List.iter (register registry) Elements_table.all; 39 40 (* Register interactive elements *) 41 List.iter (register registry) Elements_interactive.all; 42 43 registry