Я пытаюсь написать плагин Jekyll, который вычисляет пропорции изображения и обертывает его в контейнер такого размера, чтобы избежать переполнения при загрузке страницы. Я использую fastimage для вычисления отношения, прямо сейчас это выглядит следующим образом:Плагин Jekyll с использованием FastImage возвращает ошибку с локальными изображениями
require 'fastimage'
module Jekyll
class PlaceholderImageTag < Liquid::Tag
def initialize(tag_name, markup, tokens)
super
@image_url = 'image_url'
end
def render(context)
@index = Liquid::Template.parse("{{ forloop.index | minus: 1 }}").render(context)
@base_url = Liquid::Template.parse("{{ site.#{@image_url} }}").render(context)
@src = Liquid::Template.parse("{{ page.images[#{@index}].image }}").render(context)
@size = FastImage.size("http://localhost:4000/public/images/"[email protected])
@ratio = (@size[1]*1.0/@size[0])*100
placeholder = "<div class='placeholder' style='padding-bottom:#{@ratio}%'>"
placeholder += "<img src=\"#{@base_url}\/#{@src}\"/>"
placeholder += "</div>"
end
end
end
Liquid::Template.register_tag('placeholder_img', Jekyll::PlaceholderImageTag)
Вопрос заключается в том, что, когда я строю свой сайт локально (локальный: 4000) FastImage возвращается и ошибки - Если я указываю FastImage к другой локальный сервер (например, MAMP) или мой производственный URL-адрес, он работает отлично, однако использование сервера jekyll просто терпит неудачу.
Можно ли заставить FastImage работать, не указывая на отдельный сервер?
А это заставило его работать, спасибо! –