0
我寫了一個Jekyll插件「Tags」,它生成一個文件並返回該文件的鏈接字符串。使用Jekyll插件在_site內生成文件
一切都很好,但如果我直接將該文件寫入_site文件夾,它將被刪除。如果我將該文件放在_site文件夾之外,它不會在_site內部生成。
我應該在哪裏以及如何添加我的文件,使其在_site文件夾中可用?
我寫了一個Jekyll插件「Tags」,它生成一個文件並返回該文件的鏈接字符串。使用Jekyll插件在_site內生成文件
一切都很好,但如果我直接將該文件寫入_site文件夾,它將被刪除。如果我將該文件放在_site文件夾之外,它不會在_site內部生成。
我應該在哪裏以及如何添加我的文件,使其在_site文件夾中可用?
您應該使用類Page
這個和調用方法render
和write
。
這是一個例子,生成archive page在我的博客:
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
我發現傑奇:: StaticFile可以擴展到生成靜態文件! – roxxypoxxy
@roxxypoxxy究竟如何?你是否會立即生成這些文件,然後將其刪除? (即不在源文件夾中) – Elchin