website-feeds

Make RSS feeds of your favorite "vote on posts" websites

git clone https://code.pdelong.com/website-feeds.git

 1package server
 2
 3import (
 4	"embed"
 5	"html/template"
 6	"io"
 7
 8	"website-feeds/model"
 9)
10
11//go:embed templates/*
12var templates embed.FS
13
14//go:embed static/*
15var static embed.FS
16
17var settingsTemplate = template.Must(
18	template.ParseFS(templates, "templates/settings.html.tmpl"),
19)
20
21type settingsTemplateArgs struct {
22	RedditClientID     string
23	RedditClientSecret string
24	DefaultNumPosts    int
25	MaxNumPosts        int
26	SiteFetchWait      int
27	EditSuccess        bool
28}
29
30func settingsTemplateArgsFromSettings(
31	settings *model.Settings,
32) settingsTemplateArgs {
33	out := settingsTemplateArgs{
34		RedditClientID:     "",
35		RedditClientSecret: "",
36		DefaultNumPosts:    settings.DefaultNumPosts,
37		MaxNumPosts:        settings.MaxNumPosts,
38		SiteFetchWait:      int(settings.SiteFetchWait.Hours()),
39	}
40
41	if settings.Reddit != nil {
42		out.RedditClientID = settings.Reddit.ClientID
43		out.RedditClientSecret = settings.Reddit.ClientSecret
44	}
45
46	return out
47}
48
49func RenderSettings(w io.Writer, args settingsTemplateArgs) error {
50	return settingsTemplate.Execute(w, args)
51}