mirror of
https://gitlab.com/Anson-Projects/anson-stuff/zinetest.git
synced 2025-06-15 21:46:40 +00:00
fix ordering of posts to be l->r chronological
This commit is contained in:
parent
35e7df7630
commit
9c48352420
21
src/main.rs
21
src/main.rs
@ -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))}
|
||||
|
Loading…
x
Reference in New Issue
Block a user