mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-12 20:13:59 +02:00
commands, create: Add .Site to the archetype templates
This commit completes the "The Revival of the Archetypes!" If `.Site` is used in the arcetype template, the site is built and added to the template context. Note that this may be potentially time consuming for big sites. A more complete example would then be for the section `newsletter` and the archetype file `archetypes/newsletter.md`: ``` --- title: "{{ replace .TranslationBaseName "-" " " | title }}" date: {{ .Date }} tags: - x categories: - x draft: true --- <!--more--> {{ range first 10 ( where .Site.RegularPages "Type" "cool" ) }} * {{ .Title }} {{ end }} ``` And then create a new post with: ```bash hugo new newsletter/the-latest-cool.stuff.md ``` **Hot Tip:** If you set the `newContentEditor` configuration variable to an editor on your `PATH`, the newly created article will be opened. The above _newsletter type archetype_ illustrates the possibilities: The full Hugo `.Site` and all of Hugo's template funcs can be used in the archetype file. Fixes #1629
This commit is contained in:
@@ -52,7 +52,10 @@ type PathSpec struct {
|
||||
multilingual bool
|
||||
|
||||
// The file systems to use
|
||||
fs *hugofs.Fs
|
||||
Fs *hugofs.Fs
|
||||
|
||||
// The config provider to use
|
||||
Cfg config.Provider
|
||||
}
|
||||
|
||||
func (p PathSpec) String() string {
|
||||
@@ -70,7 +73,8 @@ func NewPathSpec(fs *hugofs.Fs, cfg config.Provider) (*PathSpec, error) {
|
||||
}
|
||||
|
||||
ps := &PathSpec{
|
||||
fs: fs,
|
||||
Fs: fs,
|
||||
Cfg: cfg,
|
||||
disablePathToLower: cfg.GetBool("disablePathToLower"),
|
||||
removePathAccents: cfg.GetBool("removePathAccents"),
|
||||
uglyURLs: cfg.GetBool("uglyURLs"),
|
||||
|
Reference in New Issue
Block a user