Module: PictureTag

Extended by:
Router
Defined in:
lib/jekyll_picture_tag.rb,
lib/jekyll_picture_tag/cache.rb,
lib/jekyll_picture_tag/utils.rb,
lib/jekyll_picture_tag/router.rb,
lib/jekyll_picture_tag/version.rb,
lib/jekyll_picture_tag/instructions.rb,
lib/jekyll_picture_tag/srcsets/basic.rb,
lib/jekyll_picture_tag/srcsets/width.rb,
lib/jekyll_picture_tag/images/img_uri.rb,
lib/jekyll_picture_tag/parsers/preset.rb,
lib/jekyll_picture_tag/defaults/global.rb,
lib/jekyll_picture_tag/defaults/presets.rb,
lib/jekyll_picture_tag/images/image_file.rb,
lib/jekyll_picture_tag/output_formats/img.rb,
lib/jekyll_picture_tag/parsers/tag_parser.rb,
lib/jekyll_picture_tag/images/source_image.rb,
lib/jekyll_picture_tag/output_formats/auto.rb,
lib/jekyll_picture_tag/srcsets/pixel_ratio.rb,
lib/jekyll_picture_tag/output_formats/basic.rb,
lib/jekyll_picture_tag/parsers/arg_splitter.rb,
lib/jekyll_picture_tag/parsers/configuration.rb,
lib/jekyll_picture_tag/parsers/image_backend.rb,
lib/jekyll_picture_tag/images/generated_image.rb,
lib/jekyll_picture_tag/output_formats/picture.rb,
lib/jekyll_picture_tag/output_formats/data_img.rb,
lib/jekyll_picture_tag/parsers/html_attributes.rb,
lib/jekyll_picture_tag/output_formats/data_auto.rb,
lib/jekyll_picture_tag/output_formats/direct_url.rb,
lib/jekyll_picture_tag/output_formats/data_picture.rb,
lib/jekyll_picture_tag/output_formats/naked_srcset.rb,
lib/jekyll_picture_tag/instructions/children/config.rb,
lib/jekyll_picture_tag/instructions/children/params.rb,
lib/jekyll_picture_tag/instructions/children/preset.rb,
lib/jekyll_picture_tag/instructions/children/context.rb,
lib/jekyll_picture_tag/instructions/children/parsers.rb,
lib/jekyll_picture_tag/output_formats/data_attributes.rb,
lib/jekyll_picture_tag/instructions/parents/env_instruction.rb,
lib/jekyll_picture_tag/instructions/parents/conditional_instruction.rb

Overview

Title: Jekyll Picture Tag Authors: Rob Wierzbowski : @robwierzbowski Justin Reese : @justinxreese Welch Canavan : @xiwcx Robert Buchberger : @celeritas_5k

Description: Easy responsive images for Jekyll.

Download: https://rubygems.org/gems/jekyll_picture_tag Documentation: https://rbuchberger.github.io/jekyll_picture_tag/ Issues: https://github.com/rbuchberger/jekyll_picture_tag/

Syntax: picture [preset] img.jpg [media_query: alt-img.jpg] [attributes] %

Examples:

{% picture poster.jpg --alt The strange case of responsive images %}

{% picture
 gallery
 poster.jpg
 source_small: poster_closeus.jpg
 --alt The strange case of responsive images
 --img class="gal-img"
%}

See the documentation for full configuration and usage instructions.

Defined Under Namespace

Modules: Instructions, OutputFormats, Parsers, Router, Srcsets, Utils Classes: Cache, GeneratedImage, ImageFile, ImgURI, Picture, SourceImage

Constant Summary collapse

ROOT_PATH =
__dir__
VERSION =
'2.1.3'.freeze
DEFAULT_CONFIG =

Default settings for _config.yml

{
  'picture' => {
    'source' => '',
    'output' => 'generated',
    'suppress_warnings' => false,
    'relative_url' => true,
    'cdn_environments' => ['production'],
    'nomarkdown' => true,
    'ignore_missing_images' => false,
    'disabled' => false,
    'fast_build' => false,
    'ignore_baseurl' => false,
    'baseurl_key' => 'baseurl'
  }
}.freeze
DEFAULT_PRESET =
{ 'markup' => 'auto',
'formats' => ['original'],
'widths' => [400, 600, 800, 1000],
'fallback_width' => 800,
'fallback_format' => 'original',
'noscript' => false,
'link_source' => false,
'quality' => 75,
'format_quality' => { 'webp' => 50,
                      'avif' => 30,
                      'jp2' => 30 },
'data_sizes' => true,
'keep' => 'attention',
'dimension_attributes' => false,
'strip_metadata' => true,
'image_options' => {
  'avif' => { 'compression' => 'av1', 'speed' => 8 }
} }.freeze
STOCK_PRESETS =
{
  'jpt-webp' => { 'formats' => %w[webp original] },

  'jpt-avif' => { 'formats' => %w[avif webp original] },

  'jpt-lazy' => { 'markup' => 'data_auto',
                  'noscript' => true,
                  'formats' => %w[webp original],
                  'attributes' => { 'parent' => 'class="lazy"' } },

  'jpt-loaded' => { 'formats' => %w[avif jp2 webp original],
                    'dimension_attributes' => true },

  'jpt-direct' => { 'markup' => 'direct_url',
                    'fallback_format' => 'webp',
                    'fallback_width' => 600 },

  'jpt-thumbnail' => { 'base_width' => 250,
                       'pixel_ratios' => [1, 1.5, 2],
                       'formats' => %w[webp original],
                       'fallback_width' => 250,
                       'attributes' => { 'picture' => 'class="icon"' } },

  'jpt-avatar' => { 'base_width' => 100,
                    'pixel_ratios' => [1, 1.5, 2],
                    'fallback_width' => 100,
                    'crop' => '1:1' }
}.freeze
STOCK_MEDIA_QUERIES =
{
  'jpt-mobile' => 'max-width: 480px',
  'jpt-tablet' => 'max-width: 768px',
  'jpt-laptop' => 'max-width: 1024px',
  'jpt-desktop' => 'max-width: 1200px',
  'jpt-wide' => 'min-width: 1201px'
}.freeze

Instance Attribute Summary

Attributes included from Router

#context, #raw_params

Method Summary

Methods included from Router

clear_instructions, method_missing, respond_to_missing?