asciidoctor-diagram 1.5.9 → 1.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.adoc +8 -0
 - data/README.adoc +2 -0
 - data/lib/asciidoctor-diagram.rb +1 -0
 - data/lib/asciidoctor-diagram/a2s/extension.rb +4 -4
 - data/lib/asciidoctor-diagram/plantuml/extension.rb +2 -2
 - data/lib/asciidoctor-diagram/tikz.rb +7 -0
 - data/lib/asciidoctor-diagram/tikz/extension.rb +68 -0
 - data/lib/asciidoctor-diagram/util/java_jruby.rb +1 -1
 - data/lib/asciidoctor-diagram/version.rb +1 -1
 - data/lib/plantuml.jar +0 -0
 - data/spec/plantuml_spec.rb +48 -0
 - data/spec/test_helper.rb +1 -0
 - data/spec/tikz_spec.rb +127 -0
 - metadata +6 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b210b428ba58c0332817b65d14cbcf5140fa5d23
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: aa70930c788129a4b352b96b69d195ab40bacc59
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: db4a23dc9a0f9edf9683b58d5967153eefa2b938cb6da46a5a3bdfa9d0cde59ee1875a94f8ece94588b1f11023c6064ec1bdcac0f5fd33a48bcd6e479729197b
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f353f04830771ed1141a3abef0b685af085f1157f9990ebdf93904dcc944317631c0c532177a7e5a1e070dec3eb97dc7649d395964d5dc8f65d361a9250d0a09
         
     | 
    
        data/CHANGELOG.adoc
    CHANGED
    
    | 
         @@ -1,5 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            = Asciidoctor-diagram Changelog
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            == 1.5.10
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Bug Fixes::
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              * Issue #186: Avoid preprocessing of PlantUML stdlib !includes (@habamax)
         
     | 
| 
      
 8 
     | 
    
         
            +
              * Issue #193: Update PlantUML to 2018.10
         
     | 
| 
      
 9 
     | 
    
         
            +
              * Issue #194: Silence unitialized instance variable warning when using JRuby
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       3 
11 
     | 
    
         
             
            == 1.5.9
         
     | 
| 
       4 
12 
     | 
    
         | 
| 
       5 
13 
     | 
    
         
             
            Enhancements::
         
     | 
    
        data/README.adoc
    CHANGED
    
    | 
         @@ -52,9 +52,11 @@ The generated file is then inserted into your converted document. 
     | 
|
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
            Asciidoctor Diagram was inspired by the {uri-py-plantuml}[AsciiDoc PlantUML filter].
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
      
 55 
     | 
    
         
            +
            ifndef::env-site[]
         
     | 
| 
       55 
56 
     | 
    
         
             
            Translations of the document are available in the following languages:
         
     | 
| 
       56 
57 
     | 
    
         | 
| 
       57 
58 
     | 
    
         
             
            * link:README_zh-CN.adoc[汉语]
         
     | 
| 
      
 59 
     | 
    
         
            +
            endif::[]
         
     | 
| 
       58 
60 
     | 
    
         | 
| 
       59 
61 
     | 
    
         
             
            ifdef::status[]
         
     | 
| 
       60 
62 
     | 
    
         
             
            [discrete]
         
     | 
    
        data/lib/asciidoctor-diagram.rb
    CHANGED
    
    | 
         @@ -11,6 +11,7 @@ require_relative 'asciidoctor-diagram/salt' 
     | 
|
| 
       11 
11 
     | 
    
         
             
            require_relative 'asciidoctor-diagram/shaape'
         
     | 
| 
       12 
12 
     | 
    
         
             
            require_relative 'asciidoctor-diagram/svgbob'
         
     | 
| 
       13 
13 
     | 
    
         
             
            require_relative 'asciidoctor-diagram/syntrax'
         
     | 
| 
      
 14 
     | 
    
         
            +
            require_relative 'asciidoctor-diagram/tikz'
         
     | 
| 
       14 
15 
     | 
    
         
             
            require_relative 'asciidoctor-diagram/umlet'
         
     | 
| 
       15 
16 
     | 
    
         
             
            require_relative 'asciidoctor-diagram/vega'
         
     | 
| 
       16 
17 
     | 
    
         
             
            require_relative 'asciidoctor-diagram/wavedrom'
         
     | 
| 
         @@ -28,12 +28,12 @@ module Asciidoctor 
     | 
|
| 
       28 
28 
     | 
    
         
             
                    font = source.attr('fontfamily', nil, inherit_prefix)
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                    generate_stdin(which(parent, 'a2s'), format.to_s, source.to_s) do |tool_path, output_path|
         
     | 
| 
       31 
     | 
    
         
            -
                      args = [tool_path,  
     | 
| 
      
 31 
     | 
    
         
            +
                      args = [tool_path, '-o', Platform.native_path(output_path)]
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
                      if sx && sy
         
     | 
| 
       34 
     | 
    
         
            -
                        args <<  
     | 
| 
      
 34 
     | 
    
         
            +
                        args << '-s' << "#{sx},#{sy}"
         
     | 
| 
       35 
35 
     | 
    
         
             
                      elsif scale
         
     | 
| 
       36 
     | 
    
         
            -
                        args <<  
     | 
| 
      
 36 
     | 
    
         
            +
                        args << '-s' << "#{scale},#{scale}"
         
     | 
| 
       37 
37 
     | 
    
         
             
                      end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                      if noblur
         
     | 
| 
         @@ -41,7 +41,7 @@ module Asciidoctor 
     | 
|
| 
       41 
41 
     | 
    
         
             
                      end
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
43 
     | 
    
         
             
                      if font
         
     | 
| 
       44 
     | 
    
         
            -
                        args <<  
     | 
| 
      
 44 
     | 
    
         
            +
                        args << '-f' << font
         
     | 
| 
       45 
45 
     | 
    
         
             
                      end
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
                      args
         
     | 
| 
         @@ -58,8 +58,8 @@ module Asciidoctor 
     | 
|
| 
       58 
58 
     | 
    
         
             
                      resolve_path(match, parent, parent.attr('imagesdir'))
         
     | 
| 
       59 
59 
     | 
    
         
             
                    end
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
                    code.gsub!(/(?<=!include )[^!\n\r]+/) do |match|
         
     | 
| 
       62 
     | 
    
         
            -
                      resolve_path(match, parent, base_dir)
         
     | 
| 
      
 61 
     | 
    
         
            +
                    code.gsub!(/(?<=!include )\s*[^<][^!\n\r]+/) do |match|
         
     | 
| 
      
 62 
     | 
    
         
            +
                      resolve_path(match.lstrip, parent, base_dir)
         
     | 
| 
       63 
63 
     | 
    
         
             
                    end
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
65 
     | 
    
         
             
                    code
         
     | 
| 
         @@ -0,0 +1,68 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require_relative '../extensions'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require_relative '../util/cli_generator'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative '../util/platform'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require_relative '../util/which'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            module Asciidoctor
         
     | 
| 
      
 7 
     | 
    
         
            +
              module Diagram
         
     | 
| 
      
 8 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 9 
     | 
    
         
            +
                module TikZ
         
     | 
| 
      
 10 
     | 
    
         
            +
                  include CliGenerator
         
     | 
| 
      
 11 
     | 
    
         
            +
                  include Which
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  def self.included(mod)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    [:pdf, :svg].each do |f|
         
     | 
| 
      
 15 
     | 
    
         
            +
                      mod.register_format(f, :image) do |parent, source|
         
     | 
| 
      
 16 
     | 
    
         
            +
                        tikz(parent, source, f)
         
     | 
| 
      
 17 
     | 
    
         
            +
                      end
         
     | 
| 
      
 18 
     | 
    
         
            +
                    end
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  def tikz(parent, source, format)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    latexpath = which(parent, 'pdflatex')
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                    if format == :svg
         
     | 
| 
      
 25 
     | 
    
         
            +
                      svgpath = which(parent, 'pdf2svg')
         
     | 
| 
      
 26 
     | 
    
         
            +
                    else
         
     | 
| 
      
 27 
     | 
    
         
            +
                      svgpath = nil
         
     | 
| 
      
 28 
     | 
    
         
            +
                    end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                    latex = <<'END'
         
     | 
| 
      
 31 
     | 
    
         
            +
            \documentclass[border=2bp]{standalone}
         
     | 
| 
      
 32 
     | 
    
         
            +
            \usepackage{tikz}
         
     | 
| 
      
 33 
     | 
    
         
            +
            \begin{document}
         
     | 
| 
      
 34 
     | 
    
         
            +
            \begingroup
         
     | 
| 
      
 35 
     | 
    
         
            +
            \tikzset{every picture/.style={scale=1}}
         
     | 
| 
      
 36 
     | 
    
         
            +
            END
         
     | 
| 
      
 37 
     | 
    
         
            +
                    latex << source.to_s
         
     | 
| 
      
 38 
     | 
    
         
            +
                    latex << <<'END'
         
     | 
| 
      
 39 
     | 
    
         
            +
            \endgroup
         
     | 
| 
      
 40 
     | 
    
         
            +
            \end{document}
         
     | 
| 
      
 41 
     | 
    
         
            +
            END
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                    pdf = generate_file(latexpath, 'tex', 'pdf', latex) do |tool_path, input_path, output_path|
         
     | 
| 
      
 44 
     | 
    
         
            +
                      {
         
     | 
| 
      
 45 
     | 
    
         
            +
                          :args => [tool_path, '-shell-escape', '-file-line-error', '-interaction=nonstopmode', '-output-directory', Platform.native_path(File.dirname(output_path)), Platform.native_path(input_path)],
         
     | 
| 
      
 46 
     | 
    
         
            +
                          :out_file => "#{File.dirname(input_path)}/#{File.basename(input_path, '.*')}.pdf"
         
     | 
| 
      
 47 
     | 
    
         
            +
                      }
         
     | 
| 
      
 48 
     | 
    
         
            +
                    end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                    if svgpath
         
     | 
| 
      
 51 
     | 
    
         
            +
                      generate_file(svgpath, 'pdf', 'svg', pdf) do |tool_path, input_path, output_path|
         
     | 
| 
      
 52 
     | 
    
         
            +
                        [tool_path, Platform.native_path(File.dirname(input_path)), Platform.native_path(File.dirname(output_path))]
         
     | 
| 
      
 53 
     | 
    
         
            +
                      end
         
     | 
| 
      
 54 
     | 
    
         
            +
                    else
         
     | 
| 
      
 55 
     | 
    
         
            +
                      pdf
         
     | 
| 
      
 56 
     | 
    
         
            +
                    end
         
     | 
| 
      
 57 
     | 
    
         
            +
                  end
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                class TikZBlockProcessor < Extensions::DiagramBlockProcessor
         
     | 
| 
      
 61 
     | 
    
         
            +
                  include TikZ
         
     | 
| 
      
 62 
     | 
    
         
            +
                end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                class TikZBlockMacroProcessor < Extensions::DiagramBlockMacroProcessor
         
     | 
| 
      
 65 
     | 
    
         
            +
                  include TikZ
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
              end
         
     | 
| 
      
 68 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/plantuml.jar
    CHANGED
    
    | 
         Binary file 
     | 
    
        data/spec/plantuml_spec.rb
    CHANGED
    
    | 
         @@ -808,6 +808,54 @@ List <|.. ArrayList 
     | 
|
| 
       808 
808 
     | 
    
         
             
                expect(content).to_not include('!include')
         
     | 
| 
       809 
809 
     | 
    
         
             
              end
         
     | 
| 
       810 
810 
     | 
    
         | 
| 
      
 811 
     | 
    
         
            +
              it 'should not resolve stdlib !include directives' do
         
     | 
| 
      
 812 
     | 
    
         
            +
                doc = <<-eos
         
     | 
| 
      
 813 
     | 
    
         
            +
            = Hello, PlantUML!
         
     | 
| 
      
 814 
     | 
    
         
            +
            Doc Writer <doc@example.com>
         
     | 
| 
      
 815 
     | 
    
         
            +
             
     | 
| 
      
 816 
     | 
    
         
            +
            == First Section
         
     | 
| 
      
 817 
     | 
    
         
            +
             
     | 
| 
      
 818 
     | 
    
         
            +
            [plantuml, format="svg"]
         
     | 
| 
      
 819 
     | 
    
         
            +
            ----
         
     | 
| 
      
 820 
     | 
    
         
            +
            @startuml
         
     | 
| 
      
 821 
     | 
    
         
            +
            !include <tupadr3/common>
         
     | 
| 
      
 822 
     | 
    
         
            +
            !include <tupadr3/font-awesome/server>
         
     | 
| 
      
 823 
     | 
    
         
            +
            !include <tupadr3/font-awesome/database>
         
     | 
| 
      
 824 
     | 
    
         
            +
             
     | 
| 
      
 825 
     | 
    
         
            +
            title Styling example
         
     | 
| 
      
 826 
     | 
    
         
            +
             
     | 
| 
      
 827 
     | 
    
         
            +
            FA_SERVER(web1,web1) #Green
         
     | 
| 
      
 828 
     | 
    
         
            +
            FA_SERVER(web2,web2) #Yellow
         
     | 
| 
      
 829 
     | 
    
         
            +
            FA_SERVER(web3,web3) #Blue
         
     | 
| 
      
 830 
     | 
    
         
            +
            FA_SERVER(web4,web4) #YellowGreen
         
     | 
| 
      
 831 
     | 
    
         
            +
             
     | 
| 
      
 832 
     | 
    
         
            +
            FA_DATABASE(db1,LIVE,database,white) #RoyalBlue
         
     | 
| 
      
 833 
     | 
    
         
            +
            FA_DATABASE(db2,SPARE,database) #Red
         
     | 
| 
      
 834 
     | 
    
         
            +
             
     | 
| 
      
 835 
     | 
    
         
            +
            db1 <--> db2
         
     | 
| 
      
 836 
     | 
    
         
            +
             
     | 
| 
      
 837 
     | 
    
         
            +
            web1 <--> db1
         
     | 
| 
      
 838 
     | 
    
         
            +
            web2 <--> db1
         
     | 
| 
      
 839 
     | 
    
         
            +
            web3 <--> db1
         
     | 
| 
      
 840 
     | 
    
         
            +
            web4 <--> db1
         
     | 
| 
      
 841 
     | 
    
         
            +
            @enduml
         
     | 
| 
      
 842 
     | 
    
         
            +
            ----
         
     | 
| 
      
 843 
     | 
    
         
            +
                eos
         
     | 
| 
      
 844 
     | 
    
         
            +
             
     | 
| 
      
 845 
     | 
    
         
            +
                d = load_asciidoc doc, :attributes => {'backend' => 'html5'}
         
     | 
| 
      
 846 
     | 
    
         
            +
             
     | 
| 
      
 847 
     | 
    
         
            +
                expect(d).to_not be_nil
         
     | 
| 
      
 848 
     | 
    
         
            +
             
     | 
| 
      
 849 
     | 
    
         
            +
                b = d.find { |bl| bl.context == :image }
         
     | 
| 
      
 850 
     | 
    
         
            +
                expect(b).to_not be_nil
         
     | 
| 
      
 851 
     | 
    
         
            +
             
     | 
| 
      
 852 
     | 
    
         
            +
                target = b.attributes['target']
         
     | 
| 
      
 853 
     | 
    
         
            +
                expect(File.exist?(target)).to be true
         
     | 
| 
      
 854 
     | 
    
         
            +
             
     | 
| 
      
 855 
     | 
    
         
            +
                content = File.read(target, :encoding => Encoding::UTF_8)
         
     | 
| 
      
 856 
     | 
    
         
            +
                expect(content).to_not include('!include')
         
     | 
| 
      
 857 
     | 
    
         
            +
              end
         
     | 
| 
      
 858 
     | 
    
         
            +
             
     | 
| 
       811 
859 
     | 
    
         
             
              it 'should support substitutions' do
         
     | 
| 
       812 
860 
     | 
    
         
             
                doc = <<-eos
         
     | 
| 
       813 
861 
     | 
    
         
             
            = Hello, PlantUML!
         
     | 
    
        data/spec/test_helper.rb
    CHANGED
    
    | 
         @@ -18,6 +18,7 @@ require_relative '../lib/asciidoctor-diagram/plantuml/extension' 
     | 
|
| 
       18 
18 
     | 
    
         
             
            require_relative '../lib/asciidoctor-diagram/shaape/extension'
         
     | 
| 
       19 
19 
     | 
    
         
             
            require_relative '../lib/asciidoctor-diagram/svgbob/extension'
         
     | 
| 
       20 
20 
     | 
    
         
             
            require_relative '../lib/asciidoctor-diagram/syntrax/extension'
         
     | 
| 
      
 21 
     | 
    
         
            +
            require_relative '../lib/asciidoctor-diagram/tikz/extension'
         
     | 
| 
       21 
22 
     | 
    
         
             
            require_relative '../lib/asciidoctor-diagram/umlet/extension'
         
     | 
| 
       22 
23 
     | 
    
         
             
            require_relative '../lib/asciidoctor-diagram/vega/extension'
         
     | 
| 
       23 
24 
     | 
    
         
             
            require_relative '../lib/asciidoctor-diagram/wavedrom/extension'
         
     | 
    
        data/spec/tikz_spec.rb
    ADDED
    
    | 
         @@ -0,0 +1,127 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require_relative 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            code = <<-'eos'
         
     | 
| 
      
 4 
     | 
    
         
            +
            \begin{tikzpicture}[font=\LARGE] 
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            % Figure parameters (tta and k needs to have the same sign)
         
     | 
| 
      
 7 
     | 
    
         
            +
            % They can be modified at will
         
     | 
| 
      
 8 
     | 
    
         
            +
            \def \tta{ -10.00000000000000 } % Defines the first angle of perspective
         
     | 
| 
      
 9 
     | 
    
         
            +
            \def \k{    -3.00000000000000 } % Factor for second angle of perspective
         
     | 
| 
      
 10 
     | 
    
         
            +
            \def \l{     6.00000000000000 } % Defines the width  of the parallelepiped
         
     | 
| 
      
 11 
     | 
    
         
            +
            \def \d{     5.00000000000000 } % Defines the depth  of the parallelepiped
         
     | 
| 
      
 12 
     | 
    
         
            +
            \def \h{     7.00000000000000 } % Defines the heigth of the parallelepiped
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            % The vertices A,B,C,D define the reference plan (vertical)
         
     | 
| 
      
 15 
     | 
    
         
            +
            \coordinate (A) at (0,0); 
         
     | 
| 
      
 16 
     | 
    
         
            +
            \coordinate (B) at ({-\h*sin(\tta)},{\h*cos(\tta)}); 
         
     | 
| 
      
 17 
     | 
    
         
            +
            \coordinate (C) at ({-\h*sin(\tta)-\d*sin(\k*\tta)},
         
     | 
| 
      
 18 
     | 
    
         
            +
                                {\h*cos(\tta)+\d*cos(\k*\tta)}); 
         
     | 
| 
      
 19 
     | 
    
         
            +
            \coordinate (D) at ({-\d*sin(\k*\tta)},{\d*cos(\k*\tta)}); 
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            % The vertices Ap,Bp,Cp,Dp define a plane translated from the 
         
     | 
| 
      
 22 
     | 
    
         
            +
            % reference plane by the width of the parallelepiped
         
     | 
| 
      
 23 
     | 
    
         
            +
            \coordinate (Ap) at (\l,0); 
         
     | 
| 
      
 24 
     | 
    
         
            +
            \coordinate (Bp) at ({\l-\h*sin(\tta)},{\h*cos(\tta)}); 
         
     | 
| 
      
 25 
     | 
    
         
            +
            \coordinate (Cp) at ({\l-\h*sin(\tta)-\d*sin(\k*\tta)},
         
     | 
| 
      
 26 
     | 
    
         
            +
                                 {\h*cos(\tta)+\d*cos(\k*\tta)}); 
         
     | 
| 
      
 27 
     | 
    
         
            +
            \coordinate (Dp) at ({\l-\d*sin(\k*\tta)},{\d*cos(\k*\tta)}); 
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            % Marking the vertices of the tetrahedron (red)
         
     | 
| 
      
 30 
     | 
    
         
            +
            % and of the parallelepiped (black)
         
     | 
| 
      
 31 
     | 
    
         
            +
            \fill[black]  (A) circle [radius=2pt]; 
         
     | 
| 
      
 32 
     | 
    
         
            +
            \fill[red]    (B) circle [radius=2pt]; 
         
     | 
| 
      
 33 
     | 
    
         
            +
            \fill[black]  (C) circle [radius=2pt]; 
         
     | 
| 
      
 34 
     | 
    
         
            +
            \fill[red]    (D) circle [radius=2pt]; 
         
     | 
| 
      
 35 
     | 
    
         
            +
            \fill[red]   (Ap) circle [radius=2pt]; 
         
     | 
| 
      
 36 
     | 
    
         
            +
            \fill[black] (Bp) circle [radius=2pt]; 
         
     | 
| 
      
 37 
     | 
    
         
            +
            \fill[red]   (Cp) circle [radius=2pt]; 
         
     | 
| 
      
 38 
     | 
    
         
            +
            \fill[black] (Dp) circle [radius=2pt]; 
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            % painting first the three visible faces of the tetrahedron
         
     | 
| 
      
 41 
     | 
    
         
            +
            \filldraw[draw=red,bottom color=red!50!black, top color=cyan!50]
         
     | 
| 
      
 42 
     | 
    
         
            +
              (B) -- (Cp) -- (D);
         
     | 
| 
      
 43 
     | 
    
         
            +
            \filldraw[draw=red,bottom color=red!50!black, top color=cyan!50]
         
     | 
| 
      
 44 
     | 
    
         
            +
              (B) -- (D)  -- (Ap);
         
     | 
| 
      
 45 
     | 
    
         
            +
            \filldraw[draw=red,bottom color=red!50!black, top color=cyan!50]
         
     | 
| 
      
 46 
     | 
    
         
            +
              (B) -- (Cp) -- (Ap);
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            % Draw the edges of the tetrahedron
         
     | 
| 
      
 49 
     | 
    
         
            +
            \draw[red,-,very thick] (Ap) --  (D)
         
     | 
| 
      
 50 
     | 
    
         
            +
                                    (Ap) --  (B)
         
     | 
| 
      
 51 
     | 
    
         
            +
                                    (Ap) -- (Cp)
         
     | 
| 
      
 52 
     | 
    
         
            +
                                    (B)  --  (D)
         
     | 
| 
      
 53 
     | 
    
         
            +
                                    (Cp) --  (D)
         
     | 
| 
      
 54 
     | 
    
         
            +
                                    (B)  -- (Cp);
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            % Draw the visible edges of the parallelepiped
         
     | 
| 
      
 57 
     | 
    
         
            +
            \draw [-,thin] (B)  --  (A)
         
     | 
| 
      
 58 
     | 
    
         
            +
                           (Ap) -- (Bp)
         
     | 
| 
      
 59 
     | 
    
         
            +
                           (B)  --  (C)
         
     | 
| 
      
 60 
     | 
    
         
            +
                           (D)  --  (C)
         
     | 
| 
      
 61 
     | 
    
         
            +
                           (A)  --  (D)
         
     | 
| 
      
 62 
     | 
    
         
            +
                           (Ap) --  (A)
         
     | 
| 
      
 63 
     | 
    
         
            +
                           (Cp) --  (C)
         
     | 
| 
      
 64 
     | 
    
         
            +
                           (Bp) --  (B)
         
     | 
| 
      
 65 
     | 
    
         
            +
                           (Bp) -- (Cp);
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            % Draw the hidden edges of the parallelepiped
         
     | 
| 
      
 68 
     | 
    
         
            +
            \draw [gray,-,thin] (Dp) -- (Cp);
         
     | 
| 
      
 69 
     | 
    
         
            +
                                (Dp) --  (D);
         
     | 
| 
      
 70 
     | 
    
         
            +
                                (Ap) -- (Dp);
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            % Name the vertices (the names are not consistent
         
     | 
| 
      
 73 
     | 
    
         
            +
            %  with the node name, but it makes the programming easier)
         
     | 
| 
      
 74 
     | 
    
         
            +
            \draw (Ap) node [right]           {$A$}
         
     | 
| 
      
 75 
     | 
    
         
            +
                  (Bp) node [right, gray]     {$F$}
         
     | 
| 
      
 76 
     | 
    
         
            +
                  (Cp) node [right]           {$D$}
         
     | 
| 
      
 77 
     | 
    
         
            +
                  (C)  node [left,gray]       {$E$}
         
     | 
| 
      
 78 
     | 
    
         
            +
                  (D)  node [left]            {$B$}
         
     | 
| 
      
 79 
     | 
    
         
            +
                  (A)  node [left,gray]       {$G$}
         
     | 
| 
      
 80 
     | 
    
         
            +
                  (B)  node [above left=+5pt] {$C$}
         
     | 
| 
      
 81 
     | 
    
         
            +
                  (Dp) node [right,gray]      {$H$};
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            % Drawing again vertex $C$, node (B) because it disappeared behind the edges.
         
     | 
| 
      
 84 
     | 
    
         
            +
            % Drawing again vertex $H$, node (Dp) because it disappeared behind the edges.
         
     | 
| 
      
 85 
     | 
    
         
            +
            \fill[red]   (B) circle [radius=2pt]; 
         
     | 
| 
      
 86 
     | 
    
         
            +
            \fill[gray] (Dp) circle [radius=2pt]; 
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            % From the reference and this example one can easily draw 
         
     | 
| 
      
 89 
     | 
    
         
            +
            % the twin tetrahedron jointly to this one.
         
     | 
| 
      
 90 
     | 
    
         
            +
            % Drawing the edges of the twin tetrahedron
         
     | 
| 
      
 91 
     | 
    
         
            +
            % switching the p_s: A <-> Ap, etc...
         
     | 
| 
      
 92 
     | 
    
         
            +
            \draw[red,-,dashed, thin] (A)  -- (Dp)
         
     | 
| 
      
 93 
     | 
    
         
            +
                                      (A)  -- (Bp)
         
     | 
| 
      
 94 
     | 
    
         
            +
                                      (A)  --  (C)
         
     | 
| 
      
 95 
     | 
    
         
            +
                                      (Bp) -- (Dp)
         
     | 
| 
      
 96 
     | 
    
         
            +
                                      (C)  -- (Dp)
         
     | 
| 
      
 97 
     | 
    
         
            +
                                      (Bp) --  (C);
         
     | 
| 
      
 98 
     | 
    
         
            +
            \end{tikzpicture}
         
     | 
| 
      
 99 
     | 
    
         
            +
            eos
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            describe Asciidoctor::Diagram::TikZBlockMacroProcessor, :broken_on_travis, :broken_on_windows do
         
     | 
| 
      
 102 
     | 
    
         
            +
              it "should generate PDF images when format is set to 'pdf'" do
         
     | 
| 
      
 103 
     | 
    
         
            +
                File.write('tikz.txt', code)
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                doc = <<-eos
         
     | 
| 
      
 106 
     | 
    
         
            +
            = Hello, Tikz!
         
     | 
| 
      
 107 
     | 
    
         
            +
            Doc Writer <doc@example.com>
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
            == First Section
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            tikz::tikz.txt[format="pdf"]
         
     | 
| 
      
 112 
     | 
    
         
            +
                eos
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
                d = load_asciidoc doc
         
     | 
| 
      
 115 
     | 
    
         
            +
                expect(d).to_not be_nil
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
                b = d.find { |bl| bl.context == :image }
         
     | 
| 
      
 118 
     | 
    
         
            +
                expect(b).to_not be_nil
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
                expect(b.content_model).to eq :empty
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
                target = b.attributes['target']
         
     | 
| 
      
 123 
     | 
    
         
            +
                expect(target).to_not be_nil
         
     | 
| 
      
 124 
     | 
    
         
            +
                expect(target).to match(/\.pdf/)
         
     | 
| 
      
 125 
     | 
    
         
            +
                expect(File.exist?(target)).to be true
         
     | 
| 
      
 126 
     | 
    
         
            +
              end
         
     | 
| 
      
 127 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: asciidoctor-diagram
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.5. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.5.10
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Pepijn Van Eeckhoudt
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2018- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-09-07 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -111,6 +111,8 @@ files: 
     | 
|
| 
       111 
111 
     | 
    
         
             
            - lib/asciidoctor-diagram/svgbob/extension.rb
         
     | 
| 
       112 
112 
     | 
    
         
             
            - lib/asciidoctor-diagram/syntrax.rb
         
     | 
| 
       113 
113 
     | 
    
         
             
            - lib/asciidoctor-diagram/syntrax/extension.rb
         
     | 
| 
      
 114 
     | 
    
         
            +
            - lib/asciidoctor-diagram/tikz.rb
         
     | 
| 
      
 115 
     | 
    
         
            +
            - lib/asciidoctor-diagram/tikz/extension.rb
         
     | 
| 
       114 
116 
     | 
    
         
             
            - lib/asciidoctor-diagram/umlet.rb
         
     | 
| 
       115 
117 
     | 
    
         
             
            - lib/asciidoctor-diagram/umlet/extension.rb
         
     | 
| 
       116 
118 
     | 
    
         
             
            - lib/asciidoctor-diagram/util/binaryio.rb
         
     | 
| 
         @@ -151,6 +153,7 @@ files: 
     | 
|
| 
       151 
153 
     | 
    
         
             
            - spec/svgbob_spec.rb
         
     | 
| 
       152 
154 
     | 
    
         
             
            - spec/syntrax_spec.rb
         
     | 
| 
       153 
155 
     | 
    
         
             
            - spec/test_helper.rb
         
     | 
| 
      
 156 
     | 
    
         
            +
            - spec/tikz_spec.rb
         
     | 
| 
       154 
157 
     | 
    
         
             
            - spec/umlet_spec.rb
         
     | 
| 
       155 
158 
     | 
    
         
             
            - spec/vega_spec.rb
         
     | 
| 
       156 
159 
     | 
    
         
             
            - spec/wavedrom_spec.rb
         
     | 
| 
         @@ -194,6 +197,7 @@ test_files: 
     | 
|
| 
       194 
197 
     | 
    
         
             
            - spec/svgbob_spec.rb
         
     | 
| 
       195 
198 
     | 
    
         
             
            - spec/syntrax_spec.rb
         
     | 
| 
       196 
199 
     | 
    
         
             
            - spec/test_helper.rb
         
     | 
| 
      
 200 
     | 
    
         
            +
            - spec/tikz_spec.rb
         
     | 
| 
       197 
201 
     | 
    
         
             
            - spec/umlet_spec.rb
         
     | 
| 
       198 
202 
     | 
    
         
             
            - spec/vega_spec.rb
         
     | 
| 
       199 
203 
     | 
    
         
             
            - spec/wavedrom_spec.rb
         
     |