|
@@ -15,10 +15,41 @@ import (
|
|
|
)
|
|
|
|
|
|
var funcmap = template.FuncMap{
|
|
|
- "date": func() string {
|
|
|
- now := time.Now()
|
|
|
+ "day": func() int {
|
|
|
+ _, _, day := time.Now().Date()
|
|
|
+ return day
|
|
|
+ },
|
|
|
+ "month": func() int {
|
|
|
+ _, month, _ := time.Now().Date()
|
|
|
+ return int(month)
|
|
|
+ },
|
|
|
+ "year": func() int {
|
|
|
+ year, _, _ := time.Now().Date()
|
|
|
+ return year
|
|
|
+ },
|
|
|
+ "news": func() []*gofeed.Item {
|
|
|
+ result := make([]*gofeed.Item, 0)
|
|
|
|
|
|
- return now.Format("2006-02-01")
|
|
|
+ fp := gofeed.NewParser()
|
|
|
+ feed, _ := fp.ParseURL("https://www.agi.it/innovazione/rss")
|
|
|
+
|
|
|
+ for _, it := range feed.Items {
|
|
|
+ result = append(result, it)
|
|
|
+ }
|
|
|
+
|
|
|
+ return result[:2]
|
|
|
+ },
|
|
|
+ "weather": func() []*gofeed.Item {
|
|
|
+ result := make([]*gofeed.Item, 0)
|
|
|
+
|
|
|
+ fp := gofeed.NewParser()
|
|
|
+ feed, _ := fp.ParseURL("https://www.meteowebcam.eu/rss.xml")
|
|
|
+
|
|
|
+ for _, it := range feed.Items {
|
|
|
+ result = append(result, it)
|
|
|
+ }
|
|
|
+
|
|
|
+ return result[:1]
|
|
|
},
|
|
|
}
|
|
|
|
|
@@ -34,9 +65,6 @@ func convertPDFToPNG(filename string) error {
|
|
|
}
|
|
|
|
|
|
func serveScreen(res http.ResponseWriter, req *http.Request) {
|
|
|
- fp := gofeed.NewParser()
|
|
|
- feed, _ := fp.ParseURL("https://www.agi.it/innovazione/rss")
|
|
|
-
|
|
|
tpl, err := tplutil.LoadTextTemplate("./data/screen.tpl.md", funcmap)
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
@@ -53,16 +81,13 @@ func serveScreen(res http.ResponseWriter, req *http.Request) {
|
|
|
Item *gofeed.Item
|
|
|
}
|
|
|
|
|
|
- data.Title = feed.Title
|
|
|
- data.Item = feed.Items[0]
|
|
|
-
|
|
|
log.Println("Generating markdown file from template.")
|
|
|
if err := tpl.Execute(f, data); err != nil {
|
|
|
panic(err)
|
|
|
}
|
|
|
|
|
|
log.Println("Converting markdown to pdf.")
|
|
|
- err = pandoc.Convert("./data/screen.md", "./data/screen.pdf", "-V", "geometry:papersize={3.8in,6.4in}", "-V", "pagestyle:empty")
|
|
|
+ err = pandoc.Convert("./data/screen.md", "./data/screen.pdf", "-V", "geometry:papersize={3.8in,6in}", "-V", "pagestyle:empty")
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
|
}
|