From beead99db8d2f8d1c3a596c9da1d3ad61deb5af6 Mon Sep 17 00:00:00 2001 From: kirbylife Date: Wed, 2 Oct 2024 19:06:13 -0600 Subject: [PATCH] Do optional the crate description --- src/crate_info.rs | 2 +- src/scraper.rs | 6 +----- templates/crate.gmi.tera | 2 ++ 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/crate_info.rs b/src/crate_info.rs index ebf68a0..e3bc03c 100644 --- a/src/crate_info.rs +++ b/src/crate_info.rs @@ -4,7 +4,7 @@ use serde::Serialize; #[derive(Serialize, Debug, Clone)] pub struct CrateInfo { pub name: String, - pub description: String, + pub description: Option, pub owner: String, pub latest_version: Version, pub versions: Vec, diff --git a/src/scraper.rs b/src/scraper.rs index 73de55f..0cccaf9 100644 --- a/src/scraper.rs +++ b/src/scraper.rs @@ -106,11 +106,7 @@ pub fn search_crate(crate_name: String) -> Option { } else { let description = resp .css_once(".desc") - .unwrap() - .content() - .trim() - .replace('\n', " ") - .into(); + .map(|desc| desc.content().trim().replace("\n", " ").into()); let owner = resp .css("a.owner") .iter() diff --git a/templates/crate.gmi.tera b/templates/crate.gmi.tera index 542fdff..6180f95 100644 --- a/templates/crate.gmi.tera +++ b/templates/crate.gmi.tera @@ -7,7 +7,9 @@ {%- if item -%} ## {{ item.name }} v{{ item.latest_version.version }} +{% if item.description -%} > {{ item.description }} +{%- endif %} by {{ item.owner }} {% if item.license %}[{{ item.license }}]{% endif %} ### Install by: