Struct lol_html::html_content::Comment
source · pub struct Comment<'i> { /* private fields */ }
Expand description
An HTML comment rewritable unit.
Exposes API for examination and modification of a parsed HTML comment.
Implementations§
source§impl<'i> Comment<'i>
impl<'i> Comment<'i>
sourcepub fn set_text(&mut self, text: &str) -> Result<(), CommentTextError>
pub fn set_text(&mut self, text: &str) -> Result<(), CommentTextError>
Sets the text of the comment.
sourcepub fn before(&mut self, content: &str, content_type: ContentType)
pub fn before(&mut self, content: &str, content_type: ContentType)
Inserts content
before the comment.
Consequent calls to the method append content
to the previously inserted content.
Example
use lol_html::{rewrite_str, comments, RewriteStrSettings};
use lol_html::html_content::ContentType;
let html = rewrite_str(
r#"<div><!-- foo --></div>"#,
RewriteStrSettings {
element_content_handlers: vec![
comments!("div", |c| {
c.before("<!-- 42 -->", ContentType::Html);
c.before("bar", ContentType::Text);
Ok(())
})
],
..RewriteStrSettings::default()
}
).unwrap();
assert_eq!(html, r#"<div><!-- 42 -->bar<!-- foo --></div>"#);
sourcepub fn after(&mut self, content: &str, content_type: ContentType)
pub fn after(&mut self, content: &str, content_type: ContentType)
Inserts content
after the comment.
Consequent calls to the method prepend content
to the previously inserted content.
Example
use lol_html::{rewrite_str, comments, RewriteStrSettings};
use lol_html::html_content::ContentType;
let html = rewrite_str(
r#"<div><!-- foo --></div>"#,
RewriteStrSettings {
element_content_handlers: vec![
comments!("div", |c| {
c.after("Bar", ContentType::Text);
c.after("Qux", ContentType::Text);
Ok(())
})
],
..RewriteStrSettings::default()
}
).unwrap();
assert_eq!(html, r#"<div><!-- foo -->QuxBar</div>"#);
sourcepub fn replace(&mut self, content: &str, content_type: ContentType)
pub fn replace(&mut self, content: &str, content_type: ContentType)
Replaces the comment with the content
.
Consequent calls to the method overwrite previous replacement content.
Example
use lol_html::{rewrite_str, comments, RewriteStrSettings};
use lol_html::html_content::ContentType;
let html = rewrite_str(
r#"<div><!-- foo --></div>"#,
RewriteStrSettings {
element_content_handlers: vec![
comments!("div", |c| {
c.replace("Bar", ContentType::Text);
c.replace("Qux", ContentType::Text);
Ok(())
})
],
..RewriteStrSettings::default()
}
).unwrap();
assert_eq!(html, r#"<div>Qux</div>"#);
Trait Implementations§
Auto Trait Implementations§
impl<'i> !RefUnwindSafe for Comment<'i>
impl<'i> !Send for Comment<'i>
impl<'i> !Sync for Comment<'i>
impl<'i> Unpin for Comment<'i>
impl<'i> !UnwindSafe for Comment<'i>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more