URI: 
       commands: Make the server flag --renderToDisk into --renderToMemory (note) - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 9c6d377872885fb28f4d8534d6765432e6c23ab6
   DIR parent 58d7f83390641ca254be4e436ddc4139788af87a
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Mon,  5 Feb 2024 09:44:28 +0100
       
       commands: Make the server flag --renderToDisk into --renderToMemory (note)
       
       Fixes #11987
       
       Diffstat:
         M commands/commandeer.go              |      11 ++++-------
         M commands/hugobuilder.go             |       2 +-
         M commands/server.go                  |      23 +++++++++++++----------
         M testscripts/commands/server.txt     |       2 +-
         M testscripts/commands/server__edit_… |       2 +-
         M testscripts/commands/server__edit_… |       2 +-
         M testscripts/commands/server__multi… |       2 +-
         M testscripts/commands/server__watch… |       2 +-
         M testscripts/commands/server__watch… |       2 +-
         M testscripts/commands/server_disabl… |       2 +-
         M testscripts/commands/server_disabl… |       2 +-
         M testscripts/commands/server_render… |       2 +-
         M testscripts/commands/server_render… |       2 +-
       
       13 files changed, 28 insertions(+), 28 deletions(-)
       ---
   DIR diff --git a/commands/commandeer.go b/commands/commandeer.go
       @@ -203,9 +203,6 @@ func (r *rootCommand) ConfigFromProvider(key int32, cfg config.Provider) (*commo
                                cfg = config.New()
                        }
        
       -                if !cfg.IsSet("renderToDisk") {
       -                        cfg.Set("renderToDisk", true)
       -                }
                        if !cfg.IsSet("workingDir") {
                                cfg.Set("workingDir", dir)
                        } else {
       @@ -239,9 +236,7 @@ func (r *rootCommand) ConfigFromProvider(key int32, cfg config.Provider) (*commo
        
                        sourceFs := hugofs.Os
                        var destinationFs afero.Fs
       -                if cfg.GetBool("renderToDisk") {
       -                        destinationFs = hugofs.Os
       -                } else {
       +                if cfg.GetBool("renderToMemory") {
                                destinationFs = afero.NewMemMapFs()
                                if renderStaticToDisk {
                                        // Hybrid, render dynamic content to Root.
       @@ -251,6 +246,8 @@ func (r *rootCommand) ConfigFromProvider(key int32, cfg config.Provider) (*commo
                                        cfg.Set("publishDirDynamic", "/")
                                        cfg.Set("publishDirStatic", "/")
                                }
       +                } else {
       +                        destinationFs = hugofs.Os
                        }
        
                        fs := hugofs.NewFromSourceAndDestination(sourceFs, destinationFs, cfg)
       @@ -498,6 +495,7 @@ Complete documentation is available at https://gohugo.io/.`
                cmd.PersistentFlags().StringVar(&r.cfgFile, "config", "", "config file (default is hugo.yaml|json|toml)")
                cmd.PersistentFlags().StringVar(&r.cfgDir, "configDir", "config", "config dir")
                cmd.PersistentFlags().BoolVar(&r.quiet, "quiet", false, "build in quiet mode")
       +        cmd.PersistentFlags().BoolVar(&r.renderToMemory, "renderToMemory", false, "render to memory (mostly useful when running the server)")
        
                // Set bash-completion
                _ = cmd.PersistentFlags().SetAnnotation("config", cobra.BashCompFilenameExt, config.ValidConfigFileExtensions)
       @@ -506,7 +504,6 @@ Complete documentation is available at https://gohugo.io/.`
                cmd.PersistentFlags().BoolVarP(&r.debug, "debug", "", false, "debug output")
                cmd.PersistentFlags().StringVar(&r.logLevel, "logLevel", "", "log level (debug|info|warn|error)")
                cmd.Flags().BoolVarP(&r.buildWatch, "watch", "w", false, "watch filesystem for changes and recreate as needed")
       -        cmd.Flags().BoolVar(&r.renderToMemory, "renderToMemory", false, "render to memory (only useful for benchmark testing)")
        
                // Configure local flags
                applyLocalFlagsBuild(cmd, r)
   DIR diff --git a/commands/hugobuilder.go b/commands/hugobuilder.go
       @@ -928,7 +928,7 @@ func (c *hugoBuilder) hugoTry() *hugolib.HugoSites {
        
        func (c *hugoBuilder) loadConfig(cd *simplecobra.Commandeer, running bool) error {
                cfg := config.New()
       -        cfg.Set("renderToDisk", (c.s == nil && !c.r.renderToMemory) || (c.s != nil && c.s.renderToDisk))
       +        cfg.Set("renderToMemory", c.r.renderToMemory)
                watch := c.r.buildWatch || (c.s != nil && c.s.serverWatch)
                if c.r.environment == "" {
                        // We need to set the environment as early as possible because we need it to load the correct config.
   DIR diff --git a/commands/server.go b/commands/server.go
       @@ -239,12 +239,14 @@ func (f *fileServer) createEndpoint(i int) (*http.ServeMux, net.Listener, string
                r.Printf("Environment: %q\n", f.c.hugoTry().Deps.Site.Hugo().Environment)
        
                if i == 0 {
       -                if f.c.renderToDisk {
       -                        r.Println("Serving pages from disk")
       -                } else if f.c.renderStaticToDisk {
       -                        r.Println("Serving pages from memory and static files from disk")
       +                mainTarget := "disk"
       +                if f.c.r.renderToMemory {
       +                        mainTarget = "memory"
       +                }
       +                if f.c.renderStaticToDisk {
       +                        r.Printf("Serving pages from %s and static files from disk\n", mainTarget)
                        } else {
       -                        r.Println("Serving pages from memory")
       +                        r.Printf("Serving pages from %s\n", mainTarget)
                        }
                }
        
       @@ -444,7 +446,6 @@ type serverCommand struct {
                doLiveReload bool
        
                // Flags.
       -        renderToDisk        bool
                renderStaticToDisk  bool
                navigateToChanged   bool
                serverAppend        bool
       @@ -516,8 +517,9 @@ func (c *serverCommand) Init(cd *simplecobra.Commandeer) error {
                cmd.Long = `Hugo provides its own webserver which builds and serves the site.
        While hugo server is high performance, it is a webserver with limited options.
        
       -'hugo server' will avoid writing the rendered and served content to disk,
       -preferring to store it in memory.
       +'hugo server' will by default write and server files from disk, but you can
       +render to memory by using the '--renderToMemory' flag. This can be faster
       +in some cases, but it will consume more memory.
        
        By default hugo will also watch your files for any changes you make and
        automatically rebuild the site. It will then live reload any open browser pages
       @@ -537,7 +539,6 @@ of a second, you will be able to save and see your changes nearly instantly.`
                cmd.Flags().BoolVarP(&c.serverAppend, "appendPort", "", true, "append port to baseURL")
                cmd.Flags().BoolVar(&c.disableLiveReload, "disableLiveReload", false, "watch without enabling live browser reload on rebuild")
                cmd.Flags().BoolVar(&c.navigateToChanged, "navigateToChanged", false, "navigate to changed content file on live browser reload")
       -        cmd.Flags().BoolVar(&c.renderToDisk, "renderToDisk", false, "serve all files from disk (default is from memory)")
                cmd.Flags().BoolVar(&c.renderStaticToDisk, "renderStaticToDisk", false, "serve static files from disk and dynamic files from memory")
                cmd.Flags().BoolVar(&c.disableFastRender, "disableFastRender", false, "enables full re-renders on changes")
                cmd.Flags().BoolVar(&c.disableBrowserError, "disableBrowserError", false, "do not show build errors in the browser")
       @@ -589,7 +590,9 @@ func (c *serverCommand) PreRun(cd, runner *simplecobra.Commandeer) error {
                )
        
                destinationFlag := cd.CobraCommand.Flags().Lookup("destination")
       -        c.renderToDisk = c.renderToDisk || (destinationFlag != nil && destinationFlag.Changed)
       +        if c.r.renderToMemory && (destinationFlag != nil && destinationFlag.Changed) {
       +                return fmt.Errorf("cannot use --renderToMemory with --destination")
       +        }
                c.doLiveReload = !c.disableLiveReload
                c.fastRenderMode = !c.disableFastRender
                c.showErrorInBrowser = c.doLiveReload && !c.disableBrowserError
   DIR diff --git a/testscripts/commands/server.txt b/testscripts/commands/server.txt
       @@ -1,7 +1,7 @@
        # Test the hugo server command.
        
        # We run these tests in parallel so let Hugo decide which port to use.
       -hugo server --gc &
       +hugo server --renderToMemory --gc &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server__edit_config.txt b/testscripts/commands/server__edit_config.txt
       @@ -1,7 +1,7 @@
        # Test the hugo server command when editing the config file.
        
        # We run these tests in parallel so let Hugo decide which port to use.
       -hugo server &
       +hugo server --renderToMemory &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server__edit_content.txt b/testscripts/commands/server__edit_content.txt
       @@ -2,7 +2,7 @@
        
        # We run these tests in parallel so let Hugo decide which port to use.
        # Render to disk so we can check the /public dir.
       -hugo server --renderToDisk &
       +hugo server &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server__multihost.txt b/testscripts/commands/server__multihost.txt
       @@ -1,7 +1,7 @@
        # Test the hugo server command.
        
        # We run these tests in parallel so let Hugo decide which port to use.
       -hugo server &
       +hugo server --renderToMemory &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server__watch_hugo_stats.txt b/testscripts/commands/server__watch_hugo_stats.txt
       @@ -1,4 +1,4 @@
       -hugo server  &
       +hugo server  --renderToMemory &
        
        waitServer
        stopServer
   DIR diff --git a/testscripts/commands/server__watch_moduleconfig.txt b/testscripts/commands/server__watch_moduleconfig.txt
       @@ -1,4 +1,4 @@
       -hugo server --disableLiveReload  &
       +hugo server --renderToMemory --disableLiveReload  &
        
        waitServer
        stopServer
   DIR diff --git a/testscripts/commands/server_disablelivereload.txt b/testscripts/commands/server_disablelivereload.txt
       @@ -1,4 +1,4 @@
       -hugo server --renderToDisk --disableLiveReload &
       +hugo server --disableLiveReload &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server_disablelivereload__config.txt b/testscripts/commands/server_disablelivereload__config.txt
       @@ -1,4 +1,4 @@
       -hugo server --renderToDisk &
       +hugo server &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server_render_static_to_disk.txt b/testscripts/commands/server_render_static_to_disk.txt
       @@ -1,7 +1,7 @@
        # Test the hugo server command.
        
        # We run these tests in parallel so let Hugo decide which port to use.
       -hugo server --renderStaticToDisk &
       +hugo server --renderToMemory --renderStaticToDisk &
        
        waitServer
        
   DIR diff --git a/testscripts/commands/server_render_to_memory.txt b/testscripts/commands/server_render_to_memory.txt
       @@ -2,7 +2,7 @@
        
        # We run these tests in parallel so let Hugo decide which port to use.
        # Deliberately using the alias 'serve' here.
       -hugo serve &
       +hugo serve --renderToMemory &
        
        waitServer