vendor/github.com/russross/blackfriday/doc.go
changeset 251 1c52a0eeb952
equal deleted inserted replaced
250:c040f992052f 251:1c52a0eeb952
       
     1 // Package blackfriday is a Markdown processor.
       
     2 //
       
     3 // It translates plain text with simple formatting rules into HTML or LaTeX.
       
     4 //
       
     5 // Sanitized Anchor Names
       
     6 //
       
     7 // Blackfriday includes an algorithm for creating sanitized anchor names
       
     8 // corresponding to a given input text. This algorithm is used to create
       
     9 // anchors for headings when EXTENSION_AUTO_HEADER_IDS is enabled. The
       
    10 // algorithm is specified below, so that other packages can create
       
    11 // compatible anchor names and links to those anchors.
       
    12 //
       
    13 // The algorithm iterates over the input text, interpreted as UTF-8,
       
    14 // one Unicode code point (rune) at a time. All runes that are letters (category L)
       
    15 // or numbers (category N) are considered valid characters. They are mapped to
       
    16 // lower case, and included in the output. All other runes are considered
       
    17 // invalid characters. Invalid characters that preceed the first valid character,
       
    18 // as well as invalid character that follow the last valid character
       
    19 // are dropped completely. All other sequences of invalid characters
       
    20 // between two valid characters are replaced with a single dash character '-'.
       
    21 //
       
    22 // SanitizedAnchorName exposes this functionality, and can be used to
       
    23 // create compatible links to the anchor names generated by blackfriday.
       
    24 // This algorithm is also implemented in a small standalone package at
       
    25 // github.com/shurcooL/sanitized_anchor_name. It can be useful for clients
       
    26 // that want a small package and don't need full functionality of blackfriday.
       
    27 package blackfriday
       
    28 
       
    29 // NOTE: Keep Sanitized Anchor Name algorithm in sync with package
       
    30 //       github.com/shurcooL/sanitized_anchor_name.
       
    31 //       Otherwise, users of sanitized_anchor_name will get anchor names
       
    32 //       that are incompatible with those generated by blackfriday.