@@ -12,6 +12,7 @@ import (
12
12
"github.com/chenyahui/gin-cache/persist"
13
13
"github.com/gin-gonic/gin"
14
14
"github.com/gorilla/feeds"
15
+ "github.com/gosimple/slug"
15
16
"github.com/shurcooL/githubv4"
16
17
"gopkg.in/yaml.v2"
17
18
)
@@ -96,6 +97,9 @@ var funcMap = template.FuncMap{
96
97
}
97
98
return false
98
99
},
100
+ "slug" : func (title githubv4.String ) string {
101
+ return slug .Make (string (title ))
102
+ },
99
103
}
100
104
101
105
func FetchPosts (c * gin.Context ) {
@@ -199,13 +203,13 @@ func GenerateFeed(c *gin.Context) {
199
203
return
200
204
}
201
205
202
- for _ , disdiscussion := range discussions .Nodes {
206
+ for _ , discussion := range discussions .Nodes {
203
207
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 ]),
206
210
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 )},
209
213
})
210
214
}
211
215
@@ -218,6 +222,7 @@ func main() {
218
222
r .SetFuncMap (funcMap )
219
223
r .LoadHTMLGlob ("templates/**/*" )
220
224
r .Static ("/css" , "templates/css" )
225
+ r .StaticFile ("/favicon.ico" , "templates/favicon.ico" )
221
226
r .GET ("/" , cache .CacheByRequestURI (memoryCache , 30 * time .Second ), FetchPosts )
222
227
r .GET ("/category/:category_id/:category_name" , cache .CacheByRequestURI (memoryCache , 30 * time .Second ), FetchPosts )
223
228
r .GET ("/post/:id/:title" , cache .CacheByRequestURI (memoryCache , 1 * time .Hour ), FetchPost )
0 commit comments