From 63705c07454c8717ff383224715b03d4587dcc1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 3 Oct 2025 13:12:24 +0200 Subject: [PATCH] feat: tweak new readablity lib flags --- src/main.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index a08c1f6..05c46e0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use std::time::Duration; use anyhow::{Context, Result}; use itertools::Itertools; +use readability_rust::{ReadabilityFlags, ReadabilityOptions}; use reqwest::{Client, Url}; use rss::Channel; use tokio::{task::JoinSet, time::sleep}; @@ -58,8 +59,26 @@ async fn complete(mut channel: Channel, client: &Client) -> Result> async fn get_content(link: &str, client: &Client) -> Result { let response = client.get(link).send().await?; - let mut readablity = readability_rust::Readability::new(response.text().await?.as_ref(), None)?; - let content = readablity.parse().context("readablity parse error")?.content.context("readablity no content")?; + let mut readablity = readability_rust::Readability::new( + response.text().await?.as_ref(), + Some(ReadabilityOptions { + max_elems_to_parse: 0, + nb_top_candidates: 5, + char_threshold: 500, + link_density_modifier: 0.0, + flags: ReadabilityFlags { + strip_unlikelys: false, + clean_conditionally: false, + weight_classes: false, + }, + ..Default::default() + }), + )?; + let content = readablity + .parse() + .context("readablity parse error")? + .content + .context("readablity no content")?; Ok(content) }