Elm: How do I display a list of strings in an HTML list?
elm
Solution
Do you want to render in an element (i.e. canvas) or truly as html. If the latter, then you can use `elm/html` and
renderList : List String -> Html msg
renderList lst =
ul []
(List.map (\l -> li [] [ text l ]) lst)
or in piping style
renderList : List String -> Html msg
renderList lst =
lst
|> List.map (\l -> li [] [ text l ])
|> ul []
or in point-free style
renderList : List String -> Html msg
renderList lst =
lst
|> List.map (li [] << List.singleton << text)
|> ul []
Problem
I'm writing an elm program that should format its output in an HTML list. The function I want takes, ``` inputs = ["first", "second", "third"] ``` and outputs some kind of Elm `Element` that is essentially, ``` <ul> <li>first</li> <li>second</li> <li>third</li> </ul> ``` Sadly, I can't find any built-in functions to do this. Perhaps the `markdown` syntax could be extended to take Mustache-like templates, ``` [markdown| {{#inputs}} * {{text}} {{/inputs}} ] ``` (sorry I'm not sure what the correct Mustache syntax is for an array-of-strings, instead of array-of-objects). Raw HTML element emitting would also be nice. Thanks in advance!