Module: Asciidoctor::Diagram::Ditaa
- Included in:
- DitaaBlockMacroProcessor, DitaaBlockProcessor
- Defined in:
- lib/asciidoctor-diagram/ditaa/extension.rb
Constant Summary collapse
- OPTIONS =
{ 'scale' => lambda { |o, v| o << '--scale' << v if v }, 'tabs' => lambda { |o, v| o << '--tabs' << v if v }, 'background' => lambda { |o, v| o << '--background' << v if v }, 'antialias' => lambda { |o, v| o << '--no-antialias' if v == 'false' }, 'separation' => lambda { |o, v| o << '--no-separation' if v == 'false'}, 'round-corners' => lambda { |o, v| o << '--round-corners' if v == 'true'}, 'shadows' => lambda { |o, v| o << '--no-shadows' if v == 'false'}, 'debug' => lambda { |o, v| o << '--debug' if v == 'true'}, 'fixed-slope' => lambda { |o, v| o << '--fixed-slope' if v == 'true'}, 'transparent' => lambda { |o, v| o << '--transparent' if v == 'true'} }
- JARS =
['ditaamini-0.10.jar'].map do |jar| File. File.join('../..', jar), File.dirname(__FILE__) end
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(mod) ⇒ Object
28 29 30 31 32 |
# File 'lib/asciidoctor-diagram/ditaa/extension.rb', line 28 def self.included(mod) mod.register_format(:png, :image) do |parent, source| ditaa(parent, source) end end |
Instance Method Details
#ditaa(parent, source) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/asciidoctor-diagram/ditaa/extension.rb', line 34 def ditaa(parent, source) Java.load global_attributes = parent.document.attributes = [] OPTIONS.keys.each do |key| value = source.attributes.delete(key) || global_attributes["ditaa-option-#{key}"] OPTIONS[key].call(, value) end = .join(' ') response = Java.send_request( :url => '/ditaa', :body => source.to_s, :headers => { 'X-Options' => } ) unless response[:code] == 200 raise Java.create_error("Ditaa image generation failed", response) end response[:body] end |