mirror of
https://git.sr.ht/~adnano/kiln
synced 2024-10-30 09:23:09 +00:00
Fix atom feed generation
This commit is contained in:
parent
99befbf02b
commit
80b314ffb7
19
dir.go
19
dir.go
|
@ -18,7 +18,7 @@ type Dir struct {
|
|||
Pages []*Page // Pages in this directory.
|
||||
Dirs []*Dir // Subdirectories.
|
||||
index *Page // The index page.
|
||||
feeds map[string][]byte // Feeds.
|
||||
feed []byte // Atom feed.
|
||||
|
||||
inputExt string // input file extension
|
||||
outputExt string // output file extension
|
||||
|
@ -34,7 +34,6 @@ func NewDir(path string) *Dir {
|
|||
}
|
||||
return &Dir{
|
||||
Path: path,
|
||||
feeds: map[string][]byte{},
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -127,7 +126,7 @@ func (d *Dir) manipulate(cfg *Config) error {
|
|||
if err := tmpl.Execute(&b, feed); err != nil {
|
||||
return err
|
||||
}
|
||||
d.feeds[pathpkg.Join(d.Path, "atom.xml")] = b.Bytes()
|
||||
d.feed = b.Bytes()
|
||||
}
|
||||
|
||||
// Manipulate subdirectories
|
||||
|
@ -182,6 +181,20 @@ func (d *Dir) write(dstDir string, format Format) error {
|
|||
}
|
||||
}
|
||||
|
||||
// Write the atom feed
|
||||
if d.feed != nil {
|
||||
const path = "atom.xml"
|
||||
dstPath := pathpkg.Join(dstDir, path)
|
||||
os.MkdirAll(dstDir, 0755)
|
||||
f, err := os.Create(dstPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := f.Write(d.feed); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Write subdirectories
|
||||
for _, dir := range d.Dirs {
|
||||
dir.write(dstDir, format)
|
||||
|
|
Loading…
Reference in a new issue