Remove page module dependence on opening files

The site is responsible for reading files, page only operates on
buffers.
This commit is contained in:
Noah Campbell
2013-09-04 16:57:17 -07:00
parent cb00917af6
commit d4d9da9f3a
5 changed files with 17 additions and 40 deletions

View File

@@ -131,7 +131,9 @@ func (s *Site) Process() (err error) {
s.initialize()
s.prepTemplates()
s.timerStep("initialize & template prep")
s.CreatePages()
if err = s.CreatePages(); err != nil {
return err
}
s.setupPrevNext()
s.timerStep("import pages")
if err = s.BuildSiteMeta(); err != nil {
@@ -272,13 +274,19 @@ func (s *Site) AbsUrlify() {
}
}
func (s *Site) CreatePages() {
func (s *Site) CreatePages() (err error) {
for _, fileName := range s.Files {
page := NewPage(fileName)
f, err := os.Open(fileName)
if err != nil {
return err
}
page, err := ReadFrom(f, fileName)
if err != nil {
return err
}
page.Site = s.Info
page.Tmpl = s.Tmpl
_ = s.setUrlPath(page)
page.Initalize()
s.setOutFile(page)
if s.Config.BuildDrafts || !page.Draft {
s.Pages = append(s.Pages, page)
@@ -286,6 +294,7 @@ func (s *Site) CreatePages() {
}
s.Pages.Sort()
return
}
func (s *Site) setupPrevNext() {