From 2dd32393c0744e758358b794446473c57afa0714 Mon Sep 17 00:00:00 2001 From: uvok cheetah Date: Sun, 6 Oct 2024 12:01:26 +0200 Subject: Improve image tag Add linked image. Use consistent parameter names. --- _plugins/image.rb | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/_plugins/image.rb b/_plugins/image.rb index 0a202ca..64a944f 100644 --- a/_plugins/image.rb +++ b/_plugins/image.rb @@ -1,28 +1,62 @@ module Jekyll - class ImageTag < Liquid::Tag - + class ImageTagBase < Liquid::Tag def initialize(tag_name, parameters, tokens) super @params = {} parameters.scan(/(\w+)\s*=\s*"([^"]+)"/) do |key, value| @params[key] = value end + + if not @params['img'] + raise StandardError.new "Must provide image" + end end + def image_tag + img = @params['img'] + alt = @params['alt'] + + if alt + "#{alt}" + else + "" + end + end + + end + + class ImageTag < ImageTagBase def render(context) environment = ENV['JEKYLL_ENV'] || 'development' - url = @params['url'] - alt = @params['alt'] || "Link to image" + img = @params['img'] + alt = @params['alt'] if environment == 'ipfs' - "#{alt}" - elsif alt - "#{alt}" + alt = alt || "Link to image" + "#{alt}" else - "" + image_tag end end Liquid::Template.register_tag('image', self) end + + class LinkedImageTag < ImageTagBase + def render(context) + environment = ENV['JEKYLL_ENV'] || 'development' + + img = @params['img'] + url = @params['url'] || img + alt = @params['alt'] + + if environment == 'ipfs' + alt = alt || "Link to image" + "#{alt}" + else + "#{image_tag}" + end + end + Liquid::Template.register_tag('linked_image', self) + end end -- cgit v1.2.3