从Jekyll插件访问免费标记的帖子和页面内容

时间:2015-02-23 03:51:12

标签: jekyll

我正在开发一个插件来解析所有帖子并将它们收集到一个JSON文件中以供搜索机制使用。 我如何才能访问帖子的文字,没有标记?我目前正在访问site.posts,例如循环中page.content。这将返回帖子的内容,但包括换行标记(\n)和Markdown语法。

我看到了另一个人想要get Markdown processed content in a Jekyll tag plugin的问题,但我的情况有所不同:我根本不想要任何标记,只是文章的纯文本,没有应用格式。< / p>

以下是我当前实施中的密钥def

def generate(site)
  target = File.open('js/searchcontent.js', 'w')
  target.truncate(target.size)
  target.puts('var tipuesearch = {"pages": [')

  all_but_last, last = site.posts[0..-2], site.posts.last

  # Process all posts but the last one
  all_but_last.each do |page|
    tp_page = TipuePage.new(
      page.data['title'],
      "#{page.data['tags']} #{page.data['categories']}",
      page.url,
      page.content
    )
    target.puts(tp_page.to_json + ',')
  end

  # Do the last post
  tp_page = TipuePage.new(
    last.data['title'],
    "#{last.data['tags']} #{last.data['categories']}",
    last.url,
    last.content
  )
  target.puts(tp_page.to_json)

  target.puts(']};')
  target.close
end

1 个答案:

答案 0 :(得分:1)

也许你可以试试这个:

{{ page.content | strip_html | strip_newlines }}

编辑显然我误解了你的问题。

但您可以将液体过滤器与include Liquid::StandardFilters

一起使用

然后,您可以在插件中使用strip_htmlstrip_newlines