mod markdown_web; mod weatherapi; pub use markdown_web::MarkdownWeb; pub use weatherapi::WeatherApi; use serde::Deserialize; #[async_trait::async_trait] pub trait Collector { async fn collect(&mut self) -> anyhow::Result; } #[derive(Deserialize)] pub struct CollectorConfig { pub markdown_web_links: Vec, pub weatherapi_key: Option, pub weatherapi_locations: Vec, }