1

最好先说我对 Ruby 和 Liquid 很陌生。我已经四处寻找有关此问题的一些资源,但还没有找到任何真正有用的东西。

我有一个 Jekyll 站点,它使用 HTML5 History API。我有一个 Jekyll 生成器插件,它创建一个包含所有帖子和页面内容的 JSON 文件,可以与 HTML5 PushState 和 PopState 一起使用。这部分功能正常并经过测试。

当我在网站上有一个包含 Liquid 标签的帖子/页面时,我的问题就出现了。我猜在为每个帖子/页面创建 JSON 对象之前,我需要解析这些 Liquid 标签以获取模板输出。以下是我的页面示例:

# Iterate over all pages
site.pages.each do |page|

# Encode the page HTML content to JSON
link = page.url
    @content = Liquid::Template.parse(page.content)
    hash[link] = { "body_class" => page.data['body_class'], "content" => converter.convert(@content.render), "title" => '<h1>' + page.data["content_title"] + '</h1>' }
end

现在,这基本上是从生成的 JSON 文件中删除所有 Liquid 标签,不留下任何内容。

这是我在Github上的完整生成器文件,它非常基于Jezen Thomas 的出色工作

输出 JSON 文件也在该站点的存储库中,或者可以在此处快速访问。blog.html 内容是 JSON 文件中的最后一项,显示了应该有内容的空 h1 和 div 标签。

4

0 回答 0