产生内部_site文件,杰奇插件(Generate file inside _site with J

2019-10-17 06:15发布

我写了一个哲基尔插件“标签”,它生成一个文件,并返回链接到该文件的字符串。

一切都很好,但如果我直接写文件到_site文件夹,它被删除。 如果我把那个文件夹_site外,它没有内部_site产生。

在哪里,我应该怎么加我的文件,以便它是可用的_site文件夹内?

Answer 1:

您应该使用类Page ,这和调用方法renderwrite

这是生成一个例子档案页面 ,在我的博客:

module Jekyll
  class ArchiveIndex < Page
    def initialize(site, base, dir, periods)
      @site = site
      @base = base
      @dir = dir
      @name = 'archive.html'
      self.process(@name)
      self.read_yaml(File.join(base, '_layouts'), 'archive_index.html')
      self.data['periods'] = periods
    end   
  end

  class ArchiveGenerator < Generator
    priority :low

    def generate(site)
        periods = site.posts.reverse.group_by{ |c| {"month" => Date::MONTHNAMES[c.date.month], "year" => c.date.year} }

        index = ArchiveIndex.new(site, site.source, '/', periods)
        index.render(site.layouts, site.site_payload)
        index.write(site.dest)
        site.pages << index
    end
  end
end


文章来源: Generate file inside _site with Jekyll plugin