|
|
|
@ -845,6 +845,18 @@ func (g *HTMLGenerator) GenerateErrorPage(statusCode int, feedItems []FeedItemIn |
|
|
|
func (g *HTMLGenerator) GenerateFeedPage(feedItems []FeedItemInfo) (string, error) { |
|
|
|
func (g *HTMLGenerator) GenerateFeedPage(feedItems []FeedItemInfo) (string, error) { |
|
|
|
canonicalURL := g.siteURL + "/feed" |
|
|
|
canonicalURL := g.siteURL + "/feed" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Collect pubkeys from feed items
|
|
|
|
|
|
|
|
pubkeys := make([]string, 0, len(feedItems)) |
|
|
|
|
|
|
|
for _, item := range feedItems { |
|
|
|
|
|
|
|
if item.Author != "" { |
|
|
|
|
|
|
|
pubkeys = append(pubkeys, item.Author) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Fetch profiles for all authors
|
|
|
|
|
|
|
|
ctx := context.Background() |
|
|
|
|
|
|
|
profiles := g.fetchProfilesBatch(ctx, pubkeys) |
|
|
|
|
|
|
|
|
|
|
|
data := PageData{ |
|
|
|
data := PageData{ |
|
|
|
Title: "TheForest Feed", |
|
|
|
Title: "TheForest Feed", |
|
|
|
Description: "Recent notes from TheForest relay", |
|
|
|
Description: "Recent notes from TheForest relay", |
|
|
|
@ -857,6 +869,7 @@ func (g *HTMLGenerator) GenerateFeedPage(feedItems []FeedItemInfo) (string, erro |
|
|
|
WikiPages: []WikiPageInfo{}, |
|
|
|
WikiPages: []WikiPageInfo{}, |
|
|
|
FeedItems: feedItems, |
|
|
|
FeedItems: feedItems, |
|
|
|
Content: template.HTML(""), // Content comes from template
|
|
|
|
Content: template.HTML(""), // Content comes from template
|
|
|
|
|
|
|
|
Profiles: profiles, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Use renderTemplate but with custom data for feed
|
|
|
|
// Use renderTemplate but with custom data for feed
|
|
|
|
|