gatsby-remark-image-attributes v1.1.0
gatsby-remark-image-attributes
Creates HTML image markup with style and data-* attributes from mdAST Image nodes with attributes in their title.
┌─────────── styleAttributes ───────────┐ reserved for image title
│ ▼ ▼ ▼ │ ▼

▲ ▲
Leading # dataAttributeyields
<img
src="https://foomoji.com/satisfied.png"
alt="satisfied"
title="Image Title"
style="width: 32px; height:32px; position: absolute;"
data-lightbox="true"
class="gatsby-img-attributes"
/>Note that title is a reserved attribute key, i.e. declaring data-title is not possible. title image attributes will always become the HTML attribute title of the <img>.
The plugin handles mdAST HTML nodes created by gatsby-remark-images; possibly other image-processing plugins. Order of plugins in your gatsby-config matters.
Some examples
Installation
npm install --save gatsby-remark-image-attributesHow to use
.gatsby-img-attributes
Generated markup has a CSS class gatsby-img-attributes. The plugin itself does not come with any properties for that class; you can use it to apply default styling to all images with attributes.
Options
| Name | Type | Default | Description |
|---|---|---|---|
| dataAttributes | Boolean | false | Set to true if you want attributes not recognized as styleAttribute to be added as data- attribute to the image. |
| styleAttributes | Deprecated ^1.0.0 |
styleAttributes
As of v1.0.0, this option is deprecated and the behavior described below will always apply.
The plugin uses a list of all CSS properties, as defined by the W3C, to decide whether an attribute is to be added to the image's style or not.
dataAttributes
When options.dataAttributes is true, the plugin will add all attributes whose key isn't a CSS property as data-* attribute to the image.
gatsby-config.js:
plugins: [
{
resolve: `gatsby-transformer-remark`,
options: {
plugins: [
{
resolve: `gatsby-remark-image-attributes`,
options: {
dataAttributes: true
}
}
]
}
}
];md:
Where position and height are recognized as styleAttributes, tool-tip is not and due to options.dataAttributes: true applied as data- attribute:
<img
src="https://foomoji.com/happy.png"
alt="happy"
style="position: absolute; height: 100px;"
data-tool-tip="Fancy image with tooltip"
class="gatsby-img-attributes"
/>4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago