Fixed some bugs for publishing a first site
This commit is contained in:
parent
77d3ff4852
commit
3591e0c723
12 changed files with 86 additions and 30 deletions
|
|
@ -19,13 +19,23 @@ func New(fs fs.FS) *Provider {
|
|||
}
|
||||
}
|
||||
|
||||
func (p *Provider) ReadSite() (models.Sites, error) {
|
||||
func (p *Provider) ReadSite() (models.Site, error) {
|
||||
posts, err := p.ListPosts()
|
||||
if err != nil {
|
||||
return models.Sites{}, err
|
||||
return models.Site{}, err
|
||||
}
|
||||
|
||||
return models.Sites{
|
||||
meta := models.SiteMeta{}
|
||||
metaBytes, err := fs.ReadFile(p.fs, "site.yaml")
|
||||
if err != nil {
|
||||
return models.Site{}, err
|
||||
}
|
||||
if err := yaml.Unmarshal(metaBytes, &meta); err != nil {
|
||||
return models.Site{}, err
|
||||
}
|
||||
|
||||
return models.Site{
|
||||
Meta: meta,
|
||||
Posts: posts,
|
||||
}, nil
|
||||
}
|
||||
|
|
@ -60,7 +70,7 @@ func (p *Provider) ReadPost(path string) (*models.Post, error) {
|
|||
return nil, io.ErrUnexpectedEOF
|
||||
}
|
||||
|
||||
var meta models.Meta
|
||||
var meta models.PostMeta
|
||||
if err := yaml.Unmarshal(parts[1], &meta); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import (
|
|||
func TestProvider_ReadPost(t *testing.T) {
|
||||
t.Run("with meta", func(t *testing.T) {
|
||||
testFS := fstest.MapFS{
|
||||
"site.yaml": {Data: []byte(`base_url: https://example.com`)},
|
||||
"posts/test.md": {Data: []byte(`---
|
||||
date: 2026-02-18T19:59:00Z
|
||||
title: Test Post Here
|
||||
|
|
@ -44,7 +45,7 @@ This is just a test post.
|
|||
|
||||
post, err := pr.ReadPost("posts/test.md")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, models.Meta{}, post.Meta)
|
||||
assert.Equal(t, models.PostMeta{}, post.Meta)
|
||||
assert.Equal(t, "This is just a test post.\n", post.Content)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue