diff --git a/frontend/src/Config/Helpers/Markdown.elm b/frontend/src/Config/Helpers/Markdown.elm index 854bd2f..5f46868 100755 --- a/frontend/src/Config/Helpers/Markdown.elm +++ b/frontend/src/Config/Helpers/Markdown.elm @@ -57,32 +57,19 @@ articleImage pic = renderDeviceMarkdown : String -> Element msg renderDeviceMarkdown markdown = - case - markdown - |> String.split "\n" - |> List.map String.trimRight - |> String.join "\n" - |> Markdown.Parser.parse - of - Ok ast -> - case Markdown.Renderer.render elmUiRenderer ast of - Ok rendered -> - column - [ width fill - , centerX - , spacing 10 - ] - rendered - - Err errors -> - text errors + case renderMarkdown markdown of + Ok ( toc, renderedMarkdown ) -> + paragraph [] + [ column + [ width fill + , centerX + , spacing 10 + ] + (tocView toc :: renderedMarkdown) + ] Err error -> - text - (error - |> List.map Markdown.Parser.deadEndToString - |> String.join "\n" - ) + E.text error renderMarkdown : String -> Result String ( TableOfContents, List (Element msg) ) @@ -102,11 +89,7 @@ renderMarkdown markdown = Err errors Err error -> - Err - (error - |> List.map Markdown.Parser.deadEndToString - |> String.join "\n" - ) + Err (error |> List.map Markdown.Parser.deadEndToString |> String.join "\n") renderDeviceMarkdownNoToc : String -> Element msg @@ -376,18 +359,9 @@ elmUiRenderer = , B.color colourTheme.backgroundLightGrey , paragraphFontSize , width fill - , E.spacing 10 + , spacing 10 ] - (List.map - (\child -> - E.paragraph - [ width fill - , E.spacing 5 - ] - [ child ] - ) - children - ) + children , unorderedList = \items -> E.column