Sha256: f8fc215cdb674b0d41cb504f4f4555f657030cd87ec266484812ee4e5b216de3

Contents?: true

Size: 812 Bytes

Versions: 5

Compression:

Stored size: 812 Bytes

Contents

# frozen_string_literal: true

require 'liquid'
require 'redcarpet'

module Archival
  class Parser
    def initialize(pages_root)
      @pages_root = pages_root
    end

    def parse_object(object, definition, template_file)
      markdown = Redcarpet::Markdown.new(
        Archival::MarkdownRenderer.new(prettify: true,
                                       hard_wrap: true),
        no_intra_emphasis: true,
        fenced_code_blocks: true,
        autolink: true,
        strikethrough: true,
        underline: true,
        template_file: template_file,
        pages_root: @pages_root
      )
      definition.each do |name, type|
        case type
        when 'markdown'
          object[name] = markdown.render(object[name]) if object.key? name
        end
      end
      object
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
archival-0.0.12 lib/archival/parser.rb
archival-0.0.11 lib/archival/parser.rb
archival-0.0.10 lib/archival/parser.rb
archival-0.0.9 lib/archival/parser.rb
archival-0.0.8 lib/archival/parser.rb