Sha256: 210ea58359ad55f173f76470096accd952285e05084f5a3a46984e9b39e62b6f

Contents?: true

Size: 607 Bytes

Versions: 8

Compression:

Stored size: 607 Bytes

Contents

# frozen_string_literal: true

module Luo
  class ParserMarkdown
    def initialize(text)
      @renderer = CustomRenderer.new
      @markdown = Redcarpet::Markdown.new(@renderer, fenced_code_blocks: true)
      @text = text

      parse @text
    end

    def code
      @renderer.code
    end

    def language
      @renderer.language
    end

    def parse(text)
      @markdown.render(text)
    end

    class CustomRenderer < Redcarpet::Render::HTML
      attr_reader :code, :language

      def block_code(code, language)
        @code = code
        @language = language
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
luo-0.2.7 lib/luo/parser_markdown.rb
luo-0.2.6 lib/luo/parser_markdown.rb
luo-0.2.5 lib/luo/parser_markdown.rb
luo-0.2.4 lib/luo/parser_markdown.rb
luo-0.2.3 lib/luo/parser_markdown.rb
luo-0.2.2 lib/luo/parser_markdown.rb
luo-0.2.1 lib/luo/parser_markdown.rb
luo-0.2.0 lib/luo/parser_markdown.rb