lib/kramdown/parser/kramdown/footnote.rb in kramdown-0.11.0 vs lib/kramdown/parser/kramdown/footnote.rb in kramdown-0.12.0
- old
+ new
@@ -18,11 +18,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#++
#
-require 'kramdown/parser/kramdown/attribute_list'
+require 'kramdown/parser/kramdown/extensions'
require 'kramdown/parser/kramdown/blank_line'
require 'kramdown/parser/kramdown/codeblock'
module Kramdown
module Parser
@@ -34,12 +34,12 @@
def parse_footnote_definition
@src.pos += @src.matched_size
el = Element.new(:footnote_def)
parse_blocks(el, @src[2].gsub(INDENT, ''))
- warning("Duplicate footnote name '#{@src[1]}' - overwriting") if @doc.parse_infos[:footnotes][@src[1]]
- (@doc.parse_infos[:footnotes][@src[1]] = {})[:content] = el
+ warning("Duplicate footnote name '#{@src[1]}' - overwriting") if @footnotes[@src[1]]
+ (@footnotes[@src[1]] = {})[:content] = el
@tree.children << Element.new(:eob, :footnote_def)
true
end
define_parser(:footnote_definition, FOOTNOTE_DEFINITION_START)
@@ -47,17 +47,17 @@
FOOTNOTE_MARKER_START = /\[\^(#{ALD_ID_NAME})\]/
# Parse the footnote marker at the current location.
def parse_footnote_marker
@src.pos += @src.matched_size
- fn_def = @doc.parse_infos[:footnotes][@src[1]]
+ fn_def = @footnotes[@src[1]]
if fn_def
- valid = fn_def[:marker] && fn_def[:marker].options[:stack][0..-2].zip(fn_def[:marker].options[:stack][1..-1]).all? do |par, child|
+ valid = fn_def[:marker] && fn_def[:stack][0..-2].zip(fn_def[:stack][1..-1]).all? do |par, child|
par.children.include?(child)
end
if !fn_def[:marker] || !valid
- fn_def[:marker] = Element.new(:footnote, nil, nil, :name => @src[1])
- fn_def[:marker].options[:stack] = [@stack.map {|s| s.first}, @tree, fn_def[:marker]].flatten.compact
+ fn_def[:marker] = Element.new(:footnote, fn_def[:content], nil, :name => @src[1])
+ fn_def[:stack] = [@stack.map {|s| s.first}, @tree, fn_def[:marker]].flatten.compact
@tree.children << fn_def[:marker]
else
warning("Footnote marker '#{@src[1]}' already appeared in document, ignoring newly found marker")
add_text(@src.matched)
end