【发布时间】:2020-07-03 10:00:24
【问题描述】:
我创建了一个 Jekyll 标签插件,它可以在除 _layout/post.html 之外的所有模板(index/about/contact/default/page)上正常工作。我尝试在 Stackoverflow 和 Google 上寻找解决方案,但还没有找到。
我创建了一个新的“产品”集合,其中调用了我的自定义 Liquid-tag 插件以在 post.html 上呈现 HTML 代码块。这是插件,
module Jekyll
class AmazonAffiateHelper < Liquid::Tag
def initialize(tag_name, input, tokens)
super
@input = input
end
def render(context)
input_split = split_params(@input)
output = ""
if (input_split.length > 0)
href = input_split[0].strip
src = input_split[1].strip
src2 = input_split[2].strip
href2 = input_split[3].strip
output = "<a href=\"#{href}\" target=\"_blank\"><img border=\"0\" src=\"#{src}\""
output += " width=\"150\" class=\"center-block amazon-fix \"></a>"
output += " <img src=\"#{src2}\" width=\"1\" height=\"1\" border=\"0\""
output += " alt=\"\" style=\"border:none !important; margin:0px !important;\"/>"
output += " <br><br><a href=\"#{href2}\" class=\"btn btn-amazon amazon-fix\">"
output += "BUY ON AMAZON</a>"
end
return output
end
def split_params(params)
return params.split("|")
end
end
end
Liquid::Template.register_tag('amazon', Jekyll::AmazonAffiateHelper)
例如,结果输出是这样的,
Here's is a book you might like, {% amazon variable|variable2|variable3|variable4 %}
我没有从bundler exec jekyll server --trace得到任何有用的东西
我错过了什么?提前致谢
PS:我不是程序员,但我正在学习。
【问题讨论】: