mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Add renderToMemory flag
Only useful for benchmark testing as the rendered content will be ... invisible.
This commit is contained in:
parent
87ca0d0cbe
commit
3b596b85d1
2 changed files with 16 additions and 0 deletions
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue