Плагин миниатюр Jekyll с тегом Liquid

Я пытаюсь использовать цикл над файлом данных с Jekyll. Код у меня следующий:

<div class="row">
  <div class="12 columns">
    <ul class="clearing-thumbs" data-clearing>
      {% for photo in site.data.unusable_photos %}
        <li><a href="{{ photo.path }}" class="th"><img class="album-photo" data-caption="{{ photo.caption }}" src="{{ photo.thumb }}"></a></li>
      {% endfor %}
    </ul>
  </div>
</div>

Однако становится все труднее вручную создавать эскизы для каждой фотографии, которая у меня есть. Я нашел подключаемый модуль Jekyll thumbnail, но не знаю, как сделать так, чтобы он соответствовал моим потребностям.

README показывает этот пример: {% thumbnail /path/to/local/image.png 50x50< %}.

Как я могу использовать {{ photo.path }} с плагином Jekyll, чтобы мне не приходилось вручную вводить имена файлов?

РЕДАКТИРОВАТЬ: Может быть, я могу отредактировать плагин, чтобы он мог получить доступ к переменной сайта?


person tekknolagi    schedule 10.01.2014    source источник
comment
Вы когда-нибудь догадывались об этом? Я думаю, что установка photo.path сработает...   -  person Kevin Chen    schedule 10.08.2014
comment
@KevinChen К сожалению, я этого не сделал, хотя, думаю, у меня был обходной путь. Дай мне проверить.   -  person tekknolagi    schedule 11.08.2014
comment
@KevinChen Знаешь что, я не знаю. Извини   -  person tekknolagi    schedule 11.08.2014
comment
Если кто-то еще найдет это, я сделал модифицированную версию thumbnailer, которая ищет путь как переменную, если он не существует на диске. Магия происходит при вызове look_up. github.com/kevin1/jekyll-thumbnailer/blob/master/thumbnail. рб   -  person Kevin Chen    schedule 11.08.2014
comment
На самом деле я собираюсь превратить это в ответ   -  person Kevin Chen    schedule 11.08.2014


Ответы (1)


Я сделал модифицированную версию thumbnailer, которая ищет то, что вы указываете как путь, как переменную, если она не существует на диске. Магия происходит при вызове look_up.

def look_up(context, name)
  lookup = context

  name.split(".").each do |value|
    lookup = lookup[value]
  end

  lookup
end

Затем в render(context) вызовите look_up:

source = look_up context, source unless File.readable?(source)

Полный код: https://github.com/kevin1/jekyll-thumbnailer/blob/master/thumbnail.rb

person Kevin Chen    schedule 11.08.2014