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),
}
}