Skip to main content

HtmlError

Enum HtmlError 

Source
pub enum HtmlError {
Show 20 variants RegexCompilationError(Error), FrontMatterExtractionError(String), HeaderFormattingError(String), SelectorParseError(String, String), MinificationError(String), MarkdownConversion { message: String, source: Option<Error>, }, Seo { kind: SeoErrorKind, message: String, element: Option<String>, }, Accessibility { kind: ErrorKind, message: String, wcag_guideline: Option<String>, }, MissingHtmlElement(String), InvalidStructuredData(String), Io(Error), InvalidInput(String), InvalidFrontMatterFormat(String), InputTooLarge(usize), InvalidHeaderFormat(String), Utf8ConversionError(FromUtf8Error), ParsingError(String), TemplateRendering { message: String, source: Box<dyn Error + Send + Sync>, }, ValidationError(String), UnexpectedError(String),
}
Expand description

Enum to represent various errors that can occur during HTML generation, processing, or optimization.

§Examples

use html_generator::error::HtmlError;

let err = HtmlError::InvalidInput("empty document".into());
assert!(err.to_string().contains("Invalid input"));

Variants§

§

RegexCompilationError(Error)

Error that occurs when a regular expression fails to compile.

This variant contains the underlying error from the regex crate.

§

FrontMatterExtractionError(String)

Error indicating failure in extracting front matter from the input content.

This variant is used when there is an issue parsing the front matter of a document. The associated string provides details about the error.

§

HeaderFormattingError(String)

Error indicating a failure in formatting an HTML header.

This variant is used when the header cannot be formatted correctly. The associated string provides more details.

§

SelectorParseError(String, String)

Error that occurs when parsing a selector fails.

This variant is used when a CSS or HTML selector cannot be parsed. The first string is the selector, and the second string provides additional context.

§

MinificationError(String)

Error indicating failure to minify HTML content.

This variant is used when there is an issue during the HTML minification process. The associated string provides details.

§

MarkdownConversion

Error that occurs during the conversion of Markdown to HTML.

This variant is used when the Markdown conversion process encounters an issue. The associated string provides more information.

Fields

§message: String

The error message

§source: Option<Error>

The source error, if available

§

Seo

SEO-related errors.

Fields

§kind: SeoErrorKind

The kind of SEO error

§message: String

The error message

§element: Option<String>

The problematic element, if available

§

Accessibility

Accessibility-related errors.

Fields

§kind: ErrorKind

The kind of accessibility error

§message: String

The error message

§wcag_guideline: Option<String>

The relevant WCAG guideline, if available

§

MissingHtmlElement(String)

Error indicating that a required HTML element is missing.

This variant is used when a necessary HTML element (like a title tag) is not found.

§

InvalidStructuredData(String)

Error that occurs when structured data is invalid.

This variant is used when JSON-LD or other structured data does not meet the expected format or requirements.

§

Io(Error)

Input/Output errors

This variant is used when an IO operation fails (e.g., reading or writing files).

§

InvalidInput(String)

Error indicating an invalid input.

This variant is used when the input content is invalid or does not meet the expected criteria.

§

InvalidFrontMatterFormat(String)

Error indicating an invalid front matter format.

This variant is used when the front matter of a document does not follow the expected format.

§

InputTooLarge(usize)

Error indicating an input that is too large.

This variant is used when the input content exceeds a certain size limit.

§

InvalidHeaderFormat(String)

Error indicating an invalid header format.

This variant is used when an HTML header does not conform to the expected format.

§

Utf8ConversionError(FromUtf8Error)

Error that occurs when converting from UTF-8 fails.

This variant wraps errors that occur when converting a byte sequence to a UTF-8 string.

§

ParsingError(String)

Error indicating a failure during parsing.

This variant is used for general parsing errors where the specific source of the issue isn’t covered by other variants.

§

TemplateRendering

Errors that occur during template rendering.

Fields

§message: String

The error message

§source: Box<dyn Error + Send + Sync>

The source error, if available

§

ValidationError(String)

Error indicating a validation failure.

This variant is used when a validation step fails, such as schema validation or data integrity checks.

§

UnexpectedError(String)

A catch-all error for unexpected failures.

This variant is used for errors that do not fit into other categories.

Implementations§

Source§

impl HtmlError

Source

pub fn invalid_input(message: impl Into<String>, _input: Option<String>) -> Self

Creates a new InvalidInput error.

§Examples
use html_generator::error::HtmlError;

let err = HtmlError::invalid_input("empty document", None);
assert!(matches!(err, HtmlError::InvalidInput(_)));
Source

pub fn input_too_large(size: usize) -> Self

Creates a new InputTooLarge error.

§Examples
use html_generator::error::HtmlError;

let err = HtmlError::input_too_large(1_048_576);
assert!(matches!(err, HtmlError::InputTooLarge(1_048_576)));
Source

pub fn seo( kind: SeoErrorKind, message: impl Into<String>, element: Option<String>, ) -> Self

Creates a new Seo error.

§Examples
use html_generator::error::{HtmlError, SeoErrorKind};

let err = HtmlError::seo(SeoErrorKind::MissingTitle, "no <h1>", None);
assert!(matches!(err, HtmlError::Seo { .. }));
Source

pub fn accessibility( kind: ErrorKind, message: impl Into<String>, wcag_guideline: Option<String>, ) -> Self

Creates a new Accessibility error.

§Examples
use html_generator::error::{ErrorKind, HtmlError};

let err = HtmlError::accessibility(
    ErrorKind::MissingAriaAttributes,
    "button without aria-label",
    Some("WCAG 4.1.2".into()),
);
assert!(matches!(err, HtmlError::Accessibility { .. }));
Source

pub fn markdown_conversion( message: impl Into<String>, source: Option<Error>, ) -> Self

Creates a new MarkdownConversion error.

§Examples
use html_generator::error::HtmlError;

let err = HtmlError::markdown_conversion("comrak failed", None);
assert!(matches!(err, HtmlError::MarkdownConversion { .. }));

Trait Implementations§

Source§

impl Debug for HtmlError

Source§

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

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

impl Display for HtmlError

Source§

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

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

impl Error for HtmlError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for HtmlError

Converts an accessibility error into the library-wide crate::error::HtmlError so callers can use ? across module boundaries without an explicit .map_err.

The mapping is lossy on purpose: it collapses structured data such as HTML fragments and WCAG conformance levels into the crate::error::HtmlError::Accessibility variant’s message string. If you need the full structured error, match on the originating Error directly before converting.

§Examples

use html_generator::accessibility::Error;
use html_generator::error::HtmlError;

let acc_err = Error::InvalidAriaAttribute {
    attribute: "aria-foo".to_string(),
    message: "not a recognised attribute".to_string(),
};
let html_err: HtmlError = acc_err.into();
assert!(matches!(html_err, HtmlError::Accessibility { .. }));
Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for HtmlError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for HtmlError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<FromUtf8Error> for HtmlError

Source§

fn from(source: FromUtf8Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
§

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

§

fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<'a, T> FromIn<'a, T> for T

§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

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

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
§

impl<D> OwoColorize for D

§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either [OwoColorize::fg] or a color-specific method, such as [OwoColorize::green], Read more
§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either [OwoColorize::bg] or a color-specific method, such as [OwoColorize::on_yellow], Read more
§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
§

impl<T> ToCompactString for T
where T: Display,

§

fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>

Fallible version of [ToCompactString::to_compact_string()] Read more
§

fn to_compact_string(&self) -> CompactString

Converts the given value to a [CompactString]. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more