如何在帖子摘录中删除一些Liquid标签?

时间:2015-09-24 14:19:42

标签: ruby jekyll liquid jekyll-extensions

我的Jekyll网站中有一些元素不适合摘录,特别是在RSS源中使用时。由于它们是由Liquid标签创建的(在自定义插件中实现),我认为应该很容易。这样的事情似乎是谨慎的:

module Jekyll
  class MyTag < Liquid::Tag
    def initialize(tag_name, text, tokens)
      super
    end

    def render(context)
      if <in excerpt>
        ""
      else
        "this should not be in an excerpt"
      end
    end
  end
end

Liquid::Template.register_tag('mytag', Jekyll::MyTag)

但是,我不知道如何检查标签是否为摘录而呈现。转储context.environmentscontext.scopescontext.registers的内容x并未发现任何有用的内容。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我没有解决Jekyll或Liquid的问题。但是,有一个相当简单的解决方法:使用CSS隐藏有问题的元素。

说你有这样的事情:

<div class="excerpt">
  {{ post.excerpt }}
</div> 

然后使用CSS隐藏元素:

div.excerpt {
  .footnote,.footnotes,.marginnote {
    display: none;
  }
} 

这些课程取决于您使用的Markdown引擎,插件和主题。显然。