remove serde dependency

This commit is contained in:
Troy 2025-05-22 01:09:52 +01:00
parent 40c40f83d6
commit f3281d7ae3
Signed by: troy
GPG key ID: DFC06C02ED3B4711
3 changed files with 7 additions and 89 deletions

81
Cargo.lock generated
View file

@ -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"

View file

@ -9,8 +9,6 @@ authors = ["Troy Lusty <hello@troylusty.com>"]
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

View file

@ -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();