【问题标题】:Liquid variable in Jekyll frontmatter ... and use it in a Jekyll pluginJekyll frontmatter 中的 Liquid 变量......并在 Jekyll 插件中使用它
【发布时间】:2020-01-22 01:19:32
【问题描述】:

我非常喜欢通过jekyll-liquify 插件在 Jekyll frontmatter 中使用 Liquid 变量的可能性:

module LiquidFilter
  def liquify(input)
    Liquid::Template.parse(input).render(@context)
  end
end

Liquid::Template.register_filter(LiquidFilter)

效果很好,但我想更进一步,使用插件jekyll-image-size 从在frontmatter 中作为液体变量给出的图像中读取图像大小

image: '{{ page.myimage }}'

...所以我需要在 jekyll-image-size 插件中实现上述解析器

...
class ImageSizeTag < Liquid::Tag

  def initialize(tagName, content, tokens)
    super
    @content = content.strip
    @tokens = tokens
  end
...

我不知道 ruby​​,所以我不知道该怎么做,但我想它不应该太复杂。感谢您的帮助!

【问题讨论】:

    标签: jekyll liquid jekyll-extensions


    【解决方案1】:

    非常简单的解决方案,使用分配或捕获以及一个挂钩或 jekyll 的液化插件:

    {% assign image = page.myimage | liquify %}
    {% imagesize image:size %}
    

    {% capture image %}{{ page.myimage | liquify }}{% endcapture %}
    {% imagesize image:size %}
    

    ...如果您想在 frontmatter 中使用变量来包含来自另一个变量的图像并使用 jekyll-image-size 插件...可能对其他插件也有用。

    https://github.com/gemfarmer/jekyll-liquify

    http://acegik.net/blog/ruby/jekyll/plugins/howto-nest-liquid-template-variables-inside-yaml-front-matter-block.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多