fixes #12998 nim doc regression (#13117)

This commit is contained in:
Timothee Cour 2020-01-16 05:19:58 -08:00 • committed by Andreas Rumpf
commit 1b54be7779
13 changed files with 28 additions and 16 deletions

View file

@ -17,7 +17,7 @@ import
packages/docutils/rst, packages/docutils/rstgen,
json, xmltree, cgi, trees, types,
typesrenderer, astalgo, lineinfos, intsets,
pathutils, trees
pathutils, trees, nimconf
const
exportSection = skField
@ -43,6 +43,7 @@ type
destFile*: AbsoluteFile
thisDir*: AbsoluteDir
examples: string
wroteCss*: bool
PDoc* = ref TDocumentor ## Alias to type less.
@ -1069,10 +1070,16 @@ proc writeOutput*(d: PDoc, useWarning = false) =
template outfile: untyped = d.destFile
#let outfile = getOutFile2(d.conf, shortenDir(d.conf, filename), outExt, "htmldocs")
createDir(outfile.splitFile.dir)
d.conf.outFile = outfile.extractFilename.RelativeFile
if not writeRope(content, outfile):
rawMessage(d.conf, if useWarning: warnCannotOpenFile else: errCannotOpenFile,
outfile.string)
d.conf.outFile = outfile.extractFilename.RelativeFile
elif not d.wroteCss:
let cssSource = $d.conf.getPrefixDir() / "doc" / "nimdoc.css"
let cssDest = $d.conf.outDir / "nimdoc.out.css"
# renamed to make it easier to use with gitignore in user's repos
copyFile(cssSource, cssDest)
d.wroteCss = true
proc writeOutputJson*(d: PDoc, useWarning = false) =
runAllExamples(d)