From 37fb2d43e5d3ecfd1f16324556d85e202fadcc73 Mon Sep 17 00:00:00 2001 From: Robert Basic Date: Sun, 10 Apr 2016 10:11:00 +0200 Subject: [PATCH] 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 --- docs/content/extras/highlighting.md | 1 + helpers/pygments.go | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/content/extras/highlighting.md b/docs/content/extras/highlighting.md index 788759d03..1efa9a0dc 100644 --- a/docs/content/extras/highlighting.md +++ b/docs/content/extras/highlighting.md @@ -106,6 +106,7 @@ It is also possible to add syntax highlighting with GitHub flavoured code fences ### 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 diff --git a/helpers/pygments.go b/helpers/pygments.go index 637f61b19..38266b267 100644 --- a/helpers/pygments.go +++ b/helpers/pygments.go @@ -62,10 +62,11 @@ func Highlight(code, lang, optsStr string) string { 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 @@ func Highlight(code, lang, optsStr string) string { str = strings.Replace(str, "", "", 1) } - if cachefile != "" { + if !ignoreCache && cachefile != "" { // Write cache file if err := WriteToDisk(cachefile, strings.NewReader(str), fs); err != nil { jww.ERROR.Print(stderr.String())