Конвертируйте сообщения Jekyll с помощью Redcarpet

Я написал генератор Jekyll, который анализирует уценку и кодирует полученный HTML в JSON. Проблема в том, что мои блоки кода не анализируются. Я думаю, это потому, что я записал уценку в стиле Redcarpet, но мой генератор не использует Redcarpet.

В моем генераторе у меня есть что-то вроде этого:

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

Как я могу изменить его, чтобы вместо этого я выполнял синтаксический анализ с помощью Redcarpet? Redcarpet установлен как моя библиотека уценки по умолчанию в моем файле _config.yml. Я пытался использовать это:

markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true)

... Но было выбрано это исключение:

Warning: Command failed: error: uninitialized constant Jekyll::JSONGenerator::Redcarpet.

person Jezen Thomas    schedule 11.09.2013    source источник


Ответы (1)


Похоже, Redcarpet можно использовать в Jekyll, создавая экземпляр этого класса и передавая site.config.

converter = Jekyll::Converters::Markdown::RedcarpetParser.new(site.config)
person Jezen Thomas    schedule 12.09.2013