Skip to content

Commit

Permalink
add plausibleAnalytics support for koch docs[backport:1.6] (#20454)
Browse files Browse the repository at this point in the history
add plausibleAnalytics to koch docs[backport:1.6]
  • Loading branch information
ringabout authored Sep 30, 2022
1 parent ae050b0 commit 96c5586
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
8 changes: 8 additions & 0 deletions compiler/docgen.nim
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,10 @@ proc newDocumentor*(filename: AbsoluteFile; cache: IdentCache; conf: ConfigRef,
conf.configVars, filename.string,
docgenFindFile, compilerMsgHandler)

if conf.configVars.hasKey("doc.googleAnalytics") and
conf.configVars.hasKey("doc.plausibleAnalytics"):
doAssert false, "Either use googleAnalytics or plausibleAnalytics"

if conf.configVars.hasKey("doc.googleAnalytics"):
result.analytics = """
<script>
Expand All @@ -317,6 +321,10 @@ proc newDocumentor*(filename: AbsoluteFile; cache: IdentCache; conf: ConfigRef,
</script>
""" % [conf.configVars.getOrDefault"doc.googleAnalytics"]
elif conf.configVars.hasKey("doc.plausibleAnalytics"):
result.analytics = """
<script defer data-domain="$1" src="https://plausible.io/js/plausible.js"></script>
""" % [conf.configVars.getOrDefault"doc.plausibleAnalytics"]
else:
result.analytics = ""

Expand Down
5 changes: 1 addition & 4 deletions koch.nim
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,6 @@ Commands for core developers:
tests [options] run the testsuite (run a subset of tests by
specifying a category, e.g. `tests cat async`)
temp options creates a temporary compiler for testing
Web options:
--googleAnalytics:UA-... add the given google analytics code to the docs. To
build the official docs, use UA-48159761-1
"""

let kochExe* = when isMainModule: os.getAppFilename() # always correct when koch is main program, even if `koch` exe renamed e.g.: `nim c -o:koch_debug koch.nim`
Expand Down Expand Up @@ -679,7 +676,7 @@ when isMainModule:
case normalize(op.key)
of "boot": boot(op.cmdLineRest)
of "clean": clean(op.cmdLineRest)
of "doc", "docs": buildDocs(op.cmdLineRest, localDocsOnly, localDocsOut)
of "doc", "docs": buildDocs(op.cmdLineRest & paCode, localDocsOnly, localDocsOut)
of "doc0", "docs0":
# undocumented command for Araq-the-merciful:
buildDocs(op.cmdLineRest & gaCode)
Expand Down
1 change: 1 addition & 0 deletions tools/kochdocs.nim
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import "../compiler/nimpaths"

const
gaCode* = " --doc.googleAnalytics:UA-48159761-1"
paCode* = " --doc.plausibleAnalytics:nim-lang.org"
# errormax: subsequent errors are probably consequences of 1st one; a simple
# bug could cause unlimited number of errors otherwise, hard to debug in CI.
docDefines = "-d:nimExperimentalLinenoiseExtra"
Expand Down

0 comments on commit 96c5586

Please sign in to comment.