fix: use flattened Html element

main
Xubai Wang 2022-02-19 02:07:25 +08:00
parent c31aef8e87
commit 1ef736c014
2 changed files with 4 additions and 4 deletions

View File

@ -29,7 +29,7 @@ partial def moduleListDir (h : Hierarchy) : HtmlM Html := do
pure pure
<details "class"="nav_sect" "data-path"={moduleLink} <details "class"="nav_sect" "data-path"={moduleLink}
[if (←getCurrentName).any (h.getName.isPrefixOf ·) then #[("open", "")] else #[]]> [if (←getCurrentName).any (h.getName.isPrefixOf ·) then #[("open", "")] else #[]]>
<summary><a "href"={← moduleNameToLink h.getName}>{h.getName.toString}</a></summary> {Html.element "summary" true #[] #[<a "href"={← moduleNameToLink h.getName}>{h.getName.toString}</a>]}
[dirNodes] [dirNodes]
[fileNodes] [fileNodes]
</details> </details>

View File

@ -33,9 +33,9 @@ def attributesToString (attrs : Array (String × String)) :String :=
-- TODO: Termination proof -- TODO: Termination proof
partial def toStringAux : Html → String partial def toStringAux : Html → String
| element tag false attrs #[text s] => s!"<{tag}{attributesToString attrs}>{s}</{tag}>" | element tag false attrs #[text s] => s!"<{tag}{attributesToString attrs}>{s}</{tag}>\n"
| element tag false attrs #[child] => s!"<{tag}{attributesToString attrs}>{child.toStringAux}</{tag}>" | element tag false attrs #[child] => s!"<{tag}{attributesToString attrs}>\n{child.toStringAux}</{tag}>\n"
| element tag false attrs children => s!"<{tag}{attributesToString attrs}>{children.foldl (· ++ toStringAux ·) ""}</{tag}>" | element tag false attrs children => s!"<{tag}{attributesToString attrs}>\n{children.foldl (· ++ toStringAux ·) ""}</{tag}>\n"
| element tag true attrs children => s!"<{tag}{attributesToString attrs}>{children.foldl (· ++ toStringAux ·) ""}</{tag}>" | element tag true attrs children => s!"<{tag}{attributesToString attrs}>{children.foldl (· ++ toStringAux ·) ""}</{tag}>"
| text s => s | text s => s