asciidoctor-diagram 2.0.5 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +52 -2
  3. data/README.adoc +25 -516
  4. data/Rakefile +1 -1
  5. data/docs/antora.yml +3 -0
  6. data/{images → docs/modules/ROOT/images}/asciidoctor-diagram-classes.png +0 -0
  7. data/docs/modules/ROOT/images/asciidoctor-diagram-process.png +0 -0
  8. data/docs/modules/ROOT/pages/index.adoc +21 -0
  9. data/docs/modules/ROOT/partials/advanced.adoc +362 -0
  10. data/docs/modules/ROOT/partials/create_diagram.adoc +134 -0
  11. data/docs/modules/ROOT/partials/generate.adoc +15 -0
  12. data/docs/modules/ROOT/partials/installation.adoc +19 -0
  13. data/docs/modules/ROOT/partials/uris.adoc +41 -0
  14. data/examples/features.adoc +1 -1
  15. data/lib/asciidoctor-diagram.rb +2 -0
  16. data/lib/asciidoctor-diagram/a2s.rb +1 -0
  17. data/lib/asciidoctor-diagram/a2s/extension.rb +4 -0
  18. data/lib/asciidoctor-diagram/barcode.rb +11 -0
  19. data/lib/asciidoctor-diagram/barcode/converter.rb +157 -0
  20. data/lib/asciidoctor-diagram/barcode/dependencies.rb +10 -0
  21. data/lib/asciidoctor-diagram/barcode/extension.rb +47 -0
  22. data/lib/asciidoctor-diagram/barcode/svg_outputter.rb +12 -0
  23. data/lib/asciidoctor-diagram/blockdiag.rb +1 -0
  24. data/lib/asciidoctor-diagram/blockdiag/extension.rb +5 -0
  25. data/lib/asciidoctor-diagram/bpmn.rb +1 -0
  26. data/lib/asciidoctor-diagram/bpmn/extension.rb +4 -0
  27. data/lib/asciidoctor-diagram/bytefield.rb +1 -0
  28. data/lib/asciidoctor-diagram/bytefield/extension.rb +4 -0
  29. data/lib/asciidoctor-diagram/diagram_converter.rb +4 -0
  30. data/lib/asciidoctor-diagram/diagram_processor.rb +55 -6
  31. data/lib/asciidoctor-diagram/diagram_source.rb +23 -7
  32. data/lib/asciidoctor-diagram/diagrams.rb +8 -0
  33. data/lib/asciidoctor-diagram/diagrams/converter.rb +49 -0
  34. data/lib/asciidoctor-diagram/diagrams/extension.rb +18 -0
  35. data/lib/asciidoctor-diagram/ditaa.rb +1 -0
  36. data/lib/asciidoctor-diagram/ditaa/converter.rb +14 -5
  37. data/lib/asciidoctor-diagram/ditaa/ditaa-1.3.20.jar +0 -0
  38. data/lib/asciidoctor-diagram/ditaa/extension.rb +4 -0
  39. data/lib/asciidoctor-diagram/dpic.rb +1 -0
  40. data/lib/asciidoctor-diagram/dpic/extension.rb +4 -0
  41. data/lib/asciidoctor-diagram/erd.rb +1 -0
  42. data/lib/asciidoctor-diagram/erd/extension.rb +4 -0
  43. data/lib/asciidoctor-diagram/gnuplot.rb +1 -0
  44. data/lib/asciidoctor-diagram/gnuplot/extension.rb +4 -0
  45. data/lib/asciidoctor-diagram/graphviz.rb +1 -0
  46. data/lib/asciidoctor-diagram/graphviz/extension.rb +4 -0
  47. data/lib/asciidoctor-diagram/http/converter.rb +34 -16
  48. data/lib/asciidoctor-diagram/http/server.rb +1 -1
  49. data/lib/asciidoctor-diagram/lilypond.rb +1 -0
  50. data/lib/asciidoctor-diagram/lilypond/converter.rb +11 -1
  51. data/lib/asciidoctor-diagram/lilypond/extension.rb +4 -0
  52. data/lib/asciidoctor-diagram/meme.rb +1 -0
  53. data/lib/asciidoctor-diagram/meme/converter.rb +15 -9
  54. data/lib/asciidoctor-diagram/meme/extension.rb +14 -16
  55. data/lib/asciidoctor-diagram/mermaid.rb +1 -0
  56. data/lib/asciidoctor-diagram/mermaid/converter.rb +27 -10
  57. data/lib/asciidoctor-diagram/mermaid/extension.rb +4 -0
  58. data/lib/asciidoctor-diagram/msc.rb +1 -0
  59. data/lib/asciidoctor-diagram/msc/extension.rb +4 -0
  60. data/lib/asciidoctor-diagram/nomnoml.rb +1 -0
  61. data/lib/asciidoctor-diagram/nomnoml/extension.rb +4 -0
  62. data/lib/asciidoctor-diagram/pikchr.rb +1 -0
  63. data/lib/asciidoctor-diagram/pikchr/converter.rb +8 -1
  64. data/lib/asciidoctor-diagram/pikchr/extension.rb +4 -0
  65. data/lib/asciidoctor-diagram/plantuml.rb +1 -0
  66. data/lib/asciidoctor-diagram/plantuml/converter.rb +67 -42
  67. data/lib/asciidoctor-diagram/plantuml/extension.rb +8 -0
  68. data/lib/asciidoctor-diagram/plantuml/plantuml-1.3.20.jar +0 -0
  69. data/lib/asciidoctor-diagram/salt.rb +1 -0
  70. data/lib/asciidoctor-diagram/shaape.rb +1 -0
  71. data/lib/asciidoctor-diagram/shaape/extension.rb +4 -0
  72. data/lib/asciidoctor-diagram/smcat.rb +1 -0
  73. data/lib/asciidoctor-diagram/smcat/extension.rb +4 -0
  74. data/lib/asciidoctor-diagram/svgbob.rb +1 -0
  75. data/lib/asciidoctor-diagram/svgbob/converter.rb +4 -0
  76. data/lib/asciidoctor-diagram/svgbob/extension.rb +4 -0
  77. data/lib/asciidoctor-diagram/symbolator.rb +1 -0
  78. data/lib/asciidoctor-diagram/symbolator/extension.rb +4 -0
  79. data/lib/asciidoctor-diagram/syntrax.rb +1 -0
  80. data/lib/asciidoctor-diagram/syntrax/converter.rb +1 -1
  81. data/lib/asciidoctor-diagram/syntrax/extension.rb +4 -0
  82. data/lib/asciidoctor-diagram/tikz.rb +1 -0
  83. data/lib/asciidoctor-diagram/tikz/extension.rb +4 -0
  84. data/lib/asciidoctor-diagram/umlet.rb +1 -0
  85. data/lib/asciidoctor-diagram/umlet/extension.rb +4 -0
  86. data/lib/asciidoctor-diagram/util/cli.rb +16 -1
  87. data/lib/asciidoctor-diagram/util/cli_generator.rb +13 -9
  88. data/lib/asciidoctor-diagram/util/gif.rb +1 -1
  89. data/lib/asciidoctor-diagram/util/java.rb +5 -3
  90. data/lib/asciidoctor-diagram/util/java_jruby.rb +4 -1
  91. data/lib/asciidoctor-diagram/util/java_socket.rb +10 -1
  92. data/lib/asciidoctor-diagram/util/pdf.rb +1 -1
  93. data/lib/asciidoctor-diagram/util/png.rb +1 -1
  94. data/lib/{server-1.3.15.jar → asciidoctor-diagram/util/server-1.3.20.jar} +0 -0
  95. data/lib/asciidoctor-diagram/util/svg.rb +25 -4
  96. data/lib/asciidoctor-diagram/vega.rb +2 -0
  97. data/lib/asciidoctor-diagram/vega/extension.rb +4 -0
  98. data/lib/asciidoctor-diagram/version.rb +1 -1
  99. data/lib/asciidoctor-diagram/wavedrom.rb +1 -0
  100. data/lib/asciidoctor-diagram/wavedrom/extension.rb +4 -0
  101. data/spec/a2s_spec.rb +10 -6
  102. data/spec/barcode_spec.rb +176 -0
  103. data/spec/blockdiag_spec.rb +10 -6
  104. data/spec/bpmn_spec.rb +7 -3
  105. data/spec/bytefield_spec.rb +10 -6
  106. data/spec/diagrams_spec.rb +27 -0
  107. data/spec/ditaa_spec.rb +8 -4
  108. data/spec/dpic_spec.rb +10 -6
  109. data/spec/erd_spec.rb +10 -6
  110. data/spec/gnuplot_spec.rb +14 -10
  111. data/spec/graphviz_spec.rb +7 -3
  112. data/spec/lilypond_spec.rb +10 -6
  113. data/spec/mermaid_spec.rb +44 -3
  114. data/spec/msc_spec.rb +10 -6
  115. data/spec/nomnoml_spec.rb +9 -5
  116. data/spec/pikchr_spec.rb +28 -6
  117. data/spec/plantuml_spec.rb +114 -3
  118. data/spec/shaape_spec.rb +10 -6
  119. data/spec/shared_examples.rb +161 -0
  120. data/spec/smcat_spec.rb +10 -6
  121. data/spec/svgbob_spec.rb +10 -6
  122. data/spec/symbolator_spec.rb +7 -3
  123. data/spec/syntrax_spec.rb +10 -6
  124. data/spec/test_helper.rb +6 -8
  125. data/spec/tikz_spec.rb +11 -7
  126. data/spec/umlet_spec.rb +6 -3
  127. data/spec/vega_spec.rb +11 -6
  128. data/spec/wavedrom_spec.rb +7 -3
  129. metadata +71 -14
  130. data/README_zh-CN.adoc +0 -336
  131. data/images/asciidoctor-diagram-process.png +0 -0
  132. data/lib/batik-all-1.10.jar +0 -0
  133. data/lib/ditaa-1.3.15.jar +0 -0
  134. data/lib/ditaamini-0.12.jar +0 -0
  135. data/lib/jlatexmath-minimal-1.0.5.jar +0 -0
  136. data/lib/plantuml-1.3.15.jar +0 -0
  137. data/lib/plantuml.jar +0 -0
@@ -3,26 +3,24 @@ require_relative '../diagram_processor'
3
3
 
4
4
  module Asciidoctor
5
5
  module Diagram
6
- class MemeBlockMacroProcessor < DiagramBlockMacroProcessor
7
- use_converter MemeConverter
8
-
9
- class StringReader
10
- def initialize(str)
11
- @str = str
12
- end
13
-
14
- def lines
15
- @str.lines.map { |l| l.rstrip }
16
- end
17
- end
18
-
19
- name_positional_attributes %w(top bottom target format)
20
-
6
+ module MemeProcessor
21
7
  def create_source(parent, target, attributes)
22
8
  attributes = attributes.dup
23
9
  attributes['background'] = apply_target_subs(parent, target)
24
- ::Asciidoctor::Diagram::ReaderSource.new(self, parent, StringReader.new(''), attributes)
10
+ ::Asciidoctor::Diagram::ReaderSource.new(self, parent, '', attributes)
25
11
  end
26
12
  end
13
+
14
+ class MemeBlockMacroProcessor < DiagramBlockMacroProcessor
15
+ use_converter MemeConverter
16
+ name_positional_attributes %w(top bottom target format)
17
+ include MemeProcessor
18
+ end
19
+
20
+ class MemeInlineMacroProcessor < DiagramInlineMacroProcessor
21
+ use_converter MemeConverter
22
+ name_positional_attributes %w(top bottom target format)
23
+ include MemeProcessor
24
+ end
27
25
  end
28
26
  end
@@ -4,4 +4,5 @@ require_relative 'mermaid/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::MermaidBlockProcessor, :mermaid
6
6
  block_macro Asciidoctor::Diagram::MermaidBlockMacroProcessor, :mermaid
7
+ inline_macro Asciidoctor::Diagram::MermaidInlineMacroProcessor, :mermaid
7
8
  end
@@ -64,9 +64,15 @@ module Asciidoctor
64
64
 
65
65
  opts[:width] = options[:width]
66
66
 
67
- mmdc = source.find_command('mmdc', :raise_on_error => false)
68
- node = source.find_command('node', :raise_on_error => false)
69
- if mmdc && node
67
+ mmdc = nil
68
+ mmdc_exception = nil
69
+ begin
70
+ mmdc = source.find_command('mmdc')
71
+ rescue => e
72
+ mmdc_exception = e
73
+ end
74
+
75
+ if mmdc
70
76
  opts[:height] = options[:height]
71
77
  opts[:scale] = options[:scale]
72
78
  opts[:theme] = options[:theme]
@@ -75,17 +81,25 @@ module Asciidoctor
75
81
  if config
76
82
  opts[:config] = source.resolve_path(config)
77
83
  end
78
- run_mmdc(node, mmdc, source, format, opts)
84
+ run_mmdc(mmdc, source, format, opts)
79
85
  else
80
- mermaid = source.find_command('mermaid')
81
- run_mermaid(mermaid, source, format, opts)
86
+ begin
87
+ mermaid = source.find_command('mermaid')
88
+ run_mermaid(mermaid, source, format, opts)
89
+ rescue
90
+ if mmdc_exception
91
+ raise mmdc_exception
92
+ else
93
+ raise
94
+ end
95
+ end
82
96
  end
83
97
  end
84
98
 
85
99
  private
86
- def run_mmdc(node, mmdc, source, format, options = {})
87
- generate_file(node, 'mmd', format.to_s, source.to_s) do |tool_path, input_path, output_path|
88
- args = [tool_path, '--unhandled-rejections=strict', mmdc, '-i', Platform.native_path(input_path), '-o', Platform.native_path(output_path)]
100
+ def run_mmdc(mmdc, source, format, options = {})
101
+ generate_file(mmdc, 'mmd', format.to_s, source.to_s) do |tool_path, input_path, output_path|
102
+ args = [tool_path, '-i', Platform.native_path(input_path), '-o', Platform.native_path(output_path)]
89
103
 
90
104
  if options[:css]
91
105
  args << '--cssFile' << Platform.native_path(options[:css])
@@ -148,7 +162,10 @@ module Asciidoctor
148
162
  args << '--puppeteerConfigFile' << Platform.native_path(options[:puppeteer])
149
163
  end
150
164
 
151
- args
165
+ {
166
+ :args => args,
167
+ :env => {'NODE_OPTIONS' => '--unhandled-rejections=strict'}
168
+ }
152
169
  end
153
170
  end
154
171
 
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class MermaidBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter MermaidConverter
12
12
  end
13
+
14
+ class MermaidInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter MermaidConverter
16
+ end
13
17
  end
14
18
  end
@@ -4,4 +4,5 @@ require_relative 'msc/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::MscBlockProcessor, :msc
6
6
  block_macro Asciidoctor::Diagram::MscBlockMacroProcessor, :msc
7
+ inline_macro Asciidoctor::Diagram::MscInlineMacroProcessor, :msc
7
8
  end
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class MscBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter MscgenConverter
12
12
  end
13
+
14
+ class MscInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter MscgenConverter
16
+ end
13
17
  end
14
18
  end
@@ -4,4 +4,5 @@ require_relative 'nomnoml/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::NomnomlBlockProcessor, :nomnoml
6
6
  block_macro Asciidoctor::Diagram::NomnomlBlockMacroProcessor, :nomnoml
7
+ inline_macro Asciidoctor::Diagram::NomnomlInlineMacroProcessor, :nomnoml
7
8
  end
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class NomnomlBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter NomnomlConverter
12
12
  end
13
+
14
+ class NomnomlInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter NomnomlConverter
16
+ end
13
17
  end
14
18
  end
@@ -4,4 +4,5 @@ require_relative 'pikchr/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::PikchrBlockProcessor, :pikchr
6
6
  block_macro Asciidoctor::Diagram::PikchrBlockMacroProcessor, :pikchr
7
+ inline_macro Asciidoctor::Diagram::PikchrInlineMacroProcessor, :pikchr
7
8
  end
@@ -17,9 +17,16 @@ module Asciidoctor
17
17
  def convert(source, format, options)
18
18
  pikchr_path = source.find_command('pikchr')
19
19
 
20
- generate_file_stdout(pikchr_path, format.to_s, source.to_s) do |tool_path, input_path|
20
+ output = generate_file_stdout(pikchr_path, format.to_s, source.to_s) do |tool_path, input_path|
21
21
  [tool_path, "--svg-only", input_path]
22
22
  end
23
+
24
+ if output.start_with? '<svg'
25
+ output
26
+ else
27
+ error = output.gsub(/<\/?[a-z]+>\n?/i, '')
28
+ raise error
29
+ end
23
30
  end
24
31
  end
25
32
  end
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class PikchrBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter PikchrConverter
12
12
  end
13
+
14
+ class PikchrInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter PikchrConverter
16
+ end
13
17
  end
14
18
  end
@@ -4,4 +4,5 @@ require_relative 'plantuml/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::PlantUmlBlockProcessor, :plantuml
6
6
  block_macro Asciidoctor::Diagram::PlantUmlBlockMacroProcessor, :plantuml
7
+ inline_macro Asciidoctor::Diagram::PlantUmlInlineMacroProcessor, :plantuml
7
8
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../diagram_converter'
2
+ require 'delegate'
2
3
  require 'uri'
3
4
 
4
5
  module Asciidoctor
@@ -7,15 +8,25 @@ module Asciidoctor
7
8
  class PlantUmlConverter
8
9
  include DiagramConverter
9
10
 
10
- JARS = [
11
- 'plantuml-1.3.15.jar',
12
- 'plantuml.jar',
13
- 'jlatexmath-minimal-1.0.5.jar',
14
- 'batik-all-1.10.jar'
15
- ].map do |jar|
16
- File.expand_path File.join('../..', jar), File.dirname(__FILE__)
11
+ CLASSPATH_ENV = 'DIAGRAM_PLANTUML_CLASSPATH'
12
+ LIB_DIR = File.expand_path('../..', File.dirname(__FILE__))
13
+ PLANTUML_JARS = if ENV.has_key?(CLASSPATH_ENV)
14
+ ENV[CLASSPATH_ENV].split(File::PATH_SEPARATOR)
15
+ else
16
+ begin
17
+ require 'asciidoctor-diagram/plantuml/classpath'
18
+ ::Asciidoctor::Diagram::PlantUmlClasspath::JAR_FILES
19
+ rescue LoadError
20
+ raise "Could not load PlantUML. Eiter require 'asciidoctor-diagram-plantuml' or specify the location of the PlantUML JAR(s) using the 'DIAGRAM_PLANTUML_CLASSPATH' environment variable."
21
+ end
22
+ end
23
+
24
+ Java.classpath.concat Dir[File.join(File.dirname(__FILE__), '*.jar')].freeze
25
+ Java.classpath.concat PLANTUML_JARS
26
+
27
+ def wrap_source(source)
28
+ PlantUMLPreprocessedSource.new(source, self.class.tag)
17
29
  end
18
- Java.classpath.concat JARS
19
30
 
20
31
  def supported_formats
21
32
  [:png, :svg, :txt, :atxt, :utxt]
@@ -23,14 +34,14 @@ module Asciidoctor
23
34
 
24
35
  def collect_options(source)
25
36
  {
26
- :config => source.attr('plantumlconfig', nil, true) || source.attr('config')
37
+ :size_limit => source.attr('size-limit', '4096')
27
38
  }
28
39
  end
29
40
 
30
41
  def convert(source, format, options)
31
42
  Java.load
32
43
 
33
- code = preprocess_code(source, self.class.tag)
44
+ code = source.code
34
45
 
35
46
  case format
36
47
  when :png
@@ -49,9 +60,9 @@ module Asciidoctor
49
60
  'Accept' => mime_type
50
61
  }
51
62
 
52
- config_file = options[:config]
53
- if config_file
54
- headers['X-PlantUML-Config'] = File.expand_path(config_file, source.base_dir)
63
+ size_limit = options[:size_limit]
64
+ if size_limit
65
+ headers['X-PlantUML-SizeLimit'] = size_limit
55
66
  end
56
67
 
57
68
  dot = source.find_command('dot', :alt_attrs => ['graphvizdot'], :raise_on_error => false)
@@ -71,35 +82,6 @@ module Asciidoctor
71
82
 
72
83
  response[:body]
73
84
  end
74
-
75
- def preprocess_code(source, tag)
76
- code = source.to_s
77
-
78
- code = "@start#{tag}\n#{code}\n@end#{tag}" unless code.index("@start") && code.index("@end")
79
-
80
- code.gsub!(/(?<=<img:)[^>]+(?=>)/) do |match|
81
- resolve_path(match, source, source.attr('imagesdir', nil, false))
82
- end
83
-
84
- code.gsub!(/(?:(?<=!include\s)|(?<=!includesub\s))\s*[^<][^!\n\r]+/) do |match|
85
- resolve_path(match.lstrip, source, source.base_dir)
86
- end
87
-
88
- code
89
- end
90
-
91
- def resolve_path(path, source, base_dir)
92
- if path =~ ::URI::ABS_URI
93
- uri = ::URI.parse(path)
94
- if uri.scheme == 'file'
95
- source.resolve_path(uri.path, base_dir)
96
- else
97
- path
98
- end
99
- else
100
- source.resolve_path(path, base_dir)
101
- end
102
- end
103
85
  end
104
86
 
105
87
  class UmlConverter < PlantUmlConverter
@@ -113,5 +95,48 @@ module Asciidoctor
113
95
  'salt'
114
96
  end
115
97
  end
98
+
99
+ class PlantUMLPreprocessedSource < SimpleDelegator
100
+ def initialize(source, tag)
101
+ super(source)
102
+ @tag = tag
103
+ end
104
+
105
+ def code
106
+ @code ||= load_code
107
+ end
108
+
109
+ def load_code
110
+ Java.load
111
+
112
+ code = __getobj__.code
113
+
114
+ code = "@start#{@tag}\n#{code}\n@end#{@tag}" unless code.index("@start") && code.index("@end")
115
+
116
+ headers = {}
117
+
118
+ config_file = attr('plantumlconfig', nil, true) || attr('config')
119
+ if config_file
120
+ headers['X-PlantUML-Config'] = File.expand_path(config_file, base_dir)
121
+ end
122
+
123
+ headers['X-PlantUML-Basedir'] = Platform.native_path(File.expand_path(base_dir))
124
+
125
+ response = Java.send_request(
126
+ :url => '/plantumlpreprocessor',
127
+ :body => code,
128
+ :headers => headers
129
+ )
130
+
131
+ unless response[:code] == 200
132
+ raise Java.create_error("PlantUML preprocessing failed", response)
133
+ end
134
+
135
+ code = response[:body]
136
+ code.force_encoding(Encoding::UTF_8)
137
+
138
+ code
139
+ end
140
+ end
116
141
  end
117
142
  end
@@ -11,6 +11,10 @@ module Asciidoctor
11
11
  use_converter UmlConverter
12
12
  end
13
13
 
14
+ class PlantUmlInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter UmlConverter
16
+ end
17
+
14
18
  class SaltBlockProcessor < DiagramBlockProcessor
15
19
  use_converter SaltConverter
16
20
  end
@@ -18,5 +22,9 @@ module Asciidoctor
18
22
  class SaltBlockMacroProcessor < DiagramBlockMacroProcessor
19
23
  use_converter SaltConverter
20
24
  end
25
+
26
+ class SaltInlineMacroProcessor < DiagramInlineMacroProcessor
27
+ use_converter SaltConverter
28
+ end
21
29
  end
22
30
  end
@@ -4,4 +4,5 @@ require_relative 'plantuml/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::SaltBlockProcessor, :salt
6
6
  block_macro Asciidoctor::Diagram::SaltBlockMacroProcessor, :salt
7
+ inline_macro Asciidoctor::Diagram::SaltInlineMacroProcessor, :salt
7
8
  end
@@ -4,4 +4,5 @@ require_relative 'shaape/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::ShaapeBlockProcessor, :shaape
6
6
  block_macro Asciidoctor::Diagram::ShaapeBlockMacroProcessor, :shaape
7
+ inline_macro Asciidoctor::Diagram::ShaapeInlineMacroProcessor, :shaape
7
8
  end
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class ShaapeBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter ShaapeConverter
12
12
  end
13
+
14
+ class ShaapeInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter ShaapeConverter
16
+ end
13
17
  end
14
18
  end
@@ -4,4 +4,5 @@ require_relative 'smcat/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::SmcatBlockProcessor, :smcat
6
6
  block_macro Asciidoctor::Diagram::SmcatBlockMacroProcessor, :smcat
7
+ inline_macro Asciidoctor::Diagram::SmcatInlineMacroProcessor, :smcat
7
8
  end
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class SmcatBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter SmcatConverter
12
12
  end
13
+
14
+ class SmcatInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter SmcatConverter
16
+ end
13
17
  end
14
18
  end
@@ -4,4 +4,5 @@ require_relative 'svgbob/extension'
4
4
  Asciidoctor::Extensions.register do
5
5
  block Asciidoctor::Diagram::SvgBobBlockProcessor, :svgbob
6
6
  block_macro Asciidoctor::Diagram::SvgBobBlockMacroProcessor, :svgbob
7
+ inline_macro Asciidoctor::Diagram::SvgBobInlineMacroProcessor, :svgbob
7
8
  end
@@ -14,6 +14,10 @@ module Asciidoctor
14
14
  [:svg]
15
15
  end
16
16
 
17
+ def native_scaling?
18
+ true
19
+ end
20
+
17
21
  OPTIONS = {
18
22
  :font_family => lambda { |o, v| o << '--font-family' << v if v },
19
23
  :font_size => lambda { |o, v| o << '--font-size' << v if v },
@@ -10,5 +10,9 @@ module Asciidoctor
10
10
  class SvgBobBlockMacroProcessor < DiagramBlockMacroProcessor
11
11
  use_converter SvgbobConverter
12
12
  end
13
+
14
+ class SvgBobInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter SvgbobConverter
16
+ end
13
17
  end
14
18
  end