#![allow(missing_docs)]
use html_generator::{
add_aria_attributes, async_generate_html,
error::{ErrorKind, HtmlError},
generate_html, generate_meta_tags, generate_structured_data,
HtmlConfig, Result,
};
#[tokio::main]
async fn main() -> Result<()> {
println!("\n๐งช html-generator Library Examples\n");
basic_html_generation_example()?;
accessibility_example()?;
performance_optimization_example().await?;
seo_optimization_example()?;
println!("\n๐ All examples completed successfully!");
Ok(())
}
fn basic_html_generation_example() -> Result<()> {
println!("๐ฆ Basic HTML Generation Example");
println!("---------------------------------------------");
let markdown = "# Welcome to html-generator!";
let config = HtmlConfig::default();
let html = generate_html(markdown, &config)?;
println!("Generated HTML: \n{}", html);
Ok(())
}
fn accessibility_example() -> Result<()> {
println!("\n๐ฆ Accessibility Example");
println!("---------------------------------------------");
let html = "<button>Click me</button>";
let updated_html =
add_aria_attributes(html, None).map_err(|e| {
HtmlError::accessibility(
ErrorKind::MissingAriaAttributes,
e.to_string(),
None,
)
})?;
println!("Updated HTML with ARIA attributes: \n{}", updated_html);
Ok(())
}
async fn performance_optimization_example() -> Result<()> {
println!("\n๐ฆ Performance Optimization Example");
println!("---------------------------------------------");
let markdown = "# Performance matters!";
let html = async_generate_html(markdown).await?;
println!("Generated HTML: \n{}", html);
Ok(())
}
fn seo_optimization_example() -> Result<()> {
println!("\n๐ฆ SEO Optimization Example");
println!("---------------------------------------------");
let html = "<h1>Example Article</h1><p>This is an example article for SEO optimization.</p>";
let meta_tags = generate_meta_tags(html)
.map_err(|e| HtmlError::MinificationError(e.to_string()))?;
let structured_data = generate_structured_data(html, None)
.map_err(|e| HtmlError::MinificationError(e.to_string()))?;
println!("Generated Meta Tags: \n{}", meta_tags);
println!("Generated Structured Data: \n{}", structured_data);
Ok(())
}