jekyll-diagrams 0.7.0 → 0.7.1
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/.gitignore +3 -6
- data/.travis.yml +5 -4
- data/README.md +16 -13
- data/Rakefile +12 -1
- data/lib/jekyll-diagrams/blockdiag.rb +7 -3
- data/lib/jekyll-diagrams/erd.rb +7 -3
- data/lib/jekyll-diagrams/graphviz.rb +1 -1
- data/lib/jekyll-diagrams/mermaid.rb +1 -0
- data/lib/jekyll-diagrams/plantuml.rb +3 -2
- data/lib/jekyll-diagrams/smcat.rb +1 -1
- data/lib/jekyll-diagrams/syntrax.rb +3 -1
- data/lib/jekyll-diagrams/util.rb +2 -6
- data/lib/jekyll-diagrams/version.rb +1 -1
- data/test/dummy_site/Gemfile +8 -0
- data/test/dummy_site/_config.yml +21 -0
- data/test/dummy_site/_posts/2020-01-01-graphviz-test.md +23 -0
- data/test/dummy_site/_posts/2020-01-02-blockdiag-test.md +29 -0
- data/test/dummy_site/_posts/2020-01-03-plantuml-test.md +80 -0
- data/test/dummy_site/_posts/2020-01-04-mermaid-test.md +65 -0
- data/test/dummy_site/_posts/2020-01-05-wavedrom-test.md +16 -0
- data/test/dummy_site/_posts/2020-01-06-smcat-test.md +24 -0
- data/test/dummy_site/_posts/2020-01-07-erd-test.md +116 -0
- data/test/dummy_site/index.md +3 -0
- data/vendor/mermaid_puppeteer_config.json +3 -0
- metadata +23 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 45645fc482eb66caa1e9dcc420f1da9f500c5c3c4735df834f51a265b9ab5234
         | 
| 4 | 
            +
              data.tar.gz: 630469bb87099ce469e507f03e3b2567bd9e7eb6cc16b9d295427c39c3e8cd5a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b1fe97c25a68ebe37dccc5e5583dcb6ac0768c76922e89d5a033c4205dcf5005aa8abe1e1cb7a2f0261046a0329dd87d24c3c92b20761b41b0fa5e96fc2e22c4
         | 
| 7 | 
            +
              data.tar.gz: bd1017c5fd734b0a080cec05a309e4c829475ec34644d76af6df934644dd920e1e3371543c36a4038f6fe185e3708d51d9e8fbc55ecbbfe9a31a8c66d3a8cded
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.travis.yml
    CHANGED
    
    | @@ -9,16 +9,17 @@ rvm: | |
| 9 9 | 
             
            addons:
         | 
| 10 10 | 
             
              apt:
         | 
| 11 11 | 
             
                packages:
         | 
| 12 | 
            +
                  - cabal-install
         | 
| 12 13 | 
             
                  - default-jre
         | 
| 13 14 | 
             
                  - gnuplot
         | 
| 14 15 | 
             
                  - graphviz
         | 
| 15 | 
            -
                  - node
         | 
| 16 16 | 
             
                  - npm
         | 
| 17 17 | 
             
                  - python3
         | 
| 18 18 | 
             
                  - python3-pip
         | 
| 19 19 | 
             
                  - python3-setuptools
         | 
| 20 20 |  | 
| 21 21 | 
             
            before_install:
         | 
| 22 | 
            -
              - sudo  | 
| 23 | 
            -
              - gem update --system && gem install bundler
         | 
| 24 | 
            -
              - npm install -g wavedrom-cli  | 
| 22 | 
            +
              - sudo cabal update && sudo cabal install erd
         | 
| 23 | 
            +
              - sudo gem update --system && sudo gem install bundler
         | 
| 24 | 
            +
              - sudo npm install -g mermaid.cli state-machine-cat wavedrom-cli 
         | 
| 25 | 
            +
              - sudo pip3 install blockdiag seqdiag actdiag nwdiag syntrax
         | 
    
        data/README.md
    CHANGED
    
    | @@ -7,13 +7,13 @@ | |
| 7 7 |  | 
| 8 8 | 
             
            Jekyll Diagrams is a jekyll plugins for creating amazing diagrams, including:
         | 
| 9 9 |  | 
| 10 | 
            -
            - Blockdiag( | 
| 11 | 
            -
            - Erd
         | 
| 12 | 
            -
            - Graphviz
         | 
| 13 | 
            -
            - Mermaid
         | 
| 14 | 
            -
            - PlantUML
         | 
| 15 | 
            -
            - State Machine cat
         | 
| 16 | 
            -
            - Syntrax
         | 
| 10 | 
            +
            - [**Blockdiag**](#blockdiag)
         | 
| 11 | 
            +
            - [**Erd**](#erd)
         | 
| 12 | 
            +
            - [**Graphviz**](#graphviz)
         | 
| 13 | 
            +
            - [**Mermaid**](#mermaid)
         | 
| 14 | 
            +
            - [**PlantUML**](#plantUML)
         | 
| 15 | 
            +
            - [**State Machine Cat**](#state-machine-cat)
         | 
| 16 | 
            +
            - [**Syntrax**](#syntrax)
         | 
| 17 17 |  | 
| 18 18 | 
             
            ## Installation
         | 
| 19 19 |  | 
| @@ -112,6 +112,7 @@ jekyll-diagrams: | |
| 112 112 |  | 
| 113 113 | 
             
            - Install Graphviz
         | 
| 114 114 | 
             
            - [**Install Erd**](https://github.com/BurntSushi/erd#installation)
         | 
| 115 | 
            +
            - Set path properly, make sure your system can find it
         | 
| 115 116 |  | 
| 116 117 | 
             
            #### Examples
         | 
| 117 118 |  | 
| @@ -191,6 +192,7 @@ jekyll-diagrams: | |
| 191 192 | 
             
            #### Prerequisites
         | 
| 192 193 |  | 
| 193 194 | 
             
            - [**Install mermaid.cli**](https://github.com/mermaidjs/mermaid.cli#mermaidcli)
         | 
| 195 | 
            +
            - Set path properly, make sure your system can find it
         | 
| 194 196 |  | 
| 195 197 | 
             
            #### Configurations
         | 
| 196 198 |  | 
| @@ -229,13 +231,13 @@ Car -- Person : < owns | |
| 229 231 | 
             
            {% endplantuml %}
         | 
| 230 232 | 
             
            ```
         | 
| 231 233 |  | 
| 232 | 
            -
            ### State Machine  | 
| 234 | 
            +
            ### State Machine Cat
         | 
| 233 235 |  | 
| 234 236 | 
             
            #### Prerequisites
         | 
| 235 237 |  | 
| 236 238 | 
             
            - Nodejs Runtime
         | 
| 237 239 | 
             
            - Install it `npm install [-g] state-machine-cat`
         | 
| 238 | 
            -
            - Set path
         | 
| 240 | 
            +
            - Set path properly, make sure your system can find it
         | 
| 239 241 |  | 
| 240 242 | 
             
            #### Examples
         | 
| 241 243 |  | 
| @@ -267,15 +269,16 @@ jekyll-diagrams: | |
| 267 269 | 
             
                direction: top-down
         | 
| 268 270 | 
             
            ```
         | 
| 269 271 |  | 
| 270 | 
            -
            - `input-type`: smcat|scxml|json ( | 
| 271 | 
            -
            - `engine`: dot|circo|fdp|neato|osage|twopi ( | 
| 272 | 
            -
            - `direction`: top-down|bottom-top|left-right|right-left ( | 
| 272 | 
            +
            - `input-type`: `smcat|scxml|json` (Default: `smcat`)
         | 
| 273 | 
            +
            - `engine`: `dot|circo|fdp|neato|osage|twopi` (Default: `dot`)
         | 
| 274 | 
            +
            - `direction`: `top-down|bottom-top|left-right|right-left` (Default: `top-down`)
         | 
| 273 275 |  | 
| 274 276 | 
             
            ### Syntrax
         | 
| 275 277 |  | 
| 276 278 | 
             
            #### Prerequisites
         | 
| 277 279 |  | 
| 278 | 
            -
            - [Install  | 
| 280 | 
            +
            - [Install Syntrax, Pango and PangoCairo](https://kevinpt.github.io/syntrax/#requirements)
         | 
| 281 | 
            +
            - Set path properly, make sure your system can find it
         | 
| 279 282 |  | 
| 280 283 | 
             
            #### Examples
         | 
| 281 284 |  | 
    
        data/Rakefile
    CHANGED
    
    | @@ -7,4 +7,15 @@ Rake::TestTask.new(:test) do |t| | |
| 7 7 | 
             
              t.test_files = FileList['test/**/*_test.rb']
         | 
| 8 8 | 
             
            end
         | 
| 9 9 |  | 
| 10 | 
            -
            task default: :test
         | 
| 10 | 
            +
            task default: :test
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            desc 'Run dummy site'
         | 
| 13 | 
            +
            task :dummy_site do
         | 
| 14 | 
            +
              dummy_site_path = File.expand_path('test/dummy_site', __dir__)
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              Dir.chdir(dummy_site_path) do
         | 
| 17 | 
            +
                puts "Current directory: #{Dir.pwd}"
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                %x(bundle exec jekyll serve --trace)
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -4,6 +4,8 @@ require 'tempfile' | |
| 4 4 | 
             
            module Jekyll
         | 
| 5 5 | 
             
              module Diagrams
         | 
| 6 6 | 
             
                class BlockdiagBlock < Block
         | 
| 7 | 
            +
                  CONFIGURATIONS = %w(config font fontmap size).freeze
         | 
| 8 | 
            +
             | 
| 7 9 | 
             
                  def render_svg(code, config)
         | 
| 8 10 | 
             
                    command = build_command(config)
         | 
| 9 11 |  | 
| @@ -13,14 +15,16 @@ module Jekyll | |
| 13 15 | 
             
                  end
         | 
| 14 16 |  | 
| 15 17 | 
             
                  def read_config(context)
         | 
| 16 | 
            -
                    Util.config_for(context, 'blockdiag').merge( | 
| 18 | 
            +
                    Util.config_for(context, 'blockdiag').merge(
         | 
| 19 | 
            +
                      Util.config_for(context, block_name)
         | 
| 20 | 
            +
                    )
         | 
| 17 21 | 
             
                  end
         | 
| 18 22 |  | 
| 19 23 | 
             
                  def build_command(config)
         | 
| 20 | 
            -
                    command = "#{block_name} - | 
| 24 | 
            +
                    command = "#{block_name} -T svg --nodoctype"
         | 
| 21 25 | 
             
                    command << ' --antialias' if config.has_key?('antialias')
         | 
| 22 26 |  | 
| 23 | 
            -
                     | 
| 27 | 
            +
                    CONFIGURATIONS.each do |conf|
         | 
| 24 28 | 
             
                      command << " --#{conf}=#{config[conf]}" if config.has_key?(conf)
         | 
| 25 29 | 
             
                    end
         | 
| 26 30 |  | 
    
        data/lib/jekyll-diagrams/erd.rb
    CHANGED
    
    | @@ -1,14 +1,18 @@ | |
| 1 1 | 
             
            module Jekyll
         | 
| 2 2 | 
             
                module Diagrams
         | 
| 3 3 | 
             
                  class ErdBlock < Block
         | 
| 4 | 
            +
                    CONFIGURATIONS = %w(config edge).freeze
         | 
| 5 | 
            +
                    
         | 
| 4 6 | 
             
                    def render_svg(code, config)
         | 
| 5 | 
            -
                      render_with_stdin_stdout(build_command(config), code)
         | 
| 7 | 
            +
                      svg = render_with_stdin_stdout(build_command(config), code)
         | 
| 8 | 
            +
                      svg.sub!(/^<\?xml(([^>]|\n)*>\n?){2}/, '')
         | 
| 6 9 | 
             
                    end
         | 
| 7 10 |  | 
| 8 11 | 
             
                    def build_command(config)
         | 
| 9 12 | 
             
                      command = 'erd --fmt=svg'
         | 
| 13 | 
            +
                      command << ' --dot-entity' if config.has_key?('dot-entity')
         | 
| 10 14 |  | 
| 11 | 
            -
                       | 
| 15 | 
            +
                      CONFIGURATIONS.each do |conf|
         | 
| 12 16 | 
             
                        command << " --#{conf}=#{config[conf]}" if config.has_key?(conf)
         | 
| 13 17 | 
             
                      end
         | 
| 14 18 |  | 
| @@ -18,4 +22,4 @@ module Jekyll | |
| 18 22 | 
             
                end
         | 
| 19 23 | 
             
              end
         | 
| 20 24 |  | 
| 21 | 
            -
              Liquid::Template.register_tag(: | 
| 25 | 
            +
              Liquid::Template.register_tag(:erd, Jekyll::Diagrams::ErdBlock)
         | 
| @@ -17,6 +17,7 @@ module Jekyll | |
| 17 17 | 
             
                    def build_command(config)
         | 
| 18 18 | 
             
                      command = 'mmdc'
         | 
| 19 19 | 
             
                      command << ' --transparent' if config.has_key?('transparent')
         | 
| 20 | 
            +
                      command << " --puppeteerConfigFile #{Util.vendor_path('mermaid_puppeteer_config.json')}"
         | 
| 20 21 |  | 
| 21 22 | 
             
                      CONFIGURATIONS.merge(config).each do |conf, value|
         | 
| 22 23 | 
             
                        command << " --#{conf} #{value}"
         | 
| @@ -2,14 +2,15 @@ module Jekyll | |
| 2 2 | 
             
              module Diagrams
         | 
| 3 3 | 
             
                class PlantUMLBlock < Block
         | 
| 4 4 | 
             
                  def render_svg(code, config)
         | 
| 5 | 
            -
                    render_with_stdin_stdout(build_command(config), code)
         | 
| 5 | 
            +
                    svg = render_with_stdin_stdout(build_command(config), code)
         | 
| 6 | 
            +
                    svg.sub!(/^<\?xml([^>]|\n)*>\n?/, '')
         | 
| 6 7 | 
             
                  end
         | 
| 7 8 |  | 
| 8 9 | 
             
                  def build_command(config)
         | 
| 9 10 | 
             
                    options = 'java'
         | 
| 10 11 | 
             
                    options << ' -Djava.awt.headless=true'
         | 
| 11 12 | 
             
                    options << ' -jar '
         | 
| 12 | 
            -
                    options << Util. | 
| 13 | 
            +
                    options << Util.vendor_path('plantuml.1.2020.1.jar')
         | 
| 13 14 | 
             
                    options << ' -tsvg -pipe'
         | 
| 14 15 | 
             
                  end
         | 
| 15 16 | 
             
                end
         | 
| @@ -1,6 +1,8 @@ | |
| 1 1 | 
             
            module Jekyll
         | 
| 2 2 | 
             
                module Diagrams
         | 
| 3 3 | 
             
                  class SyntraxBlock < Block
         | 
| 4 | 
            +
                    CONFIGURATIONS = %w(scale style).freeze
         | 
| 5 | 
            +
             | 
| 4 6 | 
             
                    def render_svg(code, config)
         | 
| 5 7 | 
             
                      render_with_tempfile(build_command(config), code) do |command, input, output|
         | 
| 6 8 | 
             
                        "#{command} --input #{input} --output #{output}"
         | 
| @@ -10,7 +12,7 @@ module Jekyll | |
| 10 12 | 
             
                    def build_command(config)
         | 
| 11 13 | 
             
                      command = 'syntrax'
         | 
| 12 14 |  | 
| 13 | 
            -
                       | 
| 15 | 
            +
                      CONFIGURATIONS.each do |conf|
         | 
| 14 16 | 
             
                        command << " --#{conf} #{config[conf]}" if config.has_key?(conf)
         | 
| 15 17 | 
             
                      end
         | 
| 16 18 |  | 
    
        data/lib/jekyll-diagrams/util.rb
    CHANGED
    
    | @@ -19,12 +19,8 @@ module Jekyll | |
| 19 19 | 
             
                      diagrams_config(context).fetch(name, {})
         | 
| 20 20 | 
             
                    end
         | 
| 21 21 |  | 
| 22 | 
            -
                    def  | 
| 23 | 
            -
                      File.join( | 
| 24 | 
            -
                    end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                    def vendor_path
         | 
| 27 | 
            -
                      File.expand_path('../../vendor', __dir__)
         | 
| 22 | 
            +
                    def vendor_path(file = '')
         | 
| 23 | 
            +
                      File.join(File.expand_path('../../vendor', __dir__), file)
         | 
| 28 24 | 
             
                    end
         | 
| 29 25 | 
             
                  end
         | 
| 30 26 | 
             
                end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            title: Dummy Site
         | 
| 2 | 
            +
            description: This is a dummy site for testing.
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            theme: minima
         | 
| 5 | 
            +
            plugins:
         | 
| 6 | 
            +
              - jekyll-diagrams
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            jekyll-diagrams:
         | 
| 9 | 
            +
              graphviz:
         | 
| 10 | 
            +
                default_layout: dot
         | 
| 11 | 
            +
                graph_attribute: color=red
         | 
| 12 | 
            +
                node_attribute:
         | 
| 13 | 
            +
                  - color=blue
         | 
| 14 | 
            +
                  - fillcolor=red
         | 
| 15 | 
            +
                edge_attribute:
         | 
| 16 | 
            +
                  color: red
         | 
| 17 | 
            +
                  fillcolor: blue
         | 
| 18 | 
            +
              blockdiag:
         | 
| 19 | 
            +
                antialias: true
         | 
| 20 | 
            +
              syntax:
         | 
| 21 | 
            +
                transparent: true
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: Graphviz Test
         | 
| 4 | 
            +
            date: 2020-01-01 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Graphviz Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            {% graphviz %}
         | 
| 10 | 
            +
            digraph {
         | 
| 11 | 
            +
              node [shape=circle, style=filled];
         | 
| 12 | 
            +
              S ;
         | 
| 13 | 
            +
              A ;
         | 
| 14 | 
            +
              B ;
         | 
| 15 | 
            +
              C ;
         | 
| 16 | 
            +
              D [shape=doublecircle, fillcolor=green];
         | 
| 17 | 
            +
              S -> A [label=a];
         | 
| 18 | 
            +
              S -> B [label=b];
         | 
| 19 | 
            +
              A -> D [label=c];
         | 
| 20 | 
            +
              B -> D [label=d];
         | 
| 21 | 
            +
            }
         | 
| 22 | 
            +
            {% endgraphviz %}
         | 
| 23 | 
            +
             | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: Blockdiag Test
         | 
| 4 | 
            +
            date: 2020-01-02 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Blockdiag Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ## Blockdiag
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            {% blockdiag %}
         | 
| 12 | 
            +
            blockdiag {
         | 
| 13 | 
            +
               A -> B -> C -> D;
         | 
| 14 | 
            +
               A -> E -> F -> G;
         | 
| 15 | 
            +
            }
         | 
| 16 | 
            +
            {% endblockdiag %}
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            ## Seqdiag
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            {% seqdiag %}
         | 
| 21 | 
            +
            seqdiag {
         | 
| 22 | 
            +
              browser  -> webserver [label = "GET /index.html"];
         | 
| 23 | 
            +
              browser <-- webserver;
         | 
| 24 | 
            +
              browser  -> webserver [label = "POST /blog/comment"];
         | 
| 25 | 
            +
                          webserver  -> database [label = "INSERT comment"];
         | 
| 26 | 
            +
                          webserver <-- database;
         | 
| 27 | 
            +
              browser <-- webserver;
         | 
| 28 | 
            +
            }
         | 
| 29 | 
            +
            {% endseqdiag %}
         | 
| @@ -0,0 +1,80 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: PlantUML Test
         | 
| 4 | 
            +
            date: 2020-01-03 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # PlantUML Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            {% plantuml %}
         | 
| 10 | 
            +
            @startuml
         | 
| 11 | 
            +
            actor Foo1
         | 
| 12 | 
            +
            boundary Foo2
         | 
| 13 | 
            +
            control Foo3
         | 
| 14 | 
            +
            entity Foo4
         | 
| 15 | 
            +
            database Foo5
         | 
| 16 | 
            +
            collections Foo6
         | 
| 17 | 
            +
            Foo1 -> Foo2 : To boundary
         | 
| 18 | 
            +
            Foo1 -> Foo3 : To control
         | 
| 19 | 
            +
            Foo1 -> Foo4 : To entity
         | 
| 20 | 
            +
            Foo1 -> Foo5 : To database
         | 
| 21 | 
            +
            Foo1 -> Foo6 : To collections
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            @enduml
         | 
| 24 | 
            +
            {% endplantuml %}
         | 
| 25 | 
            +
             | 
| 26 | 
            +
             | 
| 27 | 
            +
            {% plantuml %}
         | 
| 28 | 
            +
            @startuml
         | 
| 29 | 
            +
            :Main Admin: as Admin
         | 
| 30 | 
            +
            (Use the application) as (Use)
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            User -> (Start)
         | 
| 33 | 
            +
            User --> (Use)
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            Admin ---> (Use)
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            note right of Admin : This is an example.
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            note right of (Use)
         | 
| 40 | 
            +
              A note can also
         | 
| 41 | 
            +
              be on several lines
         | 
| 42 | 
            +
            end note
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            note "This note is connected\nto several objects." as N2
         | 
| 45 | 
            +
            (Start) .. N2
         | 
| 46 | 
            +
            N2 .. (Use)
         | 
| 47 | 
            +
            @enduml
         | 
| 48 | 
            +
            {% endplantuml %}
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            {% plantuml %}
         | 
| 51 | 
            +
            @startuml
         | 
| 52 | 
            +
            class Car
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            Driver - Car : drives >
         | 
| 55 | 
            +
            Car *- Wheel : have 4 >
         | 
| 56 | 
            +
            Car -- Person : < owns
         | 
| 57 | 
            +
             | 
| 58 | 
            +
            @enduml
         | 
| 59 | 
            +
            {% endplantuml %}
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            {% plantuml %}
         | 
| 62 | 
            +
            @startuml
         | 
| 63 | 
            +
            nwdiag {
         | 
| 64 | 
            +
              network dmz {
         | 
| 65 | 
            +
                address = "210.x.x.x/24"
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                web01 [address = "210.x.x.1"];
         | 
| 68 | 
            +
                web02 [address = "210.x.x.2"];
         | 
| 69 | 
            +
              }
         | 
| 70 | 
            +
              network internal {
         | 
| 71 | 
            +
                address = "172.x.x.x/24";
         | 
| 72 | 
            +
             | 
| 73 | 
            +
                web01 [address = "172.x.x.1"];
         | 
| 74 | 
            +
                web02 [address = "172.x.x.2"];
         | 
| 75 | 
            +
                db01;
         | 
| 76 | 
            +
                db02;
         | 
| 77 | 
            +
              }
         | 
| 78 | 
            +
            }
         | 
| 79 | 
            +
            @enduml
         | 
| 80 | 
            +
            {% endplantuml %}
         | 
| @@ -0,0 +1,65 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: Mermaid Test
         | 
| 4 | 
            +
            date: 2020-01-04 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Mermaid Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            {% mermaid %}
         | 
| 10 | 
            +
            graph TB
         | 
| 11 | 
            +
                c1-->a2
         | 
| 12 | 
            +
                subgraph one
         | 
| 13 | 
            +
                a1-->a2
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
                subgraph two
         | 
| 16 | 
            +
                b1-->b2
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
                subgraph three
         | 
| 19 | 
            +
                c1-->c2
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
            {% endmermaid %}
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            {% mermaid %}
         | 
| 24 | 
            +
            sequenceDiagram
         | 
| 25 | 
            +
                participant John
         | 
| 26 | 
            +
                participant Alice
         | 
| 27 | 
            +
                Alice->>John: Hello John, how are you?
         | 
| 28 | 
            +
                John-->>Alice: Great!
         | 
| 29 | 
            +
            {% endmermaid %}
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            {% mermaid %}
         | 
| 32 | 
            +
             classDiagram
         | 
| 33 | 
            +
                  Animal <|-- Duck
         | 
| 34 | 
            +
                  Animal <|-- Fish
         | 
| 35 | 
            +
                  Animal <|-- Zebra
         | 
| 36 | 
            +
                  Animal : +int age
         | 
| 37 | 
            +
                  Animal : +String gender
         | 
| 38 | 
            +
                  Animal: +isMammal()
         | 
| 39 | 
            +
                  Animal: +mate()
         | 
| 40 | 
            +
                  class Duck{
         | 
| 41 | 
            +
                      +String beakColor
         | 
| 42 | 
            +
                      +swim()
         | 
| 43 | 
            +
                      +quack()
         | 
| 44 | 
            +
                  }
         | 
| 45 | 
            +
                  class Fish{
         | 
| 46 | 
            +
                      -int sizeInFeet
         | 
| 47 | 
            +
                      -canEat()
         | 
| 48 | 
            +
                  }
         | 
| 49 | 
            +
                  class Zebra{
         | 
| 50 | 
            +
                      +bool is_wild
         | 
| 51 | 
            +
                      +run()
         | 
| 52 | 
            +
                  }
         | 
| 53 | 
            +
            {% endmermaid %}
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            {% mermaid %}
         | 
| 56 | 
            +
            gantt
         | 
| 57 | 
            +
                title A Gantt Diagram
         | 
| 58 | 
            +
                dateFormat  YYYY-MM-DD
         | 
| 59 | 
            +
                section Section
         | 
| 60 | 
            +
                A task           :a1, 2014-01-01, 30d
         | 
| 61 | 
            +
                Another task     :after a1  , 20d
         | 
| 62 | 
            +
                section Another
         | 
| 63 | 
            +
                Task in sec      :2014-01-12  , 12d
         | 
| 64 | 
            +
                another task      : 24d
         | 
| 65 | 
            +
            {% endmermaid %}
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: Wavedrom Test
         | 
| 4 | 
            +
            date: 2020-01-05 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Wavedrom Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            {% wavedrom %}
         | 
| 10 | 
            +
            {signal: [
         | 
| 11 | 
            +
              {name: 'clk', wave: 'p.....|...'},
         | 
| 12 | 
            +
              {name: 'dat', wave: 'x.345x|=.x', data: ['head', 'body', 'tail', 'data']},
         | 
| 13 | 
            +
              {name: 'req', wave: '0.1..0|1.0'},
         | 
| 14 | 
            +
              {name: 'ack', wave: '1.....|01.'}
         | 
| 15 | 
            +
            ]}
         | 
| 16 | 
            +
            {% endwavedrom %}
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: State Machine Cat Test
         | 
| 4 | 
            +
            date: 2020-01-06 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # State Machine Cat Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            {% smcat %}
         | 
| 10 | 
            +
            initial,
         | 
| 11 | 
            +
            doing: entry/ write unit test
         | 
| 12 | 
            +
                   do/ write code
         | 
| 13 | 
            +
                   exit/ ...,
         | 
| 14 | 
            +
            # smcat recognizes initial
         | 
| 15 | 
            +
            # and final states by name
         | 
| 16 | 
            +
            # and renders them appropriately
         | 
| 17 | 
            +
            final;
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            initial      => "on backlog" : item adds most value;
         | 
| 20 | 
            +
            "on backlog" => doing        : working on it;
         | 
| 21 | 
            +
            doing        => testing      : built & unit tested;
         | 
| 22 | 
            +
            testing      => "on backlog" : test not ok;
         | 
| 23 | 
            +
            testing      => final        : test ok;
         | 
| 24 | 
            +
            {% endsmcat %}
         | 
| @@ -0,0 +1,116 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            layout: post
         | 
| 3 | 
            +
            title: Erd Test
         | 
| 4 | 
            +
            date: 2020-01-07 00:00:00 +0800
         | 
| 5 | 
            +
            ---
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Erd Test
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            {% erd %}
         | 
| 10 | 
            +
            [Person]
         | 
| 11 | 
            +
            *name
         | 
| 12 | 
            +
            height
         | 
| 13 | 
            +
            weight
         | 
| 14 | 
            +
            `birth date`
         | 
| 15 | 
            +
            +birth_place_id
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            [`Birth Place`]
         | 
| 18 | 
            +
            *id
         | 
| 19 | 
            +
            `birth city`
         | 
| 20 | 
            +
            'birth state'
         | 
| 21 | 
            +
            "birth country"
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            # Each relationship must be between exactly two entities, which need not
         | 
| 24 | 
            +
            # be distinct. Each entity in the relationship has exactly one of four
         | 
| 25 | 
            +
            # possible cardinalities:
         | 
| 26 | 
            +
            #
         | 
| 27 | 
            +
            # Cardinality    Syntax
         | 
| 28 | 
            +
            # 0 or 1         ?
         | 
| 29 | 
            +
            # exactly 1      1
         | 
| 30 | 
            +
            # 0 or more      *
         | 
| 31 | 
            +
            # 1 or more      +
         | 
| 32 | 
            +
            Person *--1 `Birth Place`
         | 
| 33 | 
            +
            {% enderd %}
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            {% erd %}
         | 
| 36 | 
            +
            title {label: "nfldb Entity-Relationship diagram (condensed)", size: "20"}
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            # Entities
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            [player] {bgcolor: "#d0e0d0"}
         | 
| 41 | 
            +
              *player_id {label: "varchar, not null"}
         | 
| 42 | 
            +
              full_name {label: "varchar, null"}
         | 
| 43 | 
            +
              team {label: "varchar, not null"}
         | 
| 44 | 
            +
              position {label: "player_pos, not null"}
         | 
| 45 | 
            +
              status {label: "player_status, not null"}
         | 
| 46 | 
            +
             | 
| 47 | 
            +
            [team] {bgcolor: "#d0e0d0"}
         | 
| 48 | 
            +
              *team_id {label: "varchar, not null"}
         | 
| 49 | 
            +
              city {label: "varchar, not null"}
         | 
| 50 | 
            +
              name {label: "varchar, not null"}
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            [game] {bgcolor: "#ececfc"}
         | 
| 53 | 
            +
              *gsis_id {label: "gameid, not null"}
         | 
| 54 | 
            +
              start_time {label: "utctime, not null"}
         | 
| 55 | 
            +
              week {label: "usmallint, not null"}
         | 
| 56 | 
            +
              season_year {label: "usmallint, not null"}
         | 
| 57 | 
            +
              season_type {label: "season_phase, not null"}
         | 
| 58 | 
            +
              finished {label: "boolean, not null"}
         | 
| 59 | 
            +
              home_team {label: "varchar, not null"}
         | 
| 60 | 
            +
              home_score {label: "usmallint, not null"}
         | 
| 61 | 
            +
              away_team {label: "varchar, not null"}
         | 
| 62 | 
            +
              away_score {label: "usmallint, not null"}
         | 
| 63 | 
            +
             | 
| 64 | 
            +
            [drive] {bgcolor: "#ececfc"}
         | 
| 65 | 
            +
              *+gsis_id {label: "gameid, not null"}
         | 
| 66 | 
            +
              *drive_id {label: "usmallint, not null"}
         | 
| 67 | 
            +
              start_field {label: "field_pos, null"}
         | 
| 68 | 
            +
              start_time {label: "game_time, not null"}
         | 
| 69 | 
            +
              end_field {label: "field_pos, null"}
         | 
| 70 | 
            +
              end_time {label: "game_time, not null"}
         | 
| 71 | 
            +
              pos_team {label: "varchar, not null"}
         | 
| 72 | 
            +
              pos_time {label: "pos_period, null"}
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            [play] {bgcolor: "#ececfc"}
         | 
| 75 | 
            +
              *+gsis_id {label: "gameid, not null"}
         | 
| 76 | 
            +
              *+drive_id {label: "usmallint, not null"}
         | 
| 77 | 
            +
              *play_id {label: "usmallint, not null"}
         | 
| 78 | 
            +
              time {label: "game_time, not null"}
         | 
| 79 | 
            +
              pos_team {label: "varchar, not null"}
         | 
| 80 | 
            +
              yardline {label: "field_pos, null"}
         | 
| 81 | 
            +
              down {label: "smallint, null"}
         | 
| 82 | 
            +
              yards_to_go {label: "smallint, null"}
         | 
| 83 | 
            +
             | 
| 84 | 
            +
            [play_player] {bgcolor: "#ececfc"}
         | 
| 85 | 
            +
              *+gsis_id {label: "gameid, not null"}
         | 
| 86 | 
            +
              *+drive_id {label: "usmallint, not null"}
         | 
| 87 | 
            +
              *+play_id {label: "usmallint, not null"}
         | 
| 88 | 
            +
              *+player_id {label: "varchar, not null"}
         | 
| 89 | 
            +
              team {label: "varchar, not null"}
         | 
| 90 | 
            +
             | 
| 91 | 
            +
            [meta] {bgcolor: "#fcecec"}
         | 
| 92 | 
            +
              version {label: "smallint, null"}
         | 
| 93 | 
            +
              season_type {label: "season_phase, null"}
         | 
| 94 | 
            +
              season_year {label: "usmallint, null"}
         | 
| 95 | 
            +
              week {label: "usmallint, null"}
         | 
| 96 | 
            +
             | 
| 97 | 
            +
            # Relationships
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            player      *--1 team
         | 
| 100 | 
            +
            game        *--1 team {label: "home"}
         | 
| 101 | 
            +
            game        *--1 team {label: "away"}
         | 
| 102 | 
            +
            drive       *--1 team
         | 
| 103 | 
            +
            play        *--1 team
         | 
| 104 | 
            +
            play_player *--1 team
         | 
| 105 | 
            +
             | 
| 106 | 
            +
            game        1--* drive
         | 
| 107 | 
            +
            game        1--* play
         | 
| 108 | 
            +
            game        1--* play_player
         | 
| 109 | 
            +
             | 
| 110 | 
            +
            drive       1--* play
         | 
| 111 | 
            +
            drive       1--* play_player
         | 
| 112 | 
            +
             | 
| 113 | 
            +
            play        1--* play_player
         | 
| 114 | 
            +
             | 
| 115 | 
            +
            player      1--* play_player
         | 
| 116 | 
            +
            {% enderd %}
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: jekyll-diagrams
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.7. | 
| 4 | 
            +
              version: 0.7.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - zhustec
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020-02- | 
| 11 | 
            +
            date: 2020-02-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: jekyll
         | 
| @@ -99,7 +99,18 @@ files: | |
| 99 99 | 
             
            - lib/jekyll-diagrams/util.rb
         | 
| 100 100 | 
             
            - lib/jekyll-diagrams/version.rb
         | 
| 101 101 | 
             
            - lib/jekyll-diagrams/wavedrom.rb
         | 
| 102 | 
            +
            - test/dummy_site/Gemfile
         | 
| 103 | 
            +
            - test/dummy_site/_config.yml
         | 
| 104 | 
            +
            - test/dummy_site/_posts/2020-01-01-graphviz-test.md
         | 
| 105 | 
            +
            - test/dummy_site/_posts/2020-01-02-blockdiag-test.md
         | 
| 106 | 
            +
            - test/dummy_site/_posts/2020-01-03-plantuml-test.md
         | 
| 107 | 
            +
            - test/dummy_site/_posts/2020-01-04-mermaid-test.md
         | 
| 108 | 
            +
            - test/dummy_site/_posts/2020-01-05-wavedrom-test.md
         | 
| 109 | 
            +
            - test/dummy_site/_posts/2020-01-06-smcat-test.md
         | 
| 110 | 
            +
            - test/dummy_site/_posts/2020-01-07-erd-test.md
         | 
| 111 | 
            +
            - test/dummy_site/index.md
         | 
| 102 112 | 
             
            - test/test_helper.rb
         | 
| 113 | 
            +
            - vendor/mermaid_puppeteer_config.json
         | 
| 103 114 | 
             
            - vendor/plantuml.1.2020.1.jar
         | 
| 104 115 | 
             
            homepage: https://github.com/zhustec/jekyll-diagrams
         | 
| 105 116 | 
             
            licenses:
         | 
| @@ -127,4 +138,14 @@ specification_version: 4 | |
| 127 138 | 
             
            summary: Jekyll plugins for diagrams support, including Graphviz, Blockdiag, PlantUML
         | 
| 128 139 | 
             
              and so on.
         | 
| 129 140 | 
             
            test_files:
         | 
| 141 | 
            +
            - test/dummy_site/Gemfile
         | 
| 142 | 
            +
            - test/dummy_site/_config.yml
         | 
| 143 | 
            +
            - test/dummy_site/_posts/2020-01-01-graphviz-test.md
         | 
| 144 | 
            +
            - test/dummy_site/_posts/2020-01-02-blockdiag-test.md
         | 
| 145 | 
            +
            - test/dummy_site/_posts/2020-01-03-plantuml-test.md
         | 
| 146 | 
            +
            - test/dummy_site/_posts/2020-01-04-mermaid-test.md
         | 
| 147 | 
            +
            - test/dummy_site/_posts/2020-01-05-wavedrom-test.md
         | 
| 148 | 
            +
            - test/dummy_site/_posts/2020-01-06-smcat-test.md
         | 
| 149 | 
            +
            - test/dummy_site/_posts/2020-01-07-erd-test.md
         | 
| 150 | 
            +
            - test/dummy_site/index.md
         | 
| 130 151 | 
             
            - test/test_helper.rb
         |