All blogs

This commit is contained in:
Caleb Gardner
2024-11-03 03:42:51 -06:00
parent 0f2b0f4f5d
commit 39f66782fb
3 changed files with 41 additions and 3 deletions
+12 -3
View File
@@ -278,13 +278,22 @@ func (b *BlogApp) reqLatestBlogs(w http.ResponseWriter, r *http.Request) {
type BlogListResult struct {
ID string `json:"id" bson:"_id"`
Title string `json:"title" bson:"title"`
CreateTime int `json:"createTime" bson:"createTime"`
}
func (b BlogListResult) HTMX() string {
return "<a class='blog-list-item' href='https://darkstorm.tech/" +
b.ID +
"' hx-push-url='true' hx-target='#content' hx-get='/" +
b.ID +
"'>" + b.Title + "</a>"
}
func (b *BlogApp) BlogList(ctx context.Context, page int64) ([]BlogListResult, error) {
res, err := b.blogCol.Find(ctx, bson.M{}, options.Find().
SetProjection(bson.M{"_id": 1, "createTime": 1}).
SetSort(bson.M{"createTime": 1}).
res, err := b.blogCol.Find(ctx, bson.M{"staticPage": false, "draft": false}, options.Find().
SetProjection(bson.M{"_id": 1, "createTime": 1, "title": 1}).
SetSort(bson.M{"createTime": -1}).
SetLimit(50).
SetSkip(page*50))
if err != nil {