module Asciidoctor::Diagram::Graphviz

@private

Public Class Methods

included(mod) click to toggle source
# File lib/asciidoctor-diagram/graphviz/extension.rb, line 13
def self.included(mod)
  [:png, :pdf, :svg].each do |f|
    mod.register_format(f, :image) do |parent, source|
      graphviz(parent, source, f)
    end
  end
end

Public Instance Methods

graphviz(parent, source, format) click to toggle source
# File lib/asciidoctor-diagram/graphviz/extension.rb, line 21
def graphviz(parent, source, format)
  inherit_prefix = name

  generate_stdin(which(parent, 'dot', :alt_attrs => ['graphvizdot']), format.to_s, source.to_s) do |tool_path, output_path|
    args = [tool_path, "-o#{Platform.native_path(output_path)}", "-T#{format.to_s}"]

    layout = source.attr('layout', nil, inherit_prefix)
    args << "-K#{layout}" if layout

    args
  end
end