ref: be0d9770095a6497a69a610783a5710982591084
parent: bee52f85aee6383b357406baa9ba1e3b725a5a80
author: bep <[email protected]>
date: Wed Apr 15 22:27:37 EDT 2015
Only write highlight to cache when CacheDir is set To avoid writing cache files when testing.
--- a/helpers/pygments.go
+++ b/helpers/pygments.go
@@ -60,29 +60,34 @@
io.WriteString(hash, lang)
io.WriteString(hash, options)
- cachefile := filepath.Join(viper.GetString("CacheDir"), fmt.Sprintf("pygments-%x", hash.Sum(nil)))
-
fs := hugofs.OsFs
- exists, err := Exists(cachefile, fs)
- if err != nil {
- jww.ERROR.Print(err.Error())
- return code
- }
- if exists {
- f, err := fs.Open(cachefile)
- if err != nil {
- jww.ERROR.Print(err.Error())
- return code
- }
+ cacheDir := viper.GetString("CacheDir")
+ var cachefile string
- s, err := ioutil.ReadAll(f)
+ if cacheDir != "" {
+ cachefile = filepath.Join(cacheDir, fmt.Sprintf("pygments-%x", hash.Sum(nil)))
+
+ exists, err := Exists(cachefile, fs)
if err != nil {
jww.ERROR.Print(err.Error())
return code
}
+ if exists {
+ f, err := fs.Open(cachefile)
+ if err != nil {
+ jww.ERROR.Print(err.Error())
+ return code
+ }
- return string(s)
+ s, err := ioutil.ReadAll(f)
+ if err != nil {
+ jww.ERROR.Print(err.Error())
+ return code
+ }
+
+ return string(s)
+ }
}
// No cache file, render and cache it
@@ -99,9 +104,11 @@
return code
}
- // Write cache file
- if err := WriteToDisk(cachefile, bytes.NewReader(out.Bytes()), fs); err != nil {
- jww.ERROR.Print(stderr.String())
+ if cachefile != "" {
+ // Write cache file
+ if err := WriteToDisk(cachefile, bytes.NewReader(out.Bytes()), fs); err != nil {
+ jww.ERROR.Print(stderr.String())
+ }
}
return out.String()