如何将液体标签添加到Jekyll中的YAML前端物质中?

如何将液体标签添加到Jekyll中的YAML前端物质中?,yaml,jekyll,liquid,jekyll-extensions,Yaml,Jekyll,Liquid,Jekyll Extensions,我正在使用一个基于谷歌分析计算帖子和页面的页面浏览量。为了显示页面浏览量,我使用了一个液体标签{%pageview%}。有没有办法将这些数据添加到YAML front matter中,这样就可以通过类似{{page.views}的方式在其他页面上的热门帖子列表中访问这些数据 以下是插件中液体标签的代码: class PageViewTag < Liquid::Tag def initialize(name, marker, token) @params = Hash[*mar

我正在使用一个基于谷歌分析计算帖子和页面的页面浏览量。为了显示页面浏览量,我使用了一个液体标签
{%pageview%}
。有没有办法将这些数据添加到YAML front matter中,这样就可以通过类似
{{page.views}
的方式在其他页面上的热门帖子列表中访问这些数据

以下是插件中液体标签的代码:

class PageViewTag < Liquid::Tag

  def initialize(name, marker, token)
    @params = Hash[*marker.split(/(?:: *)|(?:, *)/)]
    super
  end

  def render(context)
    site = context.environments.first['site']
    if !site['page-view']
      return ''
    end

    post = context.environments.first['post']
    if post == nil
      post = context.environments.first['page']
      if post == nil
        return ''
      end
    end

    pv = post['_pv']
    if pv == nil
      return ''
    end

    html = pv.to_s.reverse.gsub(/...(?=.)/,"\\&\u2009").reverse
    return html
  end #render
end # PageViewTag
class PageViewTag

如何将此数据合并到post(集合中的文档)的数据,而不是注册液体标记?并使用via
{{page.views}

您可以使用a向您的帖子或页面添加一些
数据['views']

以下是我制作的插件的代码:

require 'jekyll'

module Jekyll
  class PageviewsData < Jekyll::Generator
    safe :true
    priority :low

    def generate(site)
      # require ga-page-view plugin
      if !site.config['page-view']
        return
      end

      site.collections.each  do |label, collection|
        collection.docs.each { |doc|
          pv = doc.data['_pv']
          views = pv.to_s.reverse.gsub(/...(?=.)/,"\\&\u2009").reverse
          doc.data.merge!('views' => views)
        }
      end
    end
  end
end
require'jekyll'
杰基尔模块
类PageviewsDataviews)
}
结束
结束
结束
结束

你好,大卫,谢谢你的创意!我在下面发布了我制作的插件的代码。