@@ -44,6 +44,12 @@ func (b Blog) GetPosts(drafts bool) []Post {
44
44
return posts
45
45
}
46
46
47
+ func (b Blog ) GetLatest () Post {
48
+ var post Post
49
+ b .db .Preload ("Tags" ).Order ("created_at desc" ).First (& post )
50
+ return post
51
+ }
52
+
47
53
func (b Blog ) getTags () []Tag {
48
54
var tags []Tag
49
55
b .db .Preload ("Posts" ).Order ("name asc" ).Find (& tags )
@@ -170,13 +176,15 @@ func (b Blog) NoRoute(c *gin.Context) {
170
176
"is_admin" : b .auth .IsAdmin (c ),
171
177
"post" : post ,
172
178
"version" : b .Version ,
179
+ "recent" : b .GetLatest (),
173
180
})
174
181
} else {
175
182
c .HTML (http .StatusOK , "post.html" , gin.H {
176
183
"logged_in" : b .auth .IsLoggedIn (c ),
177
184
"is_admin" : b .auth .IsAdmin (c ),
178
185
"post" : post ,
179
186
"version" : b .Version ,
187
+ "recent" : b .GetLatest (),
180
188
})
181
189
}
182
190
return
@@ -194,6 +202,7 @@ func (b Blog) NoRoute(c *gin.Context) {
194
202
"error" : "404: Page Not Found" ,
195
203
"description" : "The page at '" + c .Request .URL .String () + "' was not found" ,
196
204
"version" : b .Version ,
205
+ "recent" : b .GetLatest (),
197
206
})
198
207
}
199
208
@@ -206,6 +215,7 @@ func (b Blog) Home(c *gin.Context) {
206
215
"is_admin" : b .auth .IsAdmin (c ),
207
216
"version" : b .Version ,
208
217
"title" : "Software Engineer" ,
218
+ "recent" : b .GetLatest (),
209
219
})
210
220
}
211
221
@@ -217,6 +227,7 @@ func (b Blog) Posts(c *gin.Context) {
217
227
"posts" : b .GetPosts (false ),
218
228
"version" : b .Version ,
219
229
"title" : "Posts" ,
230
+ "recent" : b .GetLatest (),
220
231
})
221
232
}
222
233
@@ -229,13 +240,15 @@ func (b Blog) Post(c *gin.Context) {
229
240
"description" : err .Error (),
230
241
"version" : b .Version ,
231
242
"title" : "Post Not Found" ,
243
+ "recent" : b .GetLatest (),
232
244
})
233
245
} else {
234
246
c .HTML (http .StatusOK , "post.html" , gin.H {
235
247
"logged_in" : b .auth .IsLoggedIn (c ),
236
248
"is_admin" : b .auth .IsAdmin (c ),
237
249
"post" : post ,
238
250
"version" : b .Version ,
251
+ "recent" : b .GetLatest (),
239
252
})
240
253
//if b.auth.IsAdmin(c) {
241
254
// c.HTML(http.StatusOK, "post-admin.html", gin.H{
@@ -265,6 +278,7 @@ func (b Blog) Tag(c *gin.Context) {
265
278
"description" : err .Error (),
266
279
"version" : b .Version ,
267
280
"title" : "Tag '" + tag + "' Not Found" ,
281
+ "recent" : b .GetLatest (),
268
282
})
269
283
} else {
270
284
c .HTML (http .StatusOK , "tag.html" , gin.H {
@@ -274,6 +288,7 @@ func (b Blog) Tag(c *gin.Context) {
274
288
"tag" : tag ,
275
289
"version" : b .Version ,
276
290
"title" : "Posts with Tag '" + tag + "'" ,
291
+ "recent" : b .GetLatest (),
277
292
})
278
293
}
279
294
}
@@ -284,6 +299,7 @@ func (b Blog) Tags(c *gin.Context) {
284
299
"version" : b .Version ,
285
300
"title" : "Tags" ,
286
301
"tags" : b .getTags (),
302
+ "recent" : b .GetLatest (),
287
303
})
288
304
}
289
305
@@ -294,6 +310,7 @@ func (b Blog) Speaking(c *gin.Context) {
294
310
"is_admin" : b .auth .IsAdmin (c ),
295
311
"version" : b .Version ,
296
312
"title" : "Presentations and Speaking" ,
313
+ "recent" : b .GetLatest (),
297
314
})
298
315
}
299
316
@@ -304,6 +321,7 @@ func (b Blog) Research(c *gin.Context) {
304
321
"is_admin" : b .auth .IsAdmin (c ),
305
322
"version" : b .Version ,
306
323
"title" : "Research Publications" ,
324
+ "recent" : b .GetLatest (),
307
325
})
308
326
}
309
327
@@ -314,6 +332,7 @@ func (b Blog) Projects(c *gin.Context) {
314
332
"is_admin" : b .auth .IsAdmin (c ),
315
333
"version" : b .Version ,
316
334
"title" : "Projects" ,
335
+ "recent" : b .GetLatest (),
317
336
})
318
337
}
319
338
@@ -324,6 +343,7 @@ func (b Blog) About(c *gin.Context) {
324
343
"is_admin" : b .auth .IsAdmin (c ),
325
344
"version" : b .Version ,
326
345
"title" : "About" ,
346
+ "recent" : b .GetLatest (),
327
347
})
328
348
}
329
349
@@ -336,6 +356,7 @@ func (b Blog) Archives(c *gin.Context) {
336
356
"title" : "Blog Archives" ,
337
357
"byYear" : b .getArchivesByYear (),
338
358
"byYearMonth" : b .getArchivesByYearMonth (),
359
+ "recent" : b .GetLatest (),
339
360
})
340
361
}
341
362
@@ -379,6 +400,7 @@ func (b Blog) Login(c *gin.Context) {
379
400
"is_admin" : b .auth .IsAdmin (c ),
380
401
"version" : b .Version ,
381
402
"title" : "Login Configuration Error" ,
403
+ "recent" : b .GetLatest (),
382
404
})
383
405
return
384
406
}
@@ -391,6 +413,7 @@ func (b Blog) Login(c *gin.Context) {
391
413
"client_id" : clientID ,
392
414
"version" : b .Version ,
393
415
"title" : "Login" ,
416
+ "recent" : b .GetLatest (),
394
417
})
395
418
}
396
419
0 commit comments