diff --git a/internal/generator/html.go b/internal/generator/html.go index a6c53a1..a5153d5 100644 --- a/internal/generator/html.go +++ b/internal/generator/html.go @@ -845,6 +845,18 @@ func (g *HTMLGenerator) GenerateErrorPage(statusCode int, feedItems []FeedItemIn func (g *HTMLGenerator) GenerateFeedPage(feedItems []FeedItemInfo) (string, error) { 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{ Title: "TheForest Feed", Description: "Recent notes from TheForest relay", @@ -857,6 +869,7 @@ func (g *HTMLGenerator) GenerateFeedPage(feedItems []FeedItemInfo) (string, erro WikiPages: []WikiPageInfo{}, FeedItems: feedItems, Content: template.HTML(""), // Content comes from template + Profiles: profiles, } // Use renderTemplate but with custom data for feed diff --git a/server b/server index 71fa4ea..288d139 100755 Binary files a/server and b/server differ diff --git a/static/css/main.css b/static/css/main.css index 4967f38..1b4b0aa 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -1505,6 +1505,12 @@ textarea:focus-visible { margin: 0 auto; } +.feed-page { + max-width: 800px; + margin: 0 auto; + padding: 2rem; +} + .feed-about-blurb { background: var(--bg-secondary); padding: 1.5rem; diff --git a/static/css/responsive.css b/static/css/responsive.css index c27560e..b204b6e 100644 --- a/static/css/responsive.css +++ b/static/css/responsive.css @@ -563,6 +563,7 @@ /* Feed */ .feed-page { padding: 1rem; + max-width: 100%; } .feed-about-blurb { @@ -827,6 +828,11 @@ gap: 1.5rem; } + .feed-page { + max-width: 90%; + padding: 1.5rem; + } + h1 { font-size: 2rem; } diff --git a/templates/contact.html b/templates/contact.html index c3470c5..5748b35 100644 --- a/templates/contact.html +++ b/templates/contact.html @@ -16,7 +16,7 @@
TheForest is a Nostr relay operated by GitCitadel. It provides a reliable, fast, and open relay service for the Nostr protocol.
wss://theforest.nostr1.comwss://theforest.nostr1.comTheForest relay hosts a variety of content, including longform markdown articles (kind 30023), e-books and structured publications (kind 30040), and short-form notes (kind 1).