이미지에서 다양한 속성을 추출하기 위해 mini_exiftool
을 실행하는 이미지 목록이 있습니다 (EXIF & IPTC). LiquidTag를 성공적으로 만들었습니다. 경로 및 EXIF 속성을 받아 들여 원하는 문자열로 반환합니다.지킬 - 액체에서 플러그인 개체에 액세스
그러나 mini_exiftool
은 입니다. 현재 이미지 당 여러 번 태그를 삽입합니다. 나는 이미지 당 한 번 실행하고 모든 데이터 (배열? 객체?)를 변수에 저장하려고합니다. 작은 면책 조항 -이 문제를 이해하려고 애쓰는 것을 제외하고는 루비를 거의 알지 못합니다.
{% exif path, title %}
{% exif path, lens %}
이 플러그인, 추측 및 코드의 뒤죽박죽 온라인으로 발견된다 :
이 내가 플러그인을 사용하는 방법 당신이 플러그인을 설명하는 방법에서
require 'mini_exiftool'
module Jekyll
class Exif < Liquid::Tag
def initialize(tag_name, params, token)
super
args = params.split(",").map(&:strip)
@filename = args[0]
@property = args[1]
end
def lookup(context, name)
lookup = context
name.split(".").each { |value| lookup = lookup[value] }
lookup
end
def render(context)
path = lookup(context, @filename)
exif = MiniExiftool.new(path)
return exif[@property]
end
end
end
Liquid::Template.register_tag('exif', Jekyll::Exif)
응답 해 주셔서 감사합니다. 나는 발전기를 읽을 것이고, 그것은 내 문제를 해결할 것 같아요. 나는 나의 질문을 업데이트했다, 그것은 약간의 불명확 함이었다, 당신은 대부분의 계정에 맞춰 짐작했다. ;-) – Henrik
Henrik을 듣고서 기뻐. Jekyll에 대한 관심이 더 깊다면, 나는 뻔뻔한 자기 홍보를하고 현재 작업하고있는 책 프로젝트에 대한 링크를 제공합니다 (시간이있을 때 :-)) : https://www.jekyll.io – Christian
이미 쉘 스크립트를 사용하여 파일을 처리 했으므로 exiftool에 추가 호출을 추가하여 JSON 데이터 파일로 출력 할 수있었습니다. 지킬 런타임에서 데이터가 필요했다면 발전기를 사용했을 것입니다. 이제 모든 데이터와 오버 헤드가 없습니다. 건배! – Henrik