this repo has no description

make markdown rendering async

so we can do moar at render time

+10 -2
+2 -2
shared/src/advent/mod.rs
··· 140 140 } 141 141 142 142 /// The text Markdown for challenge 1 143 - fn markdown_text_part_one( 143 + async fn markdown_text_part_one( 144 144 &self, 145 145 verification_code: Option<String>, 146 146 additional_context: Option<&serde_json::Value>, ··· 176 176 } 177 177 178 178 /// The text Markdown for challenge 2, could be None 179 - fn markdown_text_part_two( 179 + async fn markdown_text_part_two( 180 180 &self, 181 181 verification_code: Option<String>, 182 182 additional_context: Option<&serde_json::Value>,
+8
web/src/handlers/day.rs
··· 109 109 let part_one_text = match did_clone { 110 110 None => challenge 111 111 .markdown_text_part_one(None, None) 112 + .await 112 113 .map(|s| s.to_string()) 113 114 .unwrap_or_else(|_| "Error loading part one".to_string()), 114 115 Some(ref users_did) => match challenge.get_days_challenge(&users_did).await { ··· 122 123 let ctx = started.as_ref().and_then(|c| c.additional_context.as_ref()); 123 124 challenge 124 125 .markdown_text_part_one(Some(new_code), ctx) 126 + .await 125 127 .map(|s| s.to_string()) 126 128 .unwrap_or_else(|_| "Error loading part one".to_string()) 127 129 } ··· 135 137 let ctx = started.as_ref().and_then(|c| c.additional_context.as_ref()); 136 138 challenge 137 139 .markdown_text_part_one(Some(new_code), ctx) 140 + .await 138 141 .map(|s| s.to_string()) 139 142 .unwrap_or_else(|_| "Error loading part one".to_string()) 140 143 } ··· 143 146 Some(code), 144 147 current_challenge.additional_context.as_ref(), 145 148 ) 149 + .await 146 150 .map(|s| s.to_string()) 147 151 .unwrap_or_else(|_| "Error loading part one".to_string()), 148 152 }, ··· 232 236 let part_two_text: Option<String> = match did_clone { 233 237 None => challenge 234 238 .markdown_text_part_two(None, None) 239 + .await 235 240 .map(|opt| opt.map(|s| s.to_string())) 236 241 .unwrap_or(None), 237 242 Some(users_did) => match challenge.get_days_challenge(&users_did).await { ··· 250 255 let ctx = started.as_ref().and_then(|c| c.additional_context.as_ref()); 251 256 challenge 252 257 .markdown_text_part_two(Some(new_code), ctx) 258 + .await 253 259 .map(|opt| opt.map(|s| s.to_string())) 254 260 .unwrap_or(None) 255 261 } else { ··· 274 280 started.as_ref().and_then(|c| c.additional_context.as_ref()); 275 281 challenge 276 282 .markdown_text_part_two(Some(new_code), ctx) 283 + .await 277 284 .map(|opt| opt.map(|s| s.to_string())) 278 285 .unwrap_or(None) 279 286 } ··· 282 289 Some(code), 283 290 current_challenge.additional_context.as_ref(), 284 291 ) 292 + .await 285 293 .map(|opt| opt.map(|s| s.to_string())) 286 294 .unwrap_or(None), 287 295 }