shithub: hugo

Download patch

ref: 37fb2d43e5d3ecfd1f16324556d85e202fadcc73
parent: c0cf1a7e37efd4b0ba8fcbec2b53632303861303
author: Robert Basic <[email protected]>
date: Sun Apr 10 06:11:00 EDT 2016

helpers: Ignore cache for Pygments when flag set

When the --ignoreCache flag is set to true, do not write and read
the Pygments results to/from the cache directory.

Fixes #2066
Closes #2068

--- a/docs/content/extras/highlighting.md
+++ b/docs/content/extras/highlighting.md
@@ -106,6 +106,7 @@
 ### Disclaimers
 
  * Pygments is relatively slow and _causes a performance hit when building your site_, but Hugo has been designed to cache the results to disk.
+ * The caching can be turned off by setting the `--ignoreCache` flag to `true`.
  * Languages available depends on your Pygments installation.
 
 ## Client-side
--- a/helpers/pygments.go
+++ b/helpers/pygments.go
@@ -62,10 +62,11 @@
 
 	fs := hugofs.Os()
 
+	ignoreCache := viper.GetBool("IgnoreCache")
 	cacheDir := viper.GetString("CacheDir")
 	var cachefile string
 
-	if cacheDir != "" {
+	if !ignoreCache && cacheDir != "" {
 		cachefile = filepath.Join(cacheDir, fmt.Sprintf("pygments-%x", hash.Sum(nil)))
 
 		exists, err := Exists(cachefile, fs)
@@ -120,7 +121,7 @@
 		str = strings.Replace(str, "</pre>", "</code></pre>", 1)
 	}
 
-	if cachefile != "" {
+	if !ignoreCache && cachefile != "" {
 		// Write cache file
 		if err := WriteToDisk(cachefile, strings.NewReader(str), fs); err != nil {
 			jww.ERROR.Print(stderr.String())