@microflash/remark-figure-caption
v2.0.2
Published
remark plugin to add images with alt text to figures with captions
Downloads
116
Maintainers
Readme
remark-figure-caption
remark plugin to transform images with alt text to figures with captions
Status: Feature complete
This plugin is feature complete. Compatibility updates and patches will be published in future.
Contents
What's this?
This package is a unified (remark) plugin that takes the image nodes with alt text (e.g., ![Alt text](path-to-image.jpg)
) and converts them to figure elements with captions.
<figure>
<img src="path-to-image.jpg" />
<figcaption>Alt Text</figcaption>
</figure>
Install
This package is ESM only.
In Node.js (16.0+), install with npm:
npm install @microflash/remark-figure-caption
For Node.js versions below 16.0, stick to 1.x.x versions of this plugin.
In Deno, with esm.sh:
import remarkFigureCaption from "https://esm.sh/@microflash/remark-figure-caption";
In browsers, with esm.sh:
<script type="module">
import remarkFigureCaption from "https://esm.sh/@microflash/remark-figure-caption?bundle";
</script>
Use
Say we have the following module example.js
:
import { unified } from "unified";
import remarkParse from "remark-parse";
import remarkGfm from "remark-gfm";
import remarkFigureCaption from "@microflash/remark-figure-caption";
import remarkRehype from "remark-rehype";
import rehypeStringify from "rehype-stringify";
main()
async function main() {
const file = await unified()
.use(remarkParse)
.use(remarkGfm)
.use(remarkFigureCaption)
.use(remarkRehype)
.use(rehypeStringify)
.process("![Alt text](path-to-image.jpg)");
console.log(String(file));
}
Running that with node example.js
yields:
<figure>
<img src="path-to-image.jpg" />
<figcaption>Alt Text</figcaption>
</figure>
API
The default export is remarkFigureCaption
.
Options
The following options are available. All of them are optional.
figureClassName
: class for the wrappedfigure
elementimageClassName
: class for the wrappedimg
elementcaptionClassName
: class for the wrappedfigcaption
element
By default, no classes are added to the figure
, img
and figcaption
elements.
Credits
Quang Trinh who wrote the original plugin. This is a direct ESM-only port.