summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-02-05 21:30:48 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-02-05 21:30:48 +0100
commit3b596b85d1c8de74c212a3402108bfa34014ac21 (patch)
tree77522a1b838b658f489ed067f53652bacae155d6 /commands
parent87ca0d0cbea19dd2c0aac44dc2731e6247a82ece (diff)
Add renderToMemory flag
Only useful for benchmark testing as the rendered content will be ... invisible.
Diffstat (limited to 'commands')
-rw-r--r--commands/benchmark.go1
-rw-r--r--commands/hugo.go15
2 files changed, 16 insertions, 0 deletions
diff --git a/commands/benchmark.go b/commands/benchmark.go
index f2b7964c0..c90f64516 100644
--- a/commands/benchmark.go
+++ b/commands/benchmark.go
@@ -34,6 +34,7 @@ creating a benchmark.`,
func init() {
initHugoBuilderFlags(benchmarkCmd)
+ initBenchmarkBuildingFlags(benchmarkCmd)
benchmarkCmd.Flags().StringVar(&cpuProfilefile, "cpuprofile", "", "path/filename for the CPU profile file")
benchmarkCmd.Flags().StringVar(&memProfilefile, "memprofile", "", "path/filename for the memory profile file")
diff --git a/commands/hugo.go b/commands/hugo.go
index 591101da1..ed3285097 100644
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -131,6 +131,7 @@ var (
logging bool
noTimes bool
pluralizeListTitles bool
+ renderToMemory bool // for benchmark testing
preserveTaxonomyNames bool
uglyURLs bool
verbose bool
@@ -223,6 +224,10 @@ func initHugoBuildCommonFlags(cmd *cobra.Command) {
}
+func initBenchmarkBuildingFlags(cmd *cobra.Command) {
+ cmd.Flags().BoolVar(&renderToMemory, "renderToMemory", false, "render to memory (only useful for benchmark testing)")
+}
+
// init initializes flags.
func init() {
hugoCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "verbose output")
@@ -231,6 +236,7 @@ func init() {
hugoCmd.PersistentFlags().BoolVar(&verboseLog, "verboseLog", false, "verbose logging")
initHugoBuilderFlags(hugoCmd)
+ initBenchmarkBuildingFlags(hugoCmd)
hugoCmd.Flags().BoolVarP(&buildWatch, "watch", "w", false, "watch filesystem for changes and recreate as needed")
hugoCmdV = hugoCmd
@@ -460,6 +466,15 @@ func watchConfig() {
func build(watches ...bool) error {
+ // Hugo writes the output to memory instead of the disk
+ // This is only used for benchmark testing. Cause the content is only visible
+ // in memory
+ if renderToMemory {
+ hugofs.DestinationFS = new(afero.MemMapFs)
+ // Rendering to memoryFS, publish to Root regardless of publishDir.
+ viper.Set("PublishDir", "/")
+ }
+
if err := copyStatic(); err != nil {
return fmt.Errorf("Error copying static files to %s: %s", helpers.AbsPathify(viper.GetString("PublishDir")), err)
}