Browse Source

Sort posts by date

master
Dylan Baker 5 years ago
parent
commit
7b1f48e8fa
1 changed files with 9 additions and 8 deletions
  1. 9
    8
      src/commands.rs

+ 9
- 8
src/commands.rs View File

@@ -8,7 +8,7 @@ use toml::Value;
8 8
 
9 9
 use config::Config;
10 10
 use page::{parse_page, read_pages_dir};
11
-use post::{parse_post, read_posts_dir};
11
+use post::{parse_post, read_posts_dir, Post};
12 12
 use write::{write_page, write_post, write_post_listing};
13 13
 
14 14
 pub fn build(include_drafts: bool) {
@@ -58,14 +58,15 @@ pub fn build(include_drafts: bool) {
58 58
 
59 59
     let page_paths = read_pages_dir(&cwd.join("pages"));
60 60
 
61
-    let posts = post_paths
61
+    let mut posts: Vec<Post> = post_paths
62 62
         .into_iter()
63
-        .map(|entry| {
64
-            let post = parse_post(entry.path());
65
-            write_post(&cwd, &layout_template, &post_template, &post, &config);
66
-            post
67
-        })
68
-        .collect();
63
+        .map(|entry| parse_post(entry.path()))
64
+        .collect::<Vec<Post>>();
65
+    posts.sort_by(|a, b| b.date.cmp(&a.date));
66
+
67
+    for post in &posts {
68
+        write_post(&cwd, &layout_template, &post_template, &post, &config);
69
+    }
69 70
 
70 71
     for entry in page_paths.into_iter() {
71 72
         let page = parse_page(entry.path());

Loading…
Cancel
Save