Sha256: 9907fa359fd8293e9c51eae80496d29af4d508033aa370669642ce3bbcba6fc2

Contents?: true

Size: 864 Bytes

Versions: 17

Compression:

Stored size: 864 Bytes

Contents

# -*- coding: utf-8; frozen_string_literal: true -*-
#
#--
# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at>
#
# This file is part of kramdown which is licensed under the MIT.
#++
#

require 'kramdown/parser'
require 'kramdown/converter'
require 'kramdown/utils'

module Kramdown

  module Converter

    # Converts a Kramdown::Document to a nested hash for further processing or debug output.
    class HashAST < Base

      def convert(el)
        hash = {type: el.type}
        hash[:attr] = el.attr unless el.attr.empty?
        hash[:value] = el.value unless el.value.nil?
        hash[:options] = el.options unless el.options.empty?
        unless el.children.empty?
          hash[:children] = []
          el.children.each {|child| hash[:children] << convert(child) }
        end
        hash
      end

    end

    HashAst = HashAST

  end
end

Version data entries

17 entries across 17 versions & 4 rubygems

Version Path
kramdown-2.5.1 lib/kramdown/converter/hash_ast.rb
kramdown-2.5.0 lib/kramdown/converter/hash_ast.rb
getargv-0.3.3-universal-darwin vendor/bundle/ruby/3.3.0/gems/kramdown-2.4.0/lib/kramdown/converter/hash_ast.rb
kramdown-2.4.0 lib/kramdown/converter/hash_ast.rb
kramdown-2.3.2 lib/kramdown/converter/hash_ast.rb
kramdown-2.3.1 lib/kramdown/converter/hash_ast.rb
daqing_kramdown-2.3.2 lib/kramdown/converter/hash_ast.rb
daqing_kramdown-2.3.1 lib/kramdown/converter/hash_ast.rb
zine_brewer-1.5.0 vendor/bundle/ruby/2.7.0/gems/kramdown-2.3.0/lib/kramdown/converter/hash_ast.rb
zine_brewer-1.3.0 vendor/bundle/ruby/2.7.0/gems/kramdown-2.3.0/lib/kramdown/converter/hash_ast.rb
kramdown-2.3.0 lib/kramdown/converter/hash_ast.rb
kramdown-2.2.1 lib/kramdown/converter/hash_ast.rb
kramdown-2.2.0 lib/kramdown/converter/hash_ast.rb
kramdown-2.1.0 lib/kramdown/converter/hash_ast.rb
kramdown-2.0.0 lib/kramdown/converter/hash_ast.rb
kramdown-2.0.0.beta2 lib/kramdown/converter/hash_ast.rb
kramdown-2.0.0.beta1 lib/kramdown/converter/hash_ast.rb