From 9c48352420ed48c2b0aa284af46bc34fd5eb71aa Mon Sep 17 00:00:00 2001 From: Anson Biggs Date: Fri, 16 Feb 2024 20:49:48 -0700 Subject: [PATCH] fix ordering of posts to be l->r chronological --- src/main.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index b5f3831..856d2ae 100644 --- a/src/main.rs +++ b/src/main.rs @@ -202,10 +202,25 @@ fn generate_footer() -> Markup { } } } +fn group_by_nth(slice: &[T], n: usize) -> Vec> { + (0..n) + .map(|i| { + slice + .iter() + .enumerate() + .filter_map(|(index, value)| { + if index % n == i { + Some(value.clone()) + } else { + None + } + }) + .collect() + }) + .collect() +} fn generate_index(entries: Vec) -> Markup { - let num_columns = 3; - let chunk_size = (entries.len() as f32 / num_columns as f32).ceil() as usize; html! { (maud::DOCTYPE) html { @@ -219,7 +234,7 @@ fn generate_index(entries: Vec) -> Markup { body { main class="container" { {(generate_header())} div class="grid" { - @for column_entries in entries.chunks(chunk_size) { + @for column_entries in group_by_nth(&entries, 3) { div { @for entry in column_entries { {(create_html_card(&entry))}