3 cduce --compile tiki_of_html.cd
4 cduce --run tiki_of_html.cdo --arg http://digicosme.lri.fr/innovation.html
9 let tiki_of_html (h : [ Any* ]) : [Byte*] =
10 /* Applique le pattern a chaque element de la liste.
11 l'expression de droite doit etre une liste, et le tout
13 Équivalent de List.concat (List.map f l) où f est la transformation
18 /* on ignore le header */
22 | <b ..>(l&[Any*]) -> "__" @ tiki_of_html l @ "__"
25 | <a href=(url & Latin1) ..>(l&[Any*]) ->
26 "[" @ url @ "|" @ tiki_of_html l @ "]"
29 | <((`ul|`ol)&tag) ..>(l&[Any*]) ->
30 let sym = if tag = `ol then "# " else "* " in
32 transform "\n" @ l with
33 <li ..>(l&[Any*]) -> sym @ tiki_of_html l @"\n"
34 | x -> tiki_of_html [ x ]
38 /* Un tag qu'on ne connait pas, on se rapplique récursivement */
39 | <_ ..>(l&[Any*]) -> " "@tiki_of_html l@" "
41 /* Un charactère, on le copie dans la sortie */
43 /* Autre chose ? on l'ignore */
52 print (tiki_of_html (load_html url))
55 | _ -> print "Nombre d'arguments invalides\n"; exit 1