pub struct HeaderMetadata {
pub level: u8,
pub text: String,
pub id: Option<String>,
pub depth: usize,
pub html_offset: usize,
}Expand description
Header element metadata with hierarchy tracking.
Captures heading elements (h1-h6) with their text content, identifiers, and position in the document structure.
§Examples
let header = HeaderMetadata {
level: 1,
text: "Main Title".to_string(),
id: Some("main-title".to_string()),
depth: 0,
html_offset: 145,
};
assert_eq!(header.level, 1);
assert!(header.is_valid());Fields§
§level: u8Header level: 1 (h1) through 6 (h6)
text: StringNormalized text content of the header
id: Option<String>HTML id attribute if present
depth: usizeDocument tree depth at the header element
html_offset: usizeByte offset in original HTML document
Implementations§
Source§impl HeaderMetadata
impl HeaderMetadata
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Validate that the header level is within valid range (1-6).
§Returns
true if level is 1-6, false otherwise.
§Examples
let valid = HeaderMetadata {
level: 3,
text: "Title".to_string(),
id: None,
depth: 2,
html_offset: 100,
};
assert!(valid.is_valid());
let invalid = HeaderMetadata {
level: 7, // Invalid
text: "Title".to_string(),
id: None,
depth: 2,
html_offset: 100,
};
assert!(!invalid.is_valid());Trait Implementations§
Source§impl Clone for HeaderMetadata
impl Clone for HeaderMetadata
Source§fn clone(&self) -> HeaderMetadata
fn clone(&self) -> HeaderMetadata
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HeaderMetadata
impl Debug for HeaderMetadata
Source§impl<'de> Deserialize<'de> for HeaderMetadata
impl<'de> Deserialize<'de> for HeaderMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for HeaderMetadata
impl RefUnwindSafe for HeaderMetadata
impl Send for HeaderMetadata
impl Sync for HeaderMetadata
impl Unpin for HeaderMetadata
impl UnwindSafe for HeaderMetadata
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)