diff options
Diffstat (limited to 'commands')
-rw-r--r-- | commands/hugo.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/commands/hugo.go b/commands/hugo.go index 01afaaa4c..0e7b755f7 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -237,6 +237,7 @@ func initRootPersistentFlags() { // initHugoBuildCommonFlags initialize common flags related to the Hugo build. // Called by initHugoBuilderFlags. func initHugoBuildCommonFlags(cmd *cobra.Command) { + cmd.Flags().Bool("cleanDestinationDir", false, "remove files from destination not found in static directories") cmd.Flags().BoolP("buildDrafts", "D", false, "include content marked as draft") cmd.Flags().BoolP("buildFuture", "F", false, "include content with publishdate in the future") cmd.Flags().BoolP("buildExpired", "E", false, "include expired content") @@ -483,6 +484,7 @@ func createLogger(cfg config.Provider) (*jww.Notepad, error) { func (c *commandeer) initializeFlags(cmd *cobra.Command) { persFlagKeys := []string{"debug", "verbose", "logFile"} flagKeys := []string{ + "cleanDestinationDir", "buildDrafts", "buildFuture", "buildExpired", @@ -722,6 +724,9 @@ func (c *commandeer) copyStaticTo(dirs *src.Dirs, publishDir string) (uint64, er syncer.NoChmod = c.Cfg.GetBool("noChmod") syncer.SrcFs = fs syncer.DestFs = c.Fs.Destination + // Now that we are using a unionFs for the static directories + // We can effectively clean the publishDir on initial sync + syncer.Delete = c.Cfg.GetBool("cleanDestinationDir") if syncer.Delete { c.Logger.INFO.Println("removing all files from destination that don't exist in static dirs") |