Files
wire/main.go
2026-05-22 22:19:57 -04:00

56 lines
908 B
Go

package main
import (
_ "embed"
"fmt"
"html/template"
"log"
"net/http"
"github.com/mmcdole/gofeed"
)
//go:embed version
var version string
type Data struct {
Version string
Articles []Article
}
type Article struct {
Title string
Link string
}
var data Data = Data{
Version: version,
}
func main() {
http.HandleFunc("/", newsHandler)
fp := gofeed.NewParser()
feed, _ := fp.ParseURL("https://rss.nytimes.com/services/xml/rss/nyt/US.xml")
for i, v := range feed.Items {
data.Articles = append(data.Articles, Article{
Title: v.Title,
Link: v.Link,
})
if i == 9 {
break
}
}
fmt.Println("wire: starting server at http://127.0.0.1:1337")
log.Fatal(http.ListenAndServe("127.0.0.1:1337", nil))
}
func newsHandler(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("templates/main.html"))
tmpl.ExecuteTemplate(w, "main.html", data)
}