summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMarat Radchenko <marat@slonopotamus.org>2020-10-18 20:21:25 +0300
committerMarat Radchenko <marat@slonopotamus.org>2020-10-18 20:21:25 +0300
commitf68307e31ef1f65ca62c4d3b2d7151908fa28cd3 (patch)
tree85486bb1732cb7d2d1cdcf14a895d7e4c95ff760 /lib
parentf9b7b402020ef5f37e2cd64b888f533a3e6bc10c (diff)
resolves #375 fix crash when inline pass macro `m` contains an icon
Diffstat (limited to 'lib')
-rw-r--r--lib/asciidoctor-epub3/converter.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/asciidoctor-epub3/converter.rb b/lib/asciidoctor-epub3/converter.rb
index 6344553..63dbba0 100644
--- a/lib/asciidoctor-epub3/converter.rb
+++ b/lib/asciidoctor-epub3/converter.rb
@@ -143,6 +143,10 @@ module Asciidoctor
title
end
+ def icon_names
+ @icon_names ||= []
+ end
+
def convert_document node
@format = node.attr('ebook-format').to_sym
@@ -152,7 +156,6 @@ module Asciidoctor
@kindlegen_path = node.attr 'ebook-kindlegen-path'
@epubcheck_path = node.attr 'ebook-epubcheck-path'
@xrefs_seen = ::Set.new
- @icon_names = []
@media_files = {}
@footnotes = []
@@ -360,10 +363,10 @@ module Asciidoctor
# NOTE must run after content is resolved
# TODO perhaps create dynamic CSS file?
- if @icon_names.empty?
+ if icon_names.empty?
icon_css_head = ''
else
- icon_defs = @icon_names.map {|name|
+ icon_defs = icon_names.map {|name|
%(.i-#{name}::before { content: "#{FontIconMap.unicode name}"; })
} * LF
icon_css_head = %(<style>
@@ -1169,7 +1172,7 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
def convert_inline_image node
if node.type == 'icon'
- @icon_names << (icon_name = node.target)
+ icon_names << (icon_name = node.target)
i_classes = ['icon', %(i-#{icon_name})]
i_classes << %(icon-#{node.attr 'size'}) if node.attr? 'size'
i_classes << %(icon-flip-#{(node.attr 'flip')[0]}) if node.attr? 'flip'