ref: 24cb0d1f5801cc8b4dcbbf99ffb463e2e02c5dd3
parent: 5d50c46482d231efa26c95e4705e720fb9bf753c
author: Robert Basic <[email protected]>
date: Sun Apr 10 08:11:18 EDT 2016
tpl: Do not write to cache when ignoring cache Fixes #2067 Closes #2069
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -222,7 +222,7 @@
cmd.Flags().StringVarP(&contentDir, "contentDir", "c", "", "filesystem path to content directory")
cmd.Flags().StringVarP(&layoutDir, "layoutDir", "l", "", "filesystem path to layout directory")
cmd.Flags().StringVarP(&cacheDir, "cacheDir", "", "", "filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/")
- cmd.Flags().BoolVarP(&ignoreCache, "ignoreCache", "", false, "Ignores the cache directory for reading but still writes to it")
+ cmd.Flags().BoolVarP(&ignoreCache, "ignoreCache", "", false, "Ignores the cache directory")
cmd.Flags().StringVarP(&destination, "destination", "d", "", "filesystem path to write files to")
cmd.Flags().StringVarP(&theme, "theme", "t", "", "theme to use (located in /themes/THEMENAME/)")
cmd.Flags().BoolVar(&uglyURLs, "uglyURLs", false, "if true, use /filename.html instead of /filename/")
--- a/docs/content/extras/datadrivencontent.md
+++ b/docs/content/extras/datadrivencontent.md
@@ -103,9 +103,8 @@
With the command-line flag `--cacheDir`, you can specify any folder on
your system as a caching directory.
-If you don't like caching at all, you can fully disable to read from the
-cache with the command line flag `--ignoreCache`. However, Hugo will always
-write, on each build of the site, to the cache folder (silent backup).
+If you don't like caching at all, you can fully disable caching with the
+command line flag `--ignoreCache`.
### Authentication when using REST URLs
--- a/docs/content/overview/usage.md
+++ b/docs/content/overview/usage.md
@@ -48,7 +48,7 @@
--disableSitemap=false: Do not build Sitemap file
--editor="": edit new content with this editor, if provided
-h, --help=false: help for hugo
- --ignoreCache=false: Ignores the cache directory for reading but still writes to it
+ --ignoreCache=false: Ignores the cache directory
--log=false: Enable Logging
--logFile="": Log File path (if set, logging enabled automatically)
--noTimes=false: Don't sync modification time of files
--- a/tpl/template_resources.go
+++ b/tpl/template_resources.go
@@ -92,7 +92,10 @@
}
// resWriteCache writes bytes to an ID into the file cache
-func resWriteCache(id string, c []byte, fs afero.Fs) error {
+func resWriteCache(id string, c []byte, fs afero.Fs, ignoreCache bool) error {
+ if ignoreCache {
+ return nil
+ }
fID := getCacheFileID(id)
f, err := fs.Create(fID)
if err != nil {
@@ -147,7 +150,7 @@
if err != nil {
return nil, err
}
- err = resWriteCache(url, c, fs)
+ err = resWriteCache(url, c, fs, viper.GetBool("IgnoreCache"))
if err != nil {
return nil, err
}
--- a/tpl/template_resources_test.go
+++ b/tpl/template_resources_test.go
@@ -58,7 +58,7 @@
t.Errorf("There is content where there should not be anything: %s", string(c))
}
- err = resWriteCache(test.path, test.content, fs)
+ err = resWriteCache(test.path, test.content, fs, test.ignore)
if err != nil {
t.Errorf("Error writing cache: %s", err)
}