Struct build_html::Container

source ·
pub struct Container { /* private fields */ }
Expand description

A container for HTML elements.

As the name would suggest, a Container contains other HTML elements. This struct guarantees that the elements added will be converted to HTML strings in the same order as they were added.

Supported container types are provided by the ContainerType enum.

Note that Container elements can be nested inside of each other.

let text = Container::new(ContainerType::Main)
    .with_header(1, "My Container")
    .with_container(
        Container::new(ContainerType::Article)
            .with_container(
                Container::new(ContainerType::Div)
                    .with_paragraph("Inner Text")
            )
    )
    .to_html_string();

assert_eq!(
    text,
    "<main><h1>My Container</h1><article><div><p>Inner Text</p></div></article></main>"
);

Implementations§

source§

impl Container

source

pub fn new(tag: ContainerType) -> Self

Creates a new container with the specified tag.

source

pub fn with_attributes<A, S>(self, attributes: A) -> Selfwhere A: IntoIterator<Item = (S, S)>, S: ToString,

Associates the specified map of attributes with this Container.

Note that this operation overrides all previous with_attribute calls on this Container

Example
let container = Container::default()
    .with_attributes(vec![("class", "defaults")])
    .with_paragraph("text")
    .to_html_string();

assert_eq!(container, r#"<div class="defaults"><p>text</p></div>"#)

Trait Implementations§

source§

impl Debug for Container

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Container

source§

fn default() -> Container

Returns the “default value” for a type. Read more
source§

impl Html for Container

source§

fn to_html_string(&self) -> String

Convert this element into an HTML string Read more
source§

impl HtmlContainer for Container

source§

fn add_html<H: Html>(&mut self, content: H)

Adds the specified HTML element to this container Read more
source§

fn with_html<H: Html>(self, html: H) -> Self

Consumes the container, returning it with the specified HTML element added to it Read more
source§

fn add_container(&mut self, container: Container)

Add the container to this HTML Container Read more
source§

fn with_container(self, container: Container) -> Self

Nest the specified container within this container Read more
source§

fn add_table(&mut self, table: Table)

Add the specified Table to this container Read more
source§

fn with_table(self, table: Table) -> Self

Nest the specified Table within this container Read more
source§

fn add_header(&mut self, level: u8, text: impl ToString)

Adds a header tag with the designated level to this container Read more
source§

fn with_header(self, level: u8, text: impl ToString) -> Self

Adds a header tag with the designated level to this container Read more
source§

fn add_header_attr<A, S>(&mut self, level: u8, text: impl ToString, attr: A)where A: IntoIterator<Item = (S, S)>, S: ToString,

Adds a header tag with the designated level and attributes to this container. Read more
source§

fn with_header_attr<A, S>(self, level: u8, text: impl ToString, attr: A) -> Selfwhere A: IntoIterator<Item = (S, S)>, S: ToString,

Adds a header tag with the designated level and attributes to this container. Read more
source§

fn add_image(&mut self, src: impl ToString, alt: impl ToString)

Adds an <img> tag to this container Read more
source§

fn with_image(self, src: impl ToString, alt: impl ToString) -> Self

Adds an <img> tag to this container Read more
source§

fn add_image_attr<A, S>( &mut self, src: impl ToString, alt: impl ToString, attr: A )where A: IntoIterator<Item = (S, S)>, S: ToString,

Adds an <img> tag with the specified attributes to this container Read more
source§

fn with_image_attr<A, S>( self, src: impl ToString, alt: impl ToString, attr: A ) -> Selfwhere A: IntoIterator<Item = (S, S)>, S: ToString,

Adds an <img> tag with the specified attributes to this container Read more
Adds an <a> tag to this container Read more
Adds an <a> tag to this container Read more
Adds an <a> tag with the specified attributes to this container Read more
Adds an <a> tag with the specified attributes to this container Read more
source§

fn add_paragraph(&mut self, text: impl ToString)

Adds a <p> tag element to this Container Read more
source§

fn with_paragraph(self, text: impl ToString) -> Self

Adds a <p> tag element to this Container Read more
source§

fn add_paragraph_attr<A, S>(&mut self, text: impl ToString, attr: A)where A: IntoIterator<Item = (S, S)>, S: ToString,

Adds a <p> tag element with the specified attributes to this Container Read more
source§

fn with_paragraph_attr<A, S>(self, text: impl ToString, attr: A) -> Selfwhere A: IntoIterator<Item = (S, S)>, S: ToString,

Adds a <p> tag element with the specified attributes to this Container Read more
source§

fn add_preformatted(&mut self, text: impl ToString)

Adds a <pre> tag element to this container Read more
source§

fn with_preformatted(self, text: impl ToString) -> Self

Adds a <pre> tag element to this container Read more
source§

fn add_preformatted_attr<A, S>(&mut self, text: impl ToString, attr: A)where A: IntoIterator<Item = (S, S)>, S: ToString,

Adds a <pre> tag element with the specified attributes to this container Read more
source§

fn with_preformatted_attr<A, S>(self, text: impl ToString, attr: A) -> Selfwhere A: IntoIterator<Item = (S, S)>, S: ToString,

Adds a <pre> tag element with the specified attributes to this container Read more
source§

fn add_raw(&mut self, content: impl ToString)

Add raw content to the container. This content is pasted directly into the HTML Read more
source§

fn with_raw(self, content: impl ToString) -> Self

Add raw content to this container. The content is pasted directly into the HTML Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.