shithub: hugo

Download patch

ref: 0318f7c149f98eb2bcbb44b0ca1c7420379190eb
parent: e6ace71fecd075b96aa81b8daa3f3c368f27325f
author: spf13 <[email protected]>
date: Wed Oct 9 14:52:29 EDT 2013

Clean up server & build site logic. Fixed #94

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -19,8 +19,8 @@
 	"github.com/mostafah/fsync"
 	"github.com/spf13/cobra"
 	"github.com/spf13/hugo/hugolib"
+	"github.com/spf13/hugo/utils"
 	"github.com/spf13/nitro"
-	"log"
 	"os"
 	"path/filepath"
 	"strings"
@@ -36,7 +36,10 @@
 love by spf13 and friends in Go.
 
 Complete documentation is available at http://hugo.spf13.com`,
-	Run: build,
+	Run: func(cmd *cobra.Command, args []string) {
+		InitializeConfig()
+		build()
+	},
 }
 
 var Hugo *cobra.Commander
@@ -46,10 +49,7 @@
 func Execute() {
 	AddCommands()
 	Hugo := HugoCmd.ToCommander()
-	err := Hugo.Execute()
-	if err != nil {
-		os.Exit(-1)
-	}
+	utils.CheckErrExit(Hugo.Execute())
 }
 
 func AddCommands() {
@@ -84,25 +84,16 @@
 	}
 }
 
-func build(cmd *cobra.Command, args []string) {
-	InitializeConfig()
+func build() {
+	utils.CheckErr(copyStatic(), fmt.Sprintf("Error copying static files to %s", Config.GetAbsPath(Config.PublishDir)))
 
-	err := copyStatic()
-	if err != nil {
-		log.Fatalf("Error copying static files to %s: %v", Config.GetAbsPath(Config.PublishDir), err)
-	}
-	if _, err := buildSite(); err != nil {
-		fmt.Println(err)
-		os.Exit(-1)
-	}
+	_, e := buildSite()
+	utils.CheckErrExit(e)
 
 	if BuildWatch {
 		fmt.Println("Watching for changes in", Config.GetAbsPath(Config.ContentDir))
 		fmt.Println("Press ctrl+c to stop")
-		err := NewWatcher(0)
-		if err != nil {
-			fmt.Println(err)
-		}
+		utils.CheckErr(NewWatcher(0))
 	}
 }
 
--- a/commands/server.go
+++ b/commands/server.go
@@ -45,7 +45,7 @@
 		Config.BaseUrl = "http://localhost:" + strconv.Itoa(serverPort)
 	}
 
-	build(cmd, args)
+	build()
 
 	// Watch runs its own server as part of the routine
 	if serverWatch {
--- /dev/null
+++ b/utils/utils.go
@@ -1,0 +1,22 @@
+package utils
+
+import (
+	"log"
+	"os"
+)
+
+func CheckErr(err error, s ...string) {
+	if err != nil {
+		for _, message := range s {
+			log.Fatalf(message)
+		}
+		log.Fatalf("Fatal Error: %v", err)
+	}
+}
+
+func CheckErrExit(err error, s ...string) {
+	if err != nil {
+		CheckErr(err, s...)
+		os.Exit(-1)
+	}
+}