diff options
| author | Marat Radchenko <marat@slonopotamus.org> | 2020-10-18 20:21:25 +0300 |
|---|---|---|
| committer | Marat Radchenko <marat@slonopotamus.org> | 2020-10-18 20:21:25 +0300 |
| commit | f68307e31ef1f65ca62c4d3b2d7151908fa28cd3 (patch) | |
| tree | 85486bb1732cb7d2d1cdcf14a895d7e4c95ff760 /lib | |
| parent | f9b7b402020ef5f37e2cd64b888f533a3e6bc10c (diff) | |
resolves #375 fix crash when inline pass macro `m` contains an icon
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/asciidoctor-epub3/converter.rb | 11 |
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' |
