use pulldown_cmark::{html, Options, Parser}; use serde::Serializer; use serde::{ de::{Deserialize, Deserializer}, Serialize, }; pub fn generate_html(s: &str) -> String { let options = Options::all(); let parser = Parser::new_ext(s, options); let mut html_output = String::new(); html::push_html(&mut html_output, parser); html_output } pub fn bool_from_int<'de, D>(deserializer: D) -> Result where D: Deserializer<'de>, { match u8::deserialize(deserializer)? { 1 => Ok(true), _ => Ok(false), } } pub fn int_from_bool(value: &bool, s: S) -> Result where S: Serializer, { match value { true => 1.serialize(s), false => 0.serialize(s), } }