# -*- coding: utf-8 -*- # #-- # Copyright (C) 2009-2014 Thomas Leitner # # This file is part of kramdown which is licensed under the MIT. #++ # require 'kramdown/parser/html' module Kramdown module Parser class Kramdown # Parse the HTML entity at the current location. def parse_html_entity start_line_number = @src.current_line_number @src.pos += @src.matched_size begin @tree.children << Element.new(:entity, ::Kramdown::Utils::Entities.entity(@src[1] || (@src[2] && @src[2].to_i) || @src[3].hex), nil, :original => @src.matched, :location => start_line_number) rescue ::Kramdown::Error @tree.children << Element.new(:entity, ::Kramdown::Utils::Entities.entity('amp'), nil, :location => start_line_number) add_text(@src.matched[1..-1]) end end define_parser(:html_entity, Kramdown::Parser::Html::Constants::HTML_ENTITY_RE, '&') end end end