remove itertools dependency
Some checks failed
Build Site / build (push) Has been cancelled
Build Site / deploy (push) Has been cancelled

This commit is contained in:
zyl 2025-06-05 14:26:17 -07:00
parent 230e22dbf8
commit 9125738498
Signed by: zyl
SSH key fingerprint: SHA256:uxxbSXbdroP/OnKBGnEDk5q7EKB2razvstC/KmzdXXs
4 changed files with 15 additions and 26 deletions

10
Cargo.lock generated
View file

@ -1291,15 +1291,6 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "itertools"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
dependencies = [
"either",
]
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.15" version = "1.0.15"
@ -3012,7 +3003,6 @@ dependencies = [
"hotwatch", "hotwatch",
"html5ever 0.31.0", "html5ever 0.31.0",
"include_dir", "include_dir",
"itertools",
"kuchikiki", "kuchikiki",
"lol_html", "lol_html",
"minifier", "minifier",

View file

@ -18,7 +18,6 @@ grass = { version = "0.13", default-features = false }
hotwatch = { version = "0.5", optional = true } hotwatch = { version = "0.5", optional = true }
html5ever = "0.31" html5ever = "0.31"
include_dir = "0.7" include_dir = "0.7"
itertools = "0.14"
kuchikiki = "0.8.8-speedreader" kuchikiki = "0.8.8-speedreader"
lol_html = "2" lol_html = "2"
minifier = { version = "0.3", features = ["html"] } minifier = { version = "0.3", features = ["html"] }

View file

@ -1,5 +1,4 @@
use itertools::Itertools; use lol_html::{RewriteStrSettings, element};
use lol_html::{element, RewriteStrSettings};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::{builder::SiteBuilder, resource::ResourceTemplateData}; use crate::{builder::SiteBuilder, resource::ResourceTemplateData};
@ -111,11 +110,13 @@ fn resource_list_outside(
) )
.map(|ts| (id, v, ts)) .map(|ts| (id, v, ts))
}) })
.map_ok(|(id, v, ts)| ResourceTemplateData { .map(|v| {
v.map(|(id, v, ts)| ResourceTemplateData {
resource: v, resource: v,
id: id.clone(), id: id.clone(),
readable_timestamp: ts, readable_timestamp: ts,
}) })
})
.collect::<eyre::Result<Vec<_>>>()?, .collect::<eyre::Result<Vec<_>>>()?,
})?, })?,
)?; )?;

View file

@ -4,17 +4,16 @@ use std::{
}; };
use eyre::Context; use eyre::Context;
use itertools::Itertools; use rss::{ChannelBuilder, ItemBuilder, validation::Validate};
use rss::{validation::Validate, ChannelBuilder, ItemBuilder};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use time::{format_description::well_known::Rfc2822, OffsetDateTime}; use time::{OffsetDateTime, format_description::well_known::Rfc2822};
use crate::{ use crate::{
PageMetadata,
builder::SiteBuilder, builder::SiteBuilder,
frontmatter::FrontMatterRequired, frontmatter::FrontMatterRequired,
link_list::Link, link_list::Link,
util::{self, format_timestamp}, util::{self, format_timestamp},
PageMetadata,
}; };
/// Metadata for resources. /// Metadata for resources.
@ -319,7 +318,7 @@ impl ResourceBuilder {
let page_max = list.len() / items_per_page + (list.len() % items_per_page).min(1); let page_max = list.len() / items_per_page + (list.len() % items_per_page).min(1);
let mut previous = None; let mut previous = None;
let mut next; let mut next;
for (page, iter) in list.iter().chunks(items_per_page).into_iter().enumerate() { for (page, iter) in list.chunks(items_per_page).enumerate() {
next = (page + 1 != page_max).then_some(page + 2); next = (page + 1 != page_max).then_some(page + 2);
let out = builder.build_page_raw( let out = builder.build_page_raw(
PageMetadata { PageMetadata {
@ -329,7 +328,7 @@ impl ResourceBuilder {
}, },
"", "",
ResourceListTemplateData { ResourceListTemplateData {
resources: iter.copied().collect(), resources: iter.to_vec(),
tag, tag,
rss_enabled: config.rss.is_some(), rss_enabled: config.rss.is_some(),
page: page + 1, page: page + 1,
@ -372,7 +371,7 @@ impl ResourceBuilder {
// Build list of tags // Build list of tags
{ {
let links = tags let mut links: Vec<_> = tags
.iter() .iter()
.map(|(tag, data)| { .map(|(tag, data)| {
let count = data.len(); let count = data.len();
@ -384,9 +383,9 @@ impl ResourceBuilder {
count, count,
) )
}) })
.sorted_by(|(_, a), (_, b)| b.cmp(a))
.map(|(l, _)| l)
.collect(); .collect();
links.sort_by(|(_, a), (_, b)| b.cmp(a));
let links = links.into_iter().map(|(l, _)| l).collect();
let out = crate::link_list::render_basic_link_list( let out = crate::link_list::render_basic_link_list(
builder, builder,
&self.config.tag_list_template, &self.config.tag_list_template,