Macro define_void_elements

Source
macro_rules! define_void_elements {
    {
        $(
            $(#[$meta:meta])*
            $name:ident $(
                {
                    $(
                        $(#[$attr_meta:meta])*
                        $attr:ident
                    )*
                }
            )?
        )*
    } => { ... };
}
Expand description

Define custom void elements.

This macro should be called from within a module named hypertext_elements.

ยงExample

mod hypertext_elements {
    // Re-export all standard HTML elements
    use hypertext::define_void_elements;
    pub use hypertext::validation::hypertext_elements::*;

    define_void_elements! {
        /// A custom void element that greets the user.
        simple_greeting {
            /// The name of the person to greet.
            name
        }
    }
}

// Now, you can use the custom elements like this:

use hypertext::prelude::*;

assert_eq!(
    maud! {
        simple-greeting name="Alice";
    }
    .render()
    .as_inner(),
    r#"<simple-greeting name="Alice">"#,
)