@@ -12,6 +12,7 @@ import (
1212 "github.com/chenyahui/gin-cache/persist"
1313 "github.com/gin-gonic/gin"
1414 "github.com/gorilla/feeds"
15+ "github.com/gosimple/slug"
1516 "github.com/shurcooL/githubv4"
1617 "gopkg.in/yaml.v2"
1718)
@@ -96,6 +97,9 @@ var funcMap = template.FuncMap{
9697 }
9798 return false
9899 },
100+ "slug" : func (title githubv4.String ) string {
101+ return slug .Make (string (title ))
102+ },
99103}
100104
101105func FetchPosts (c * gin.Context ) {
@@ -199,13 +203,13 @@ func GenerateFeed(c *gin.Context) {
199203 return
200204 }
201205
202- for _ , disdiscussion := range discussions .Nodes {
206+ for _ , discussion := range discussions .Nodes {
203207 feed .Items = append (feed .Items , & feeds.Item {
204- Title : string (disdiscussion .Title ),
205- Description : string ([]rune (disdiscussion .Body )[:200 ]),
208+ Title : string (discussion .Title ),
209+ Description : string ([]rune (discussion .Body )[:200 ]),
206210 Author : & feeds.Author {Name : config .Website .Name , Email : config .Website .Email },
207- Created : disdiscussion .CreatedAt .Time ,
208- Link : & feeds.Link {Href : fmt .Sprintf ("%s/post/%d/%s" , config .Website .Host , disdiscussion .Number , disdiscussion .Title )},
211+ Created : discussion .CreatedAt .Time ,
212+ Link : & feeds.Link {Href : fmt .Sprintf ("%s/post/%d/%s" , config .Website .Host , discussion .Number , discussion .Title )},
209213 })
210214 }
211215
@@ -218,6 +222,7 @@ func main() {
218222 r .SetFuncMap (funcMap )
219223 r .LoadHTMLGlob ("templates/**/*" )
220224 r .Static ("/css" , "templates/css" )
225+ r .StaticFile ("/favicon.ico" , "templates/favicon.ico" )
221226 r .GET ("/" , cache .CacheByRequestURI (memoryCache , 30 * time .Second ), FetchPosts )
222227 r .GET ("/category/:category_id/:category_name" , cache .CacheByRequestURI (memoryCache , 30 * time .Second ), FetchPosts )
223228 r .GET ("/post/:id/:title" , cache .CacheByRequestURI (memoryCache , 1 * time .Hour ), FetchPost )
0 commit comments