Kramdown does not parse valid HTML IDs for the {#} anchor syntax, and differs from PHP Markdown Extra behavior on header IDs:
# Header {#id:with-a-colon}
Parsed by Kramdown as:
<h1 id="header-idwith-a-colon">Header {#id:with-a-colon}</h1>
Expected (and properly parsed by PHP Markdown Extras):
<h1 id="id:with-a-colon">Header</h1>
Also, the HTML spec explicitly states:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Source
Kramdown does not parse valid HTML IDs for the
{#}anchor syntax, and differs from PHP Markdown Extra behavior on header IDs:Parsed by Kramdown as:
Expected (and properly parsed by PHP Markdown Extras):
Also, the HTML spec explicitly states:
Source