1
1
package handler
2
2
3
3
import (
4
+ "github.com/dinever/golf"
4
5
"github.com/dingoblog/dingo/app/model"
5
6
"github.com/dingoblog/dingo/app/utils"
6
- "github.com/dinever/golf"
7
7
"html/template"
8
8
"log"
9
9
"net/url"
@@ -20,17 +20,24 @@ func RegisterFunctions(app *golf.Application) {
20
20
21
21
func HomeHandler (ctx * golf.Context ) {
22
22
p := ctx .Param ("page" )
23
- page , _ := strconv .Atoi (p )
23
+
24
+ var page int
25
+ if p == "" {
26
+ page = 1
27
+ } else {
28
+ page , _ = strconv .Atoi (p )
29
+ }
24
30
posts := new (model.Posts )
25
31
pager , err := posts .GetPostList (int64 (page ), 5 , false , true , "published_at DESC" )
26
32
if err != nil {
27
- panic (err )
33
+ ctx .Abort (404 )
34
+ return
28
35
}
29
36
// theme := model.GetSetting("site_theme")
30
37
data := map [string ]interface {}{
31
- "Title" : "Home" ,
38
+ "Title" : "Home" ,
32
39
"Posts" : posts ,
33
- "Pager" : pager ,
40
+ "Pager" : pager ,
34
41
}
35
42
// updateSidebarData(data)
36
43
ctx .Loader ("theme" ).Render ("index.html" , data )
@@ -47,7 +54,7 @@ func ContentHandler(ctx *golf.Context) {
47
54
post .Hits ++
48
55
data := map [string ]interface {}{
49
56
"Title" : post .Title ,
50
- "Post" : post ,
57
+ "Post" : post ,
51
58
"Content" : post ,
52
59
"Comments" : post .Comments ,
53
60
}
@@ -111,7 +118,14 @@ func CommentHandler(ctx *golf.Context) {
111
118
112
119
func TagHandler (ctx * golf.Context ) {
113
120
p := ctx .Param ("page" )
114
- page , _ := strconv .Atoi (p )
121
+
122
+ var page int
123
+ if p == "" {
124
+ page = 1
125
+ } else {
126
+ page , _ = strconv .Atoi (p )
127
+ }
128
+
115
129
t := ctx .Param ("tag" )
116
130
tagSlug , _ := url .QueryUnescape (t )
117
131
tag := & model.Tag {Slug : tagSlug }
@@ -124,9 +138,9 @@ func TagHandler(ctx *golf.Context) {
124
138
pager , err := posts .GetPostsByTag (tag .Id , int64 (page ), 5 , true )
125
139
data := map [string ]interface {}{
126
140
"Posts" : posts ,
127
- "Pager" : pager ,
128
- "Tag" : tag ,
129
- "Title" : tag .Name ,
141
+ "Pager" : pager ,
142
+ "Tag" : tag ,
143
+ "Title" : tag .Name ,
130
144
}
131
145
ctx .Loader ("theme" ).Render ("tag.html" , data )
132
146
}
@@ -166,7 +180,7 @@ func SiteMapHandler(ctx *golf.Context) {
166
180
"Title" : model .GetSettingValue ("site_title" ),
167
181
"Link" : baseUrl ,
168
182
"Created" : now ,
169
- "Posts" : articleMap ,
183
+ "Posts" : articleMap ,
170
184
"Navigators" : navMap ,
171
185
})
172
186
}
@@ -188,10 +202,10 @@ func RssHandler(ctx *golf.Context) {
188
202
ctx .SetHeader ("Content-Type" , "text/xml; charset=utf-8" )
189
203
190
204
ctx .Loader ("base" ).Loader ("base" ).Render ("rss.xml" , map [string ]interface {}{
191
- "Title" : model .GetSettingValue ("site_title" ),
192
- "Link" : baseUrl ,
193
- "Desc" : model .GetSettingValue ("site_description" ),
194
- "Created" : utils .Now ().Format (time .RFC822 ),
195
- "Posts" : articleMap ,
205
+ "Title" : model .GetSettingValue ("site_title" ),
206
+ "Link" : baseUrl ,
207
+ "Desc" : model .GetSettingValue ("site_description" ),
208
+ "Created" : utils .Now ().Format (time .RFC822 ),
209
+ "Posts" : articleMap ,
196
210
})
197
211
}
0 commit comments