Struct comrak::html::Anchorizer
source · pub struct Anchorizer(/* private fields */);
Expand description
Converts header Strings to canonical, unique, but still human-readable, anchors.
To guarantee uniqueness, an anchorizer keeps track of the anchors it has returned. So, for example, to parse several MarkDown files, use a new anchorizer per file.
§Example
use comrak::Anchorizer;
let mut anchorizer = Anchorizer::new();
// First "stuff" is unsuffixed.
assert_eq!("stuff".to_string(), anchorizer.anchorize("Stuff".to_string()));
// Second "stuff" has "-1" appended to make it unique.
assert_eq!("stuff-1".to_string(), anchorizer.anchorize("Stuff".to_string()));
Implementations§
source§impl Anchorizer
impl Anchorizer
sourcepub fn anchorize(&mut self, header: String) -> String
pub fn anchorize(&mut self, header: String) -> String
Returns a String that has been converted into an anchor using the GFM algorithm, which involves changing spaces to dashes, removing problem characters and, if needed, adding a suffix to make the resultant anchor unique.
use comrak::Anchorizer;
let mut anchorizer = Anchorizer::new();
let source = "Ticks aren't in";
assert_eq!("ticks-arent-in".to_string(), anchorizer.anchorize(source.to_string()));
Trait Implementations§
source§impl Debug for Anchorizer
impl Debug for Anchorizer
source§impl Default for Anchorizer
impl Default for Anchorizer
source§fn default() -> Anchorizer
fn default() -> Anchorizer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for Anchorizer
impl RefUnwindSafe for Anchorizer
impl Send for Anchorizer
impl Sync for Anchorizer
impl Unpin for Anchorizer
impl UnwindSafe for Anchorizer
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