我写了一个Jekyll生成器,它解析markdown并将生成的HTML编码为JSON。问题是,我的代码块没有被解析。我想这是因为我用红地毯风格写了我的降价,但我的生成器不使用红地毯。
在我的生成器中,我有这样的东西:
module Jekyll
require 'json'
class JSONGenerator < Generator
safe true
priority :low
def generate(site)
# Converter for .md > .html
converter = site.getConverterImpl(Jekyll::Converters::Markdown)
# Iterate over all posts
site.posts.each do |post|
# Encode the HTML to JSON
hash = { "content" => converter.convert(post.content)}
end
end
end
end
我如何更改它以便我使用红地毯进行解析?红地毯在我的_config.yml
文件中设置为我的默认降价库。我尝试使用这个:
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true)
。但是抛出了这个异常:
Warning: Command failed: error: uninitialized constant Jekyll::JSONGenerator::Redcarpet.
看起来在 Jekyll 中使用 Redcarpet 的方法是实例化该类,然后传入site.config
.
converter = Jekyll::Converters::Markdown::RedcarpetParser.new(site.config)