From 18a593d2b1ab5182471b84148da6acaa9c76a6ac Mon Sep 17 00:00:00 2001 From: Niko Abeler Date: Thu, 1 Dec 2022 19:15:16 +0100 Subject: [PATCH] allow definition of primary feed/list --- user.go | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/user.go b/user.go index 98e1ce1..a6d419b 100644 --- a/user.go +++ b/user.go @@ -20,13 +20,14 @@ type User struct { } type UserConfig struct { - Title string `yaml:"title"` - SubTitle string `yaml:"subtitle"` - HeaderColor string `yaml:"header_color"` - AuthorName string `yaml:"author_name"` - Me []UserMe `yaml:"me"` - PassworHash string `yaml:"password_hash"` - Lists []PostList `yaml:"lists"` + Title string `yaml:"title"` + SubTitle string `yaml:"subtitle"` + HeaderColor string `yaml:"header_color"` + AuthorName string `yaml:"author_name"` + Me []UserMe `yaml:"me"` + PassworHash string `yaml:"password_hash"` + Lists []PostList `yaml:"lists"` + PrimaryListInclude []string `yaml:"primary_list_include"` } type PostList struct { @@ -240,19 +241,16 @@ func (user User) PublishedPosts() ([]*Post, error) { } func (user User) PrimaryFeedPosts() ([]*Post, error) { - posts, _ := user.PublishedPosts() - - // remove non-primary feed posts - n := 0 - for _, post := range posts { - meta := post.Meta() - if meta.Type == "article" || meta.Type == "reply" { - posts[n] = post - n++ - } + config := user.Config() + include := config.PrimaryListInclude + if len(include) == 0 { + include = []string{"article", "reply"} // default before addition of this option } - posts = posts[:n] - return posts, nil + return user.GetPostsOfList(PostList{ + Id: "", + Title: "", + Include: include, + }) } func (user User) GetPostsOfList(list PostList) ([]*Post, error) {