Class: Asciidoctor::Diagram::PintoraConverter

Inherits:
Object
  • Object
show all
Includes:
CliGenerator, DiagramConverter
Defined in:
lib/asciidoctor-diagram/pintora/converter.rb

Instance Method Summary collapse

Methods included from CliGenerator

#generate_file, #generate_file_stdout, #generate_stdin, #generate_stdin_file, #generate_stdin_stdout

Methods included from DiagramConverter

#native_scaling?, #wrap_source

Instance Method Details

#collect_options(source) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/asciidoctor-diagram/pintora/converter.rb', line 18

def collect_options(source)
  options = {}

  options[:width] = source.attr('width')
  options[:theme] = source.attr('theme')
  options[:background_color] = source.attr('background-color')
  options[:pixel_ratio] = source.attr('pixel-ratio')

  options
end

#convert(source, format, options) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/asciidoctor-diagram/pintora/converter.rb', line 29

def convert(source, format, options)
  pintora = source.find_command('pintora')

  generate_file(pintora, 'pintora', format.to_s, source.to_s) do |tool_path, input_path, output_path|
    args = [tool_path, 'render', '-i', Platform.native_path(input_path), '-o', Platform.native_path(output_path)]


    if options[:width]
      args << '-w' << options[:width]
    end

    if options[:theme]
      args << '-t' << options[:theme]
    end

    if options[:pixel_ratio]
      args << '-p' << options[:pixel_ratio]
    end

    if options[:background_color]
      args << '-b' << options[:background_color]
    end

    {
      :args => args,
      :chdir => source.base_dir
    }
  end
end

#supported_formatsObject



14
15
16
# File 'lib/asciidoctor-diagram/pintora/converter.rb', line 14

def supported_formats
  [:png, :svg]
end