mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
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
This commit is contained in:
parent
c0cf1a7e37
commit
37fb2d43e5
2 changed files with 4 additions and 2 deletions
|
@ -106,6 +106,7 @@ It is also possible to add syntax highlighting with GitHub flavoured code fences
|
||||||
### Disclaimers
|
### 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.
|
* 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.
|
* Languages available depends on your Pygments installation.
|
||||||
|
|
||||||
## Client-side
|
## Client-side
|
||||||
|
|
|
@ -62,10 +62,11 @@ func Highlight(code, lang, optsStr string) string {
|
||||||
|
|
||||||
fs := hugofs.Os()
|
fs := hugofs.Os()
|
||||||
|
|
||||||
|
ignoreCache := viper.GetBool("IgnoreCache")
|
||||||
cacheDir := viper.GetString("CacheDir")
|
cacheDir := viper.GetString("CacheDir")
|
||||||
var cachefile string
|
var cachefile string
|
||||||
|
|
||||||
if cacheDir != "" {
|
if !ignoreCache && cacheDir != "" {
|
||||||
cachefile = filepath.Join(cacheDir, fmt.Sprintf("pygments-%x", hash.Sum(nil)))
|
cachefile = filepath.Join(cacheDir, fmt.Sprintf("pygments-%x", hash.Sum(nil)))
|
||||||
|
|
||||||
exists, err := Exists(cachefile, fs)
|
exists, err := Exists(cachefile, fs)
|
||||||
|
@ -120,7 +121,7 @@ func Highlight(code, lang, optsStr string) string {
|
||||||
str = strings.Replace(str, "</pre>", "</code></pre>", 1)
|
str = strings.Replace(str, "</pre>", "</code></pre>", 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if cachefile != "" {
|
if !ignoreCache && cachefile != "" {
|
||||||
// Write cache file
|
// Write cache file
|
||||||
if err := WriteToDisk(cachefile, strings.NewReader(str), fs); err != nil {
|
if err := WriteToDisk(cachefile, strings.NewReader(str), fs); err != nil {
|
||||||
jww.ERROR.Print(stderr.String())
|
jww.ERROR.Print(stderr.String())
|
||||||
|
|
Loading…
Reference in a new issue