1
0
mirror of https://gitlab.com/Anson-Projects/anson-stuff/zinetest.git synced 2025-06-15 13:36:39 +00:00

fix ordering of posts to be l->r chronological

This commit is contained in:
Anson Biggs 2024-02-16 20:49:48 -07:00
parent 35e7df7630
commit 9c48352420

View File

@ -202,10 +202,25 @@ fn generate_footer() -> Markup {
}
}
}
fn group_by_nth<T: Clone>(slice: &[T], n: usize) -> Vec<Vec<T>> {
(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<Entry>) -> 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<Entry>) -> 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))}