koch knows about json2

This commit is contained in:
Andreas Rumpf
2016-07-18 17:17:58 +02:00
parent 358f582939
commit ecae779956
2 changed files with 25 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
#
#
# Maintenance program for Nim
# (c) Copyright 2015 Andreas Rumpf
# (c) Copyright 2016 Andreas Rumpf
#
# See the file "copying.txt", included in this
# distribution, for details about the copyright.
@@ -30,7 +30,7 @@ const
+-----------------------------------------------------------------+
| Maintenance program for Nim |
| Version $1|
| (c) 2015 Andreas Rumpf |
| (c) 2016 Andreas Rumpf |
+-----------------------------------------------------------------+
Build time: $2, $3
@@ -80,17 +80,17 @@ proc findNim(): string =
# assume there is a symlink to the exe or something:
return nim
proc exec(cmd: string, errorcode: int = QuitFailure, additionalPATH = "") =
let prevPATH = getEnv("PATH")
if additionalPATH.len > 0:
proc exec(cmd: string, errorcode: int = QuitFailure, additionalPath = "") =
let prevPath = getEnv("PATH")
if additionalPath.len > 0:
var absolute = additionalPATH
if not absolute.isAbsolute:
absolute = getCurrentDir() / absolute
echo("Adding to $PATH: ", absolute)
putEnv("PATH", prevPATH & PathSep & absolute)
putEnv("PATH", prevPath & PathSep & absolute)
echo(cmd)
if execShellCmd(cmd) != 0: quit("FAILURE", errorcode)
putEnv("PATH", prevPATH)
putEnv("PATH", prevPath)
proc execCleanPath(cmd: string,
additionalPath = ""; errorcode: int = QuitFailure) =
@@ -433,6 +433,7 @@ of cmdArgument:
of "boot": boot(op.cmdLineRest)
of "clean": clean(op.cmdLineRest)
of "web": web(op.cmdLineRest)
of "json2": web("--json2 " & op.cmdLineRest)
of "website": website(op.cmdLineRest & " --googleAnalytics:UA-48159761-1")
of "web0":
# undocumented command for Araq-the-merciful:

View File

@@ -29,7 +29,7 @@ type
TRssItem = object
year, month, day, title, url, content: string
TAction = enum
actAll, actOnlyWebsite, actPdf
actAll, actOnlyWebsite, actPdf, actJson2
Sponsor = object
logo: string
@@ -157,6 +157,7 @@ proc parseCmdLine(c: var TConfigData) =
c.vars[substr(val, 0, idx-1)] = substr(val, idx+1)
of "website": action = actOnlyWebsite
of "pdf": action = actPdf
of "json2": action = actJson2
of "googleanalytics":
c.gaId = val
c.nimArgs.add("--doc.googleAnalytics:" & val & " ")
@@ -379,7 +380,7 @@ proc genNewsLink(title: string): string =
result = title
result.insert("Z")
for i in 1..len(result)-1:
let letter = result[i].toLower()
let letter = result[i].toLowerAscii()
if letter in validAnchorCharacters:
result[i] = letter
else:
@@ -487,7 +488,6 @@ proc buildNews(c: var TConfigData, newsDir: string, outputDir: string) =
echo("Skipping file in news directory: ", path)
proc buildWebsite(c: var TConfigData) =
if c.ticker.len > 0:
try:
c.ticker = readFile("web" / c.ticker)
@@ -512,6 +512,19 @@ proc main(c: var TConfigData) =
buildDocSamples(c, "doc")
buildDoc(c, "doc")
proc json2(c: var TConfigData) =
const destPath = "web/json2"
var commands = newSeq[string](c.srcdoc2.len)
var i = 0
for d in items(c.srcdoc2):
createDir(destPath / splitFile(d).dir)
commands[i] = findNim() & " jsondoc2 $# --docSeeSrcUrl:$#/$#/$# -o:$# --index:on $#" %
[c.nimArgs, c.gitRepo, c.gitCommit, d.pathPart,
destPath / changeFileExt(d, "json"), d]
i.inc
mexec(commands, c.numProcessors)
var c: TConfigData
initConfigData(c)
parseCmdLine(c)
@@ -520,3 +533,4 @@ case action
of actOnlyWebsite: buildWebsite(c)
of actPdf: buildPdfDoc(c, "doc")
of actAll: main(c)
of actJson2: json2(c)