mirror of
https://gitlab.com/Anson-Projects/zine.git
synced 2025-07-27 08:41:25 +00:00
fix ordering of posts to be l->r chronological
This commit is contained in:
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))}
|
||||
|
Reference in New Issue
Block a user