diff --git a/tool/build-html b/tool/build-html
index d9d0f83..75b38a3 100755
--- a/tool/build-html
+++ b/tool/build-html
@@ -1,4 +1,3 @@
#!/bin/bash
-mkdir -p /tmp/gbe-book-cache
ls src/0*/*.{go,sh} | xargs tool/build-html-inner > build/go-by-example.html
diff --git a/tool/src/build-html-inner.go b/tool/src/build-html-inner.go
index f7425ed..2ff93ac 100644
--- a/tool/src/build-html-inner.go
+++ b/tool/src/build-html-inner.go
@@ -37,8 +37,11 @@ func sha1Sum(s string) string {
b := h.Sum(nil)
return hex.EncodeToString(b)
}
+
+var cacheDir = "/tmp/gbe-book-cache"
+
func cachedRender(bin string, arg []string, src string) string {
- cachePath := "/tmp/gbe-book-cache/pygmentize" + "-" + strings.Join(arg, "-") + "-" + sha1Sum(src)
+ cachePath := cacheDir + "/pygmentize-" + strings.Join(arg, "-") + "-" + sha1Sum(src)
cacheBytes, cacheErr := ioutil.ReadFile(cachePath)
if cacheErr == nil {
return string(cacheBytes)
@@ -49,6 +52,11 @@ func cachedRender(bin string, arg []string, src string) string {
return string(renderBytes)
}
+func ensureCache() {
+ mkdirErr := os.MkdirAll(cacheDir, 0700)
+ check(mkdirErr)
+}
+
func readLines(path string) []string {
srcBytes, err := ioutil.ReadFile(path)
check(err)
@@ -85,6 +93,8 @@ func main() {
os.Exit(1)
}
+ ensureCache()
+
fmt.Print(`