aboutsummaryrefslogtreecommitdiff
path: root/src/modules/blog/module.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/blog/module.rs')
-rw-r--r--src/modules/blog/module.rs21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/modules/blog/module.rs b/src/modules/blog/module.rs
index e6fcd06..bfab002 100644
--- a/src/modules/blog/module.rs
+++ b/src/modules/blog/module.rs
@@ -80,7 +80,24 @@ pub fn module(router: &mut windmark::router::Router) {
);
}
- let blog_clone = blogs.clone();
+ let mut blog_clone: Vec<_> = blogs
+ .clone()
+ .into_iter()
+ .map(|(blog, entries)| {
+ (
+ blog,
+ *entries
+ .get("blog.json")
+ .and_then(|content| Blog::from_string(content).ok())
+ .unwrap_or_default()
+ .priority(),
+ entries,
+ )
+ })
+ .collect();
+
+ blog_clone.sort_by(|a, b| b.1.cmp(&a.1));
+ blog_clone.reverse();
track_mount(router, "/blog", "Fuwn's blogs", move |context| {
success(
@@ -89,7 +106,7 @@ pub fn module(router: &mut windmark::router::Router) {
blog_clone.len(),
blog_clone
.iter()
- .map(|(title, entries)| (title.clone(), entries.clone()))
+ .map(|(title, _, entries)| (title.clone(), entries.clone()))
.collect::<Vec<(_, _)>>()
.into_iter()
.map(|(title, entries)| {