From 9125738498759e6a7fe188331829b065bcfed758 Mon Sep 17 00:00:00 2001 From: zyl Date: Thu, 5 Jun 2025 14:26:17 -0700 Subject: [PATCH] remove itertools dependency --- Cargo.lock | 10 ---------- Cargo.toml | 1 - src/extras.rs | 13 +++++++------ src/resource.rs | 17 ++++++++--------- 4 files changed, 15 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b478380..7949417 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1291,15 +1291,6 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.15" @@ -3012,7 +3003,6 @@ dependencies = [ "hotwatch", "html5ever 0.31.0", "include_dir", - "itertools", "kuchikiki", "lol_html", "minifier", diff --git a/Cargo.toml b/Cargo.toml index 2df01d2..1148bfe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,6 @@ grass = { version = "0.13", default-features = false } hotwatch = { version = "0.5", optional = true } html5ever = "0.31" include_dir = "0.7" -itertools = "0.14" kuchikiki = "0.8.8-speedreader" lol_html = "2" minifier = { version = "0.3", features = ["html"] } diff --git a/src/extras.rs b/src/extras.rs index 94250bd..60e1d93 100644 --- a/src/extras.rs +++ b/src/extras.rs @@ -1,5 +1,4 @@ -use itertools::Itertools; -use lol_html::{element, RewriteStrSettings}; +use lol_html::{RewriteStrSettings, element}; use serde::{Deserialize, Serialize}; use crate::{builder::SiteBuilder, resource::ResourceTemplateData}; @@ -111,10 +110,12 @@ fn resource_list_outside( ) .map(|ts| (id, v, ts)) }) - .map_ok(|(id, v, ts)| ResourceTemplateData { - resource: v, - id: id.clone(), - readable_timestamp: ts, + .map(|v| { + v.map(|(id, v, ts)| ResourceTemplateData { + resource: v, + id: id.clone(), + readable_timestamp: ts, + }) }) .collect::>>()?, })?, diff --git a/src/resource.rs b/src/resource.rs index a59a4f7..f04f8a3 100644 --- a/src/resource.rs +++ b/src/resource.rs @@ -4,17 +4,16 @@ use std::{ }; use eyre::Context; -use itertools::Itertools; -use rss::{validation::Validate, ChannelBuilder, ItemBuilder}; +use rss::{ChannelBuilder, ItemBuilder, validation::Validate}; use serde::{Deserialize, Serialize}; -use time::{format_description::well_known::Rfc2822, OffsetDateTime}; +use time::{OffsetDateTime, format_description::well_known::Rfc2822}; use crate::{ + PageMetadata, builder::SiteBuilder, frontmatter::FrontMatterRequired, link_list::Link, util::{self, format_timestamp}, - PageMetadata, }; /// 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 mut previous = None; 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); let out = builder.build_page_raw( PageMetadata { @@ -329,7 +328,7 @@ impl ResourceBuilder { }, "", ResourceListTemplateData { - resources: iter.copied().collect(), + resources: iter.to_vec(), tag, rss_enabled: config.rss.is_some(), page: page + 1, @@ -372,7 +371,7 @@ impl ResourceBuilder { // Build list of tags { - let links = tags + let mut links: Vec<_> = tags .iter() .map(|(tag, data)| { let count = data.len(); @@ -384,9 +383,9 @@ impl ResourceBuilder { count, ) }) - .sorted_by(|(_, a), (_, b)| b.cmp(a)) - .map(|(l, _)| l) .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( builder, &self.config.tag_list_template,