micromark-extension-gfm-autolink-literal
micromark extension to support GitHub flavored markdown literal autolinks.
This syntax extension matches the GFM spec and how literal autolinks work in several places on github.com. Do note that GH employs two algorithms to autolink: one at parse time, one at compile time (similar to how @mentions are done at compile time). This difference can be observed because character references and escapes are handled differently. But also because issues/PRs/comments omit (perhaps by accident?) the second algorithm for www.
, http://
, and https://
links (but not for email links).
As this is a syntax extension, it focuses on the first algorithm. The html
part of this extension does not operate on an AST and hence can’t perform the second algorithm. mdast-util-gfm-autolink-literal
adds support for the second.
This package provides the low-level modules for integrating with the micromark tokenizer and the micromark HTML compiler.
You probably should use this package with mdast-util-gfm-autolink-literal
.
Install
npm:
npm install micromark-extension-gfm-autolink-literal
API
html
syntax
Note:
syntax
is the default export of this module,html
is available atmicromark-extension-gfm-autolink-literal/html
.
Support literal autolinks. The exports are extensions for the micromark parser (to tokenize; can be passed in extensions
) and the default HTML compiler (to compile as <a>
elements; can be passed in htmlExtensions
).
Related
remarkjs/remark
— markdown processor powered by pluginsmicromark/micromark
— the smallest commonmark-compliant markdown parser that existssyntax-tree/mdast-util-gfm-autolink-literal
— mdast utility to support autolink literalssyntax-tree/mdast-util-from-markdown
— mdast parser usingmicromark
to create mdast from markdownsyntax-tree/mdast-util-to-markdown
— mdast serializer to create markdown from mdast
Contribute
See contributing.md
in micromark/.github
for ways to get started. See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.