From f3281d7ae3ce8e1c041b9dadcae09fc6dcb504dc Mon Sep 17 00:00:00 2001 From: Troy Date: Thu, 22 May 2025 01:09:52 +0100 Subject: [PATCH] remove serde dependency --- Cargo.lock | 81 ----------------------------------------------------- Cargo.toml | 2 -- src/main.rs | 13 +++++---- 3 files changed, 7 insertions(+), 89 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8f532ac..14f2fef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15,8 +15,6 @@ dependencies = [ "indexmap", "open", "pulldown-cmark", - "serde", - "serde_json", ] [[package]] @@ -69,12 +67,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - [[package]] name = "libc" version = "0.2.172" @@ -110,15 +102,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" -[[package]] -name = "proc-macro2" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" -dependencies = [ - "unicode-ident", -] - [[package]] name = "pulldown-cmark" version = "0.13.0" @@ -138,76 +121,12 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "syn" -version = "2.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "unicase" version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - [[package]] name = "unicode-width" version = "0.1.14" diff --git a/Cargo.toml b/Cargo.toml index f9a39fa..5e1b486 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,8 +9,6 @@ authors = ["Troy Lusty "] indexmap = "2.9.0" open = "5.3.2" pulldown-cmark = "0.13.0" -serde = { version = "1.0.219", features = ["derive"] } -serde_json = "1.0.140" [profile.dev] opt-level = 0 diff --git a/src/main.rs b/src/main.rs index d90bc70..aa5b263 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,10 @@ use indexmap::IndexMap; use pulldown_cmark::{Event, LinkType, Parser, Tag, TagEnd}; -use serde::Serialize; use std::env; use std::fs; use std::io::Write; use std::process::{Command, Stdio}; -#[derive(Serialize, Clone)] struct Link { url: String, title: String, @@ -29,8 +27,9 @@ fn main() -> std::io::Result<()> { Event::Start(Tag::Heading { .. }) => heading_buf.clear(), Event::End(TagEnd::Heading(_)) => { - if !heading_buf.trim().is_empty() { - current_heading = heading_buf.trim().to_owned(); + let heading = heading_buf.trim(); + if !heading.is_empty() { + current_heading = heading.to_owned(); } } @@ -70,8 +69,10 @@ fn main() -> std::io::Result<()> { .into_iter() .flat_map(|(heading, links)| { links.into_iter().map(move |link| { - let display = format!("{heading}: {} ({})", link.title, link.url); - (display, link.url) + ( + format!("{heading}: {} ({})", link.title, link.url), + link.url, + ) }) }) .collect();