mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-27 14:10:31 +03:00
Revert "Revert "Allow rendering static files to disk and dynamic to memory in server mode""
This reverts commit 64b7b7a897
.
This commit is contained in:
parent
9e360d3844
commit
0a56f2af4e
8 changed files with 69 additions and 25 deletions
|
@ -94,6 +94,7 @@ type commandeer struct {
|
|||
languagesConfigured bool
|
||||
languages langs.Languages
|
||||
doLiveReload bool
|
||||
renderStaticToDisk bool
|
||||
fastRenderMode bool
|
||||
showErrorInBrowser bool
|
||||
wasError bool
|
||||
|
@ -375,8 +376,9 @@ func (c *commandeer) loadConfig() error {
|
|||
}
|
||||
|
||||
createMemFs := config.GetBool("renderToMemory")
|
||||
c.renderStaticToDisk = config.GetBool("renderStaticToDisk")
|
||||
|
||||
if createMemFs {
|
||||
if createMemFs && !c.renderStaticToDisk {
|
||||
// Rendering to memoryFS, publish to Root regardless of publishDir.
|
||||
config.Set("publishDir", "/")
|
||||
}
|
||||
|
@ -387,6 +389,14 @@ func (c *commandeer) loadConfig() error {
|
|||
if c.destinationFs != nil {
|
||||
// Need to reuse the destination on server rebuilds.
|
||||
fs.Destination = c.destinationFs
|
||||
} else if createMemFs && c.renderStaticToDisk {
|
||||
// Writes the dynamic output on memory,
|
||||
// while serve others directly from publishDir
|
||||
publishDir := config.GetString("publishDir")
|
||||
writableFs := afero.NewBasePathFs(afero.NewMemMapFs(), publishDir)
|
||||
publicFs := afero.NewOsFs()
|
||||
fs.Destination = afero.NewCopyOnWriteFs(afero.NewReadOnlyFs(publicFs), writableFs)
|
||||
fs.DestinationStatic = publicFs
|
||||
} else if createMemFs {
|
||||
// Hugo writes the output to memory instead of the disk.
|
||||
fs.Destination = new(afero.MemMapFs)
|
||||
|
@ -404,11 +414,13 @@ func (c *commandeer) loadConfig() error {
|
|||
|
||||
changeDetector.PrepareNew()
|
||||
fs.Destination = hugofs.NewHashingFs(fs.Destination, changeDetector)
|
||||
fs.DestinationStatic = hugofs.NewHashingFs(fs.DestinationStatic, changeDetector)
|
||||
c.changeDetector = changeDetector
|
||||
}
|
||||
|
||||
if c.Cfg.GetBool("logPathWarnings") {
|
||||
fs.Destination = hugofs.NewCreateCountingFs(fs.Destination)
|
||||
fs.DestinationStatic = hugofs.NewCreateCountingFs(fs.DestinationStatic)
|
||||
}
|
||||
|
||||
// To debug hard-to-find path issues.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue