Permalink
Browse files

create: Fix archetype regression when no archetype file

Fixes #3626
  • Loading branch information...
bep committed Jun 22, 2017
1 parent 4c3fa73 commit 4294dd8d9d22bd8107b7904d5389967da1f83f27
Showing with 18 additions and 14 deletions.
  1. +11 −7 create/content.go
  2. +5 −5 create/content_template_handler.go
  3. +2 −2 create/content_test.go
View
@@ -36,15 +36,19 @@ func NewContent(
archetypeFilename := findArchetype(ps, kind, ext)
f, err := ps.Fs.Source.Open(archetypeFilename)
if err != nil {
return err
}
defer f.Close()
// Building the sites can be expensive, so only do it if really needed.
siteUsed := false
if helpers.ReaderContains(f, []byte(".Site")) {
siteUsed = true
if archetypeFilename != "" {
f, err := ps.Fs.Source.Open(archetypeFilename)
if err != nil {
return err
}
defer f.Close()
if helpers.ReaderContains(f, []byte(".Site")) {
siteUsed = true
}
}
s, err := siteFactory(targetPath, siteUsed)
@@ -48,11 +48,11 @@ type ArchetypeFileData struct {
}
const (
archetypeTemplateTemplate = `+++
title = "{{ replace .TranslationBaseName "-" " " | title }}"
date = {{ .Date }}
draft = true
+++`
archetypeTemplateTemplate = `---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
draft: true
---`
)
func executeArcheTypeAsTemplate(s *hugolib.Site, kind, targetPath, archetypeFilename string) ([]byte, error) {
View
@@ -46,8 +46,8 @@ func TestNewContent(t *testing.T) {
{"post", "post/sample-1.md", []string{`title = "Post Arch title"`, `test = "test1"`, "date = \"2015-01-12T19:20:04-07:00\""}},
{"post", "post/org-1.org", []string{`#+title: ORG-1`}},
{"emptydate", "post/sample-ed.md", []string{`title = "Empty Date Arch title"`, `test = "test1"`}},
{"stump", "stump/sample-2.md", []string{`title = "Sample 2"`}}, // no archetype file
{"", "sample-3.md", []string{`title = "Sample 3"`}}, // no archetype
{"stump", "stump/sample-2.md", []string{`title: "Sample 2"`}}, // no archetype file
{"", "sample-3.md", []string{`title: "Sample 3"`}}, // no archetype
{"product", "product/sample-4.md", []string{`title = "SAMPLE-4"`}}, // empty archetype front matter
}

0 comments on commit 4294dd8

Please sign in to comment.