/- Copyright (c) 2021 Henrik Böving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henrik Böving -/ import Lean import DocGen4.Output.ToHtmlFormat import DocGen4.Output.Base namespace DocGen4 namespace Output open Lean open scoped DocGen4.Jsx def moduleListFile (file : NameExt) : BaseHtmlM Html := do return
/-- Build the HTML tree representing the module hierarchy. -/ partial def moduleListDir (h : Hierarchy) : BaseHtmlM Html := do let children := Array.mk (h.getChildren.toList.map Prod.snd) let dirs := children.filter (fun c => c.getChildren.toList.length != 0) let files := children.filter (fun c => Hierarchy.isFile c && c.getChildren.toList.length = 0) |>.map Hierarchy.getNameExt let dirNodes ← dirs.mapM moduleListDir let fileNodes ← files.mapM moduleListFile let moduleLink ← moduleNameToHtmlLink h.getName let summary := if h.isFile then