mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Adding error message when no content pages exists.
This commit is contained in:
		@@ -24,6 +24,7 @@ import (
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
	"errors"
 | 
			
		||||
	//"sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -59,10 +60,13 @@ func NewSite(config *Config) *Site {
 | 
			
		||||
	return &Site{c: *config, timer: nitro.Initalize()}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (site *Site) Build() {
 | 
			
		||||
	site.Process()
 | 
			
		||||
func (site *Site) Build() (err error) {
 | 
			
		||||
	if err = site.Process(); err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	site.Render()
 | 
			
		||||
	site.Write()
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (site *Site) Analyze() {
 | 
			
		||||
@@ -70,14 +74,17 @@ func (site *Site) Analyze() {
 | 
			
		||||
	site.checkDescriptions()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (site *Site) Process() {
 | 
			
		||||
func (site *Site) Process() (err error){
 | 
			
		||||
	site.initialize()
 | 
			
		||||
	site.prepTemplates()
 | 
			
		||||
	site.timer.Step("initialize & template prep")
 | 
			
		||||
	site.CreatePages()
 | 
			
		||||
	site.timer.Step("import pages")
 | 
			
		||||
	site.BuildSiteMeta()
 | 
			
		||||
	if err = site.BuildSiteMeta(); err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	site.timer.Step("build indexes")
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (site *Site) Render() {
 | 
			
		||||
@@ -213,7 +220,7 @@ func (s *Site) CreatePages() {
 | 
			
		||||
	s.Pages.Sort()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Site) BuildSiteMeta() {
 | 
			
		||||
func (s *Site) BuildSiteMeta() (err error) {
 | 
			
		||||
	s.Indexes = make(IndexList)
 | 
			
		||||
	s.Sections = make(Index)
 | 
			
		||||
 | 
			
		||||
@@ -243,8 +250,11 @@ func (s *Site) BuildSiteMeta() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	s.Info.Indexes = s.Indexes.BuildOrderedIndexList()
 | 
			
		||||
 | 
			
		||||
	if len(s.Pages) == 0 {
 | 
			
		||||
		return errors.New(fmt.Sprintf("Unable to build site metadata, no pages found in directory %s", s.c.ContentDir))
 | 
			
		||||
	}
 | 
			
		||||
	s.Info.LastChange = s.Pages[0].Date
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Site) RenderPages() {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								main.go
									
									
									
									
									
								
							@@ -90,7 +90,7 @@ func main() {
 | 
			
		||||
		defer pprof.StopCPUProfile()
 | 
			
		||||
 | 
			
		||||
		for i := 0; i < *cpuprofile; i++ {
 | 
			
		||||
			_ = buildSite(config)
 | 
			
		||||
			_, _ = buildSite(config)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -108,15 +108,20 @@ func main() {
 | 
			
		||||
 | 
			
		||||
	if *watchMode {
 | 
			
		||||
		fmt.Println("Watching for changes. Press ctrl+c to stop")
 | 
			
		||||
		_ = buildSite(config)
 | 
			
		||||
		_, err = buildSite(config)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Println(err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		err := NewWatcher(config, *port, *server)
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Println(err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_ = buildSite(config)
 | 
			
		||||
	if _, err = buildSite(config); err != nil {
 | 
			
		||||
		fmt.Println(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if *server {
 | 
			
		||||
		serve(*port, config)
 | 
			
		||||
@@ -135,13 +140,16 @@ func serve(port string, config *hugolib.Config) {
 | 
			
		||||
	panic(http.ListenAndServe(":"+port, http.FileServer(http.Dir(config.GetAbsPath(config.PublishDir)))))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func buildSite(config *hugolib.Config) *hugolib.Site {
 | 
			
		||||
func buildSite(config *hugolib.Config) (site *hugolib.Site, err error) {
 | 
			
		||||
	startTime := time.Now()
 | 
			
		||||
	site := hugolib.NewSite(config)
 | 
			
		||||
	site.Build()
 | 
			
		||||
	site = hugolib.NewSite(config)
 | 
			
		||||
	err = site.Build()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	site.Stats()
 | 
			
		||||
	fmt.Printf("in %v ms\n", int(1000*time.Since(startTime).Seconds()))
 | 
			
		||||
	return site
 | 
			
		||||
	return site, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func watchChange(c *hugolib.Config) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user