Class: Asciidoctor::Diagram::PikchrConverter

Inherits:
Object
  • Object
show all
Includes:
CliGenerator, DiagramConverter
Defined in:
lib/asciidoctor-diagram/pikchr/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

#collect_options, #native_scaling?, #wrap_source

Instance Method Details

#convert(source, format, options) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/asciidoctor-diagram/pikchr/converter.rb', line 17

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

  output = generate_file_stdout(pikchr_path, format.to_s, source.to_s) do |tool_path, input_path|
    {
      :args => [tool_path, "--svg-only", input_path],
      :chdir => source.base_dir
    }
  end

  if output.start_with? '<svg'
    output
  else
    error = output.gsub(/<\/?[a-z]+>\n?/i, '')
    raise error
  end
end

#supported_formatsObject



13
14
15
# File 'lib/asciidoctor-diagram/pikchr/converter.rb', line 13

def supported_formats
  [:svg]
end