Module: Asciidoctor::Diagram::Office

Includes:
CliGenerator, Which
Included in:
OfficeBlockMacroProcessor, OfficeBlockProcessor
Defined in:
lib/asciidoctor-diagram-office/extension.rb,
lib/asciidoctor-diagram-office/version.rb

Defined Under Namespace

Classes: Source

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/asciidoctor-diagram-office/extension.rb', line 51

def self.included(mod)
  [:png, :svg].each do |f|
    mod.register_format(f, :image) do |parent, source|
      office(parent, source, f)
    end
  end
end

Instance Method Details

#office(parent_block, source, format) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/asciidoctor-diagram-office/extension.rb', line 59

def office(parent_block, source, format)
  inherit_prefix = name

  options = {}

  unoconv = which(parent_block, 'unoconv', :raise_on_error => false)
  inkscape = which(parent_block, 'inkscape', :raise_on_error => false)

  if unoconv
    OfficeServer.listen
    options[:page] = source.attr('page', '1', inherit_prefix)
    run_convert(unoconv, inkscape, source, format, options)
  end
end