ref: be0d9770095a6497a69a610783a5710982591084
parent: bee52f85aee6383b357406baa9ba1e3b725a5a80
author: bep <bjorn.erik.pedersen@gmail.com>
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()
--
⑨