Class: Jekyll::Diagrams::SMCatBlock

Inherits:
Block
  • Object
show all
Defined in:
lib/jekyll-diagrams/smcat.rb

Constant Summary collapse

CONFIGURATIONS =
%w( direction engine input-type ).freeze

Instance Method Summary collapse

Methods inherited from Block

#read_config, #render, #wrap_class

Methods included from Util

#config_for, #diagrams_config, #vendor_path

Methods included from Renderer

#render_with_command, #render_with_stdin, #render_with_stdin_stdout, #render_with_stdout, #render_with_tempfile

Instance Method Details

#build_command(config) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/jekyll-diagrams/smcat.rb', line 16

def build_command(config)
  command = 'smcat'

  CONFIGURATIONS.each do |conf|
    command << " --#{conf} #{config[conf]}" if config.has_key?(conf)
  end

  command
end

#render_svg(code, config) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/jekyll-diagrams/smcat.rb', line 6

def render_svg(code, config)
  command = build_command(config)

  svg = render_with_stdout(command, code) do |command, input|
    "#{command} #{input} -"
  end

  svg.sub!(/^<\?xml(([^>]|\n)*>\n?){2}/, '')
end