💻 My personal website blog.kacaii.dev/
blog gleam lustre

:recycle: use `calendar.naive_date_compare` to sort posts

kacaii.dev c4bbc383 fe6fcade

verified
+5 -13
+2 -1
src/blog.gleam
··· 111 |> post.from_string 112 }) 113 114 - list.sort(posts, post.compare) 115 |> list.reverse 116 }
··· 111 |> post.from_string 112 }) 113 114 + posts 115 + |> list.sort(post.compare) 116 |> list.reverse 117 }
+3 -12
src/blog/post.gleam
··· 1 import blog/post/metadata 2 import contour 3 import frontmatter 4 - import gleam/int 5 import gleam/list 6 import gleam/option 7 import gleam/order ··· 69 } 70 71 pub fn compare(a: Post, b: Post) -> order.Order { 72 - let a_day = a.meta.date.day 73 - let a_month = calendar.month_to_int(a.meta.date.month) 74 - let a_year = a.meta.date.year 75 - 76 - let b_day = b.meta.date.day 77 - let b_month = calendar.month_to_int(b.meta.date.month) 78 - let b_year = b.meta.date.year 79 - 80 - use <- order.lazy_break_tie(int.compare(a_year, b_year)) 81 - use <- order.lazy_break_tie(int.compare(a_month, b_month)) 82 - int.compare(a_day, b_day) 83 }
··· 1 import blog/post/metadata 2 import contour 3 import frontmatter 4 import gleam/list 5 import gleam/option 6 import gleam/order ··· 68 } 69 70 pub fn compare(a: Post, b: Post) -> order.Order { 71 + let a_date = a.meta.date 72 + let b_date = b.meta.date 73 + calendar.naive_date_compare(a_date, b_date) 74 }