Jekyll Image Data
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.