tangled
alpha
login
or
join now
kacaii.dev
/
blog
0
fork
atom
💻 My personal website
blog.kacaii.dev/
blog
gleam
lustre
0
fork
atom
overview
issues
pulls
pipelines
:recycle: use `calendar.naive_date_compare` to sort posts
kacaii.dev
1 month ago
c4bbc383
fe6fcade
verified
This commit was signed with the committer's
known signature
.
kacaii.dev
SSH Key Fingerprint:
SHA256:n9v7QGNWHCUv1x/483hCtPUvTsVabU5PzC5CSJMUNtI=
+5
-13
2 changed files
expand all
collapse all
unified
split
src
blog
post.gleam
blog.gleam
+2
-1
src/blog.gleam
···
111
111
|> post.from_string
112
112
})
113
113
114
114
-
list.sort(posts, post.compare)
114
114
+
posts
115
115
+
|> list.sort(post.compare)
115
116
|> list.reverse
116
117
}
+3
-12
src/blog/post.gleam
···
1
1
import blog/post/metadata
2
2
import contour
3
3
import frontmatter
4
4
-
import gleam/int
5
4
import gleam/list
6
5
import gleam/option
7
6
import gleam/order
···
69
68
}
70
69
71
70
pub fn compare(a: Post, b: Post) -> order.Order {
72
72
-
let a_day = a.meta.date.day
73
73
-
let a_month = calendar.month_to_int(a.meta.date.month)
74
74
-
let a_year = a.meta.date.year
75
75
-
76
76
-
let b_day = b.meta.date.day
77
77
-
let b_month = calendar.month_to_int(b.meta.date.month)
78
78
-
let b_year = b.meta.date.year
79
79
-
80
80
-
use <- order.lazy_break_tie(int.compare(a_year, b_year))
81
81
-
use <- order.lazy_break_tie(int.compare(a_month, b_month))
82
82
-
int.compare(a_day, b_day)
71
71
+
let a_date = a.meta.date
72
72
+
let b_date = b.meta.date
73
73
+
calendar.naive_date_compare(a_date, b_date)
83
74
}