|
@@ -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());
|