markdown-it-implicit-figures v0.12.0
markdown-it-implicit-figures

Render images occurring by itself in a paragraph as <figure><img ...></figure>, similar to pandoc's implicit figures.
Example input:
text with 

works with links too:
[](page.html)Output:
<p>text with <img src="img.png" alt=""></p>
<figure><img src="fig.png" alt=""></figure>
<p>works with links too:</p>
<figure><a href="page.html"><img src="fig.png" alt=""></a></figure>Install
$ npm install --save markdown-it-implicit-figuresUsage
var md = require('markdown-it')();
var implicitFigures = require('markdown-it-implicit-figures');
md.use(implicitFigures, {
dataType: false, // <figure data-type="image">, default: false
figcaption: false, // <figcaption>alternative text</figcaption>, default: false
keepAlt: false // <img alt="alt text" .../><figcaption>alt text</figcaption>, default: false
lazyLoading: false, // <img loading="lazy" ...>, default: false
link: false // <a href="img.png"><img src="img.png"></a>, default: false
tabindex: false, // <figure tabindex="1+n">..., default: false
});
var src = 'text with \n\n\n\nanother paragraph';
var res = md.render(src);
console.log(res);Options
dataType: SetdataTypetotrueto declare the data-type being wrapped, e.g.:<figure data-type="image">. This can be useful for applying special styling for different kind of figures.figcaption: Setfigcaptiontotrueoraltto put the alternative text in a<figcaption>-block after the image. E.g.:renders to<figure> <img src="img.png" alt=""> <figcaption>text</figcaption> </figure>- Set
figcaptiontotitleto put the title text in a<figcaption>-block after the image. E.g.:renders to<figure> <img src="img.png" alt="text"> <figcaption>title</figcaption> </figure>
- Set
keepAlt: SetkeepAlttotrueto prevent it from being cleared when turned into afigcaption, E.g.:renders to<figure> <img src="img.png" alt="text"> <figcaption>text</figcaption> </figure>tabindex: Settabindextotrueto add atabindexproperty to each figure, beginning attabindex="1"and incrementing for each figure encountered. Could be used with this css-trick, which expands figures upon mouse-over.lazyLoading: SetlazyLoadingtotrueto addloading="lazy"to image element.link: Put a link around the image if there is none yet.copyAttrs: Copy attributes matching (RegExp or string)copyAttrstofigureelement.
License
MIT © Arve Seljebu
2 years ago
3 years ago
6 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago