mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-29 22:29:56 +02:00
Only write highlight to cache when CacheDir is set
To avoid writing cache files when testing.
This commit is contained in:
@@ -60,10 +60,14 @@ func Highlight(code, lang, optsStr string) string {
|
||||
io.WriteString(hash, lang)
|
||||
io.WriteString(hash, options)
|
||||
|
||||
cachefile := filepath.Join(viper.GetString("CacheDir"), fmt.Sprintf("pygments-%x", hash.Sum(nil)))
|
||||
|
||||
fs := hugofs.OsFs
|
||||
|
||||
cacheDir := viper.GetString("CacheDir")
|
||||
var cachefile string
|
||||
|
||||
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())
|
||||
@@ -84,6 +88,7 @@ func Highlight(code, lang, optsStr string) string {
|
||||
|
||||
return string(s)
|
||||
}
|
||||
}
|
||||
|
||||
// No cache file, render and cache it
|
||||
var out bytes.Buffer
|
||||
@@ -99,10 +104,12 @@ func Highlight(code, lang, optsStr string) string {
|
||||
return code
|
||||
}
|
||||
|
||||
if cachefile != "" {
|
||||
// Write cache file
|
||||
if err := WriteToDisk(cachefile, bytes.NewReader(out.Bytes()), fs); err != nil {
|
||||
jww.ERROR.Print(stderr.String())
|
||||
}
|
||||
}
|
||||
|
||||
return out.String()
|
||||
}
|
||||
|
Reference in New Issue
Block a user