35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
/-
|
|
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.Process
|
|
import DocGen4.Output.Base
|
|
import DocGen4.Output.Index
|
|
import DocGen4.Output.Module
|
|
import DocGen4.Output.NotFound
|
|
|
|
namespace DocGen4
|
|
|
|
open Lean Std IO System Output
|
|
|
|
def htmlOutput (result : AnalyzerResult) (root : String) : IO Unit := do
|
|
let config := { root := root, result := result, currentName := none}
|
|
let basePath := FilePath.mk "./build/doc/"
|
|
let indexHtml := ReaderT.run index config
|
|
let notFoundHtml := ReaderT.run notFound config
|
|
FS.createDirAll basePath
|
|
FS.writeFile (basePath / "index.html") indexHtml.toString
|
|
FS.writeFile (basePath / "style.css") styleCss
|
|
FS.writeFile (basePath / "404.html") notFoundHtml.toString
|
|
FS.writeFile (basePath / "nav.js") navJs
|
|
for (module, content) in result.moduleInfo.toArray do
|
|
let moduleHtml := ReaderT.run (moduleToHtml content) config
|
|
let path := moduleNameToFile basePath module
|
|
FS.createDirAll $ moduleNameToDirectory basePath module
|
|
FS.writeFile path moduleHtml.toString
|
|
|
|
end DocGen4
|
|
|