eleventy-plugin-images-responsiver
v3.0.0
Published
Global solution for responsive images in Eleventy, allowing authors to use Markdown syntax for image and yet get responsive images in generated HTML.
Downloads
735
Maintainers
Readme
eleventy-plugin-images-responsiver
eleventy-plugin-images-responsiver
is a simple solution for most responsive images needs with Eleventy.
This Eleventy plugin allows authors to use the standard Markdown syntax for images (![alt text](image.jpg "title text")
) and yet get responsive images in the generated HTML, with srcset
and sizes
attributes.
- Why does this project exist?
- How does it work?
- Installation
- Usage
- Alternatives
- Contributing
- License
- Authors
Why does this project exist?
As Steve Jobs once said:
You've got to start with the customer experience and run backwards to the technology.
Responsive images are one of the most difficult topics nowadays for front end developers and content authors, they involve multiple features and syntaxes, but they are required to provide a good performance to Web users.
Most content authors should not have to learn the complex responsive images HTML syntax, and how it is used by browsers to load the right image for current viewing context.
Knowing that <picture>
is only required for rare advanced usages, eleventy-plugin-images-responsiver
should be enough for most use cases, known as Resolution Switching. Read this article on Cloudfour's blog to know more of the theory.
How does it work?
eleventy-plugin-images-responsiver
is the glue between Eleventy plugin and transformations system and images-responsiver
, the generic HTML transformation npm package for simple responsive images.
Eleventy uses Markdown-it to transform Markdown content into HTML, and then runs the transform added by eleventy-plugin-images-responsiver
, which calls images-responsiver
to actually transform the HTML.
Warning This plugin doesn't generate any image, it has to be used either with already existing images, a local image resizing solution (should work with the official eleventy-img plugin), or a third party service ("image CDN") like Cloudinary.
Learn more in the detailed documentation.
Installation
To install and use the plugin, install it as a dev dependency in your Eleventy project:
npm install eleventy-plugin-images-responsiver --save-dev
Usage
Instead of jumping directly into the list of features and configuration options, let us take your hand and guide you through a step by step tutorial with actual examples.
Let's start here!
If you already know how to use the plugin and want to go directly to a section of the tutorial, here are direct links:
- Step 0: Get the resources to follow this tutorial
- Step 1: Default behaviour without the plugin
- Step 2: Default behaviour with the plugin
- Step 3: Resized images
- Step 4: Images dimensions
- Step 5: Presets
- Step 6: Presets properties
Alternatives
To deal with responsive images in Eleventy, there are multiple other plugins:
- eleventy-img by Zach Leatherman (@zachleat) is a low level utility to perform build-time image transformations for both vector and raster images, but it doesn't generateany markup
- eleventy-plugin-respimg by Eric Portis (@etportis) provides a shortcode for responsive images with Cloudinary
- eleventy-plugin-local-respimg by Sam Richard (@Snugug) provides an Eleventy transform for resizing and optimizing local images
Contributing
First, thank you for considering contributing to eleventy-plugin-images-responsiver
! It's people like you that make the open source community such a great community! 😊
There are many ways to contribute to this project. Get started here.
License
This project is licensed under the MIT License.
Authors
- Nicolas Hoizey: Idea and initial work, maintainer
See also the list of contributors who participated in this project.