Skip to content

Commit

Permalink
commands: Create default archetype on new site
Browse files Browse the repository at this point in the history
See #3626
  • Loading branch information
bep committed Jun 24, 2017
1 parent 4294dd8 commit bfa336d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
7 changes: 6 additions & 1 deletion commands/new.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,11 @@ func NewContent(cmd *cobra.Command, args []string) error {
}

func doNewSite(fs *hugofs.Fs, basepath string, force bool) error {
archeTypePath := filepath.Join(basepath, "archetypes")
dirs := []string{
filepath.Join(basepath, "layouts"),
filepath.Join(basepath, "content"),
filepath.Join(basepath, "archetypes"),
archeTypePath,
filepath.Join(basepath, "static"),
filepath.Join(basepath, "data"),
filepath.Join(basepath, "themes"),
Expand Down Expand Up @@ -190,6 +191,10 @@ func doNewSite(fs *hugofs.Fs, basepath string, force bool) error {

createConfig(fs, basepath, configFormat)

// Create a defaul archetype file.
helpers.SafeWriteToDisk(filepath.Join(archeTypePath, "default.md"),
strings.NewReader(create.ArchetypeTemplateTemplate), fs.Source)

jww.FEEDBACK.Printf("Congratulations! Your new Hugo site is created in %s.\n\n", basepath)
jww.FEEDBACK.Println(nextStepsText())

Expand Down
10 changes: 6 additions & 4 deletions create/content_template_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,13 @@ type ArchetypeFileData struct {
}

const (
archetypeTemplateTemplate = `---
ArchetypeTemplateTemplate = `---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
draft: true
---`
---
`
)

func executeArcheTypeAsTemplate(s *hugolib.Site, kind, targetPath, archetypeFilename string) ([]byte, error) {
Expand All @@ -75,7 +77,7 @@ func executeArcheTypeAsTemplate(s *hugolib.Site, kind, targetPath, archetypeFile

if archetypeFilename == "" {
// TODO(bep) archetype revive the issue about wrong tpl funcs arg order
archetypeTemplate = []byte(archetypeTemplateTemplate)
archetypeTemplate = []byte(ArchetypeTemplateTemplate)
} else {
archetypeTemplate, err = afero.ReadFile(s.Fs.Source, archetypeFilename)
if err != nil {
Expand Down Expand Up @@ -105,7 +107,7 @@ func executeArcheTypeAsTemplate(s *hugolib.Site, kind, targetPath, archetypeFile
s.Log.FEEDBACK.Println(fmt.Sprintf(`WARNING: date and/or title missing from archetype file %q.
From Hugo 0.24 this must be provided in the archetype file itself, if needed. Example:
%s
`, archetypeFilename, archetypeTemplateTemplate))
`, archetypeFilename, ArchetypeTemplateTemplate))

}

Expand Down

0 comments on commit bfa336d

Please sign in to comment.