プラグインの説明に従って、テンプレート ページを作成する独自のジェネレーターを作成します。しかし、それは私のように振る舞うことはありません。生成されたテンプレートは Liquid によって解析されず、生成後にレンダリングされません。
どうすればできるか知っていますか?
現在、ジェネレーターは次のようになっています。
module Jekyll
class TagPages < Generator
safe true
priority :highest
def generate(site)
site.tags.each { |tag, posts|
html = ''
html << <<-HTML
---
layout: tag_page
---
<ul>
HTML
posts.each { |post| html << "<li>#{post.url}</li>" }
html << "</ul>"
File.open("tags/#{tag}.html", 'w+') do |file|
file.puts html
end
}
end
end
end
というわけで、例えばタグの場合、こんな感じfree-software
のページを作成します。tags/free-software.html
---
layout: tag_page
---
<ul>
<li>/link_to_my_post_relative_to_free_software.html</li>
<li>/another_amazing_post.html</li></ul>
液体システムがこのページをレンダリングするようにしたい場合はどうすればよいですか? サイトの生成の開始時に Generator が実際に呼び出されることを確認する方法はありますか?
編集:
jekyll のソース コードによると、generate
が前に呼び出されrender
ます (80 行目)。だから誰かが私が間違っていることを教えてくれたら、それは助けになるかもしれません.
編集2:
render
の後に が呼び出されてもgenerate
、この 2 つのステップの間にディスクからファイルを読み取らないため、生成されたファイルは無視されます。