class Asciidoctor::Diagram::WavedromConverter
@private
Public Instance Methods
convert(source, format, options)
click to toggle source
# File lib/asciidoctor-diagram/wavedrom/converter.rb, line 16 def convert(source, format, options) wavedrom = source.find_command('wavedrom-cli', :attrs => ['wavedrom'], :raise_on_error => false) unless wavedrom wavedrom = source.find_command('wavedrom', :raise_on_error => false) end unless wavedrom if ::Asciidoctor::Diagram::Platform.os == :macosx wavedrom = source.find_command('WaveDromEditor.app', :alt_cmds => ['wavedrom-editor.app'], :attrs => ['WaveDromEditorApp'], :path => ['/Applications'], :raise_on_error => false) if wavedrom wavedrom = File.join(wavedrom, 'Contents/MacOS/nwjs') end else wavedrom = source.find_command('WaveDromEditor', :raise_on_error => false) end end unless wavedrom source.find_command('wavedrom-cli', :attrs => ['wavedrom']) end if wavedrom.include?('-cli') generate_file(wavedrom, 'wvd', format.to_s, source.to_s) do |tool_path, input_path, output_path| { :args => [Platform.native_path(tool_path), '--input', Platform.native_path(input_path), "--#{format.to_s}", Platform.native_path(output_path)], :chdir => source.base_dir } end elsif wavedrom.include?('WaveDromEditor') generate_file(wavedrom, 'wvd', format.to_s, source.to_s) do |tool_path, input_path, output_path| { :args => [tool_path, 'source', Platform.native_path(input_path), format.to_s, Platform.native_path(output_path)], :chdir => source.base_dir } end else phantomjs = source.find_command('phantomjs', :alt_attrs => ['phantomjs_2']) generate_file(wavedrom, 'wvd', format.to_s, source.to_s) do |tool_path, input_path, output_path| { :args => [phantomjs, Platform.native_path(tool_path), '-i', Platform.native_path(input_path), "-#{format.to_s[0]}", Platform.native_path(output_path)], :chdir => source.base_dir } end end end
supported_formats()
click to toggle source
# File lib/asciidoctor-diagram/wavedrom/converter.rb, line 12 def supported_formats [:png, :svg] end