feat: Fix outputs paths
parent
d5915fcb13
commit
2adf5125c1
|
@ -27,8 +27,8 @@ def htmlOutput (result : AnalyzerResult) : IO Unit := do
|
||||||
FS.writeFile (basePath / "nav.js") navJs
|
FS.writeFile (basePath / "nav.js") navJs
|
||||||
for (module, content) in result.modules.toArray do
|
for (module, content) in result.modules.toArray do
|
||||||
let moduleHtml := ReaderT.run (moduleToHtml content) config
|
let moduleHtml := ReaderT.run (moduleToHtml content) config
|
||||||
let path := basePath / (nameToUrl module)
|
let path := moduleNameToFile basePath module
|
||||||
FS.createDirAll $ nameToDirectory basePath module
|
FS.createDirAll $ moduleNameToDirectory basePath module
|
||||||
FS.writeFile path moduleHtml.toString
|
FS.writeFile path moduleHtml.toString
|
||||||
|
|
||||||
end DocGen4
|
end DocGen4
|
||||||
|
|
|
@ -28,12 +28,18 @@ def getCurrentName : HtmlM (Option Name) := do (←read).currentName
|
||||||
def templateExtends {α β : Type} (base : α → HtmlM β) (new : HtmlM α) : HtmlM β :=
|
def templateExtends {α β : Type} (base : α → HtmlM β) (new : HtmlM α) : HtmlM β :=
|
||||||
new >>= base
|
new >>= base
|
||||||
|
|
||||||
def nameToUrl (n : Name) : String :=
|
-- TODO: Change this to HtmlM and auto add the root URl
|
||||||
|
def moduleNameToUrl (n : Name) : String :=
|
||||||
(parts.intersperse "/").foldl (· ++ ·) "" ++ ".html"
|
(parts.intersperse "/").foldl (· ++ ·) "" ++ ".html"
|
||||||
where
|
where
|
||||||
parts := n.components.map Name.toString
|
parts := n.components.map Name.toString
|
||||||
|
|
||||||
def nameToDirectory (basePath : FilePath) (n : Name) : FilePath :=
|
def moduleNameToFile (basePath : FilePath) (n : Name) : FilePath :=
|
||||||
|
FilePath.withExtension (basePath / parts.foldl (· / ·) (FilePath.mk ".")) "html"
|
||||||
|
where
|
||||||
|
parts := n.components.map Name.toString
|
||||||
|
|
||||||
|
def moduleNameToDirectory (basePath : FilePath) (n : Name) : FilePath :=
|
||||||
basePath / parts.foldl (· / ·) (FilePath.mk ".")
|
basePath / parts.foldl (· / ·) (FilePath.mk ".")
|
||||||
where
|
where
|
||||||
parts := n.components.dropLast.map Name.toString
|
parts := n.components.dropLast.map Name.toString
|
||||||
|
|
|
@ -21,7 +21,7 @@ def moduleListFile (file : Name) : HtmlM Html := do
|
||||||
else
|
else
|
||||||
#[("class", "nav_link")]
|
#[("class", "nav_link")]
|
||||||
| none => #[("class", "nav_link")]
|
| none => #[("class", "nav_link")]
|
||||||
let nodes := #[<a href={s!"{←getRoot}{nameToUrl file}"}>{file.toString}</a>]
|
let nodes := #[<a href={s!"{←getRoot}{moduleNameToUrl file}"}>{file.toString}</a>]
|
||||||
return Html.element "div" attributes nodes
|
return Html.element "div" attributes nodes
|
||||||
|
|
||||||
partial def moduleListDir (h : Hierarchy) : HtmlM Html := do
|
partial def moduleListDir (h : Hierarchy) : HtmlM Html := do
|
||||||
|
@ -33,11 +33,11 @@ partial def moduleListDir (h : Hierarchy) : HtmlM Html := do
|
||||||
let attributes := match ←getCurrentName with
|
let attributes := match ←getCurrentName with
|
||||||
| some name =>
|
| some name =>
|
||||||
if h.getName.isPrefixOf name then
|
if h.getName.isPrefixOf name then
|
||||||
#[("class", "nav_sect"), ("data-path", nameToUrl h.getName), ("open", "")]
|
#[("class", "nav_sect"), ("data-path", moduleNameToUrl h.getName), ("open", "")]
|
||||||
else
|
else
|
||||||
#[("class", "nav_sect"), ("data-path", nameToUrl h.getName)]
|
#[("class", "nav_sect"), ("data-path", moduleNameToUrl h.getName)]
|
||||||
| none =>
|
| none =>
|
||||||
#[("class", "nav_sect"), ("data-path", nameToUrl h.getName)]
|
#[("class", "nav_sect"), ("data-path", moduleNameToUrl h.getName)]
|
||||||
let nodes := #[<summary>{h.getName.toString}</summary>] ++ dirNodes ++ fileNodes
|
let nodes := #[<summary>{h.getName.toString}</summary>] ++ dirNodes ++ fileNodes
|
||||||
return Html.element "details" attributes nodes
|
return Html.element "details" attributes nodes
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue