No commit activity in last 3 years
No release in over 3 years
Image data for Jekyll posts and pages. Crawls markdown files in search of image data ("src" and "alt" attributes) and makes it available as a post/page metadata attribute.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.14
~> 10.0
~> 3.0

Runtime

~> 3.4.0
 Project Readme

Jekyll Image Data

Build Status

Image data for Jekyll posts and pages. Crawls Markdown content from posts and pages in search of image data ("src" and "alt" attributes) and makes it available as a post/page metadata attribute.

Installation

Add this line to your application's Gemfile:

gem "jekyll-image-data"

And then execute:

$ bundle

Or install it yourself as:

$ gem install jekyll-image-data

Usage

Define your images using Markdown format, plain HTML or by including a .liquid file:

![Alt text](/image-url)

or

![Alt text][ref]
[ref]: /image-url
<img src="http://placehold.it/800x600" alt="Image">
{% include image.liquid src="http://placehold.it/800x600" alt="Image" %}

Note that the included file must be named image.liquid or image.html and must accept at least two parameters: src and alt.

This plugin gets executed in the :posts, :pre_render and :pages, :post_init hooks. After execution, post.data["images"] or page.data["images"] will hold alt and src data for all images inside post/page:

post.data["images"] = [
  { "alt" => "Alt text", "url" => "/media/images/800x600.png" },
  { "alt" => "Alt text", "url" => "/media/images/800x600.jpg" },
  { "alt" => "Alt text", "url" => "/media/images/800x600.gif" }
]
{% for image in page.images %}
  <img alt="{{ image.alt }}" src="{{ image.url }}" >
{% endfor %}

Excluding images

If you don't want data from some images to be included in the post.data["images"] or page.data["images"] variables, you can add the image URL to the exclude setting in the _config.yml file:

image_data:
  exclude: "/media/images/800x600.png"

Remember this setting is a regular expression. You can put the complete URL of the images or just part of it. In the above example, data from any image that contains the string /media/images/800x600.png in the src attribute won't be added to the data variable for any post or page.

Development

After checking out the repo, run script/setup to install dependencies. Then, run rake spec to run the tests. You can also run script/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/rukbotto/jekyll-image-data.

License

The gem is available as open source under the terms of the MIT License.