From 456c502d3f2dbee3078ced2b76e024f3a0db1689 Mon Sep 17 00:00:00 2001 From: _ <_@_> Date: Wed, 13 Aug 2025 05:49:32 +0000 Subject: [PATCH] allow hiding by summary too --- src/main.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index e24df58..8aa4e4c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,6 +34,8 @@ struct ConfigOutput { /// Used as the OpenGraph description in meta tags description: String, + hide_summaries: BTreeSet, + /// Hide all these UIDs from the final output hide_uids: BTreeSet, @@ -406,7 +408,7 @@ fn read_data_from_disk(config: &Config) -> Result { fn process_data<'a>( data: &'a Data, - hide_uids: &'a BTreeSet, + config_output: &'a ConfigOutput, now: DateTime, ) -> Result>> { let params = Parameters::new(now)?; @@ -415,7 +417,12 @@ fn process_data<'a>( for (ical, config) in &data.icals { for ei in ical.event_instances(¶ms)? { if let Some(uid) = ei.ev.get_uid() - && hide_uids.contains(uid) + && config_output.hide_uids.contains(uid) + { + continue; + } + if let Some(summary) = ei.ev.get_summary() + && config_output.hide_summaries.contains(summary) { continue; } @@ -639,7 +646,7 @@ async fn do_everything(cli: &CliAuto) -> Result<()> { let tz = &config.output.timezone; let now = Utc::now().with_timezone(tz); - let instances = process_data(&data, &config.output.hide_uids, now)?; + let instances = process_data(&data, &config.output, now)?; output_html(&config.output, &instances, now)?; Ok(()) } @@ -671,7 +678,7 @@ fn main_ics_debug(cli: CliIcsDebug) -> Result<()> { let tz = &config.output.timezone; let now = Utc::now().with_timezone(tz); - let instances = process_data(&data, &config.output.hide_uids, now)?; + let instances = process_data(&data, &config.output, now)?; output_html(&config.output, &instances, now)?; Ok(())