How to properly use the jekyll-plantuml plugin?

0 votes
asked Mar 17, 2023 in Question / help by dragondive (480 points)

I want to integrate PlantUML diagrams into a Jekyll blog. I followed the "Integrate with Jekyll" link on https://plantuml.com/running. I installed the gem and updated my Jekyll's _config.yml file as suggested. But this led to the below runtime error. I posted a question about it on the plugin's github page https://github.com/yegor256/jekyll-plantuml/issues/20 but I did not have any hints so far. 

Has anyone managed to successfully do this with a recent version of ruby/jekyll? Any hints on what I should try to fix these problems and get it running?

I'm a noob in ruby/jekyll, so I'm not sure what relevant information I should share here, but these are the version infos.

Software versions

  • OS: Ubuntu 20.04.5 LTS (using WSL2 on Windows 11)
  • Ruby: 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
  • Jekyll: 3.9.2
  • Bundler: 2.4.8
  • Liquid: 4.0.3

The runtime error:

dragondive@Laughtale:/mnt/c/WORK/dragondive/dragondive.github.io/docs$ bundle exec jekyll serve
Configuration file: /mnt/c/WORK/dragondive/dragondive.github.io/docs/_config.yml
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
            Source: /mnt/c/WORK/dragondive/dragondive.github.io/docs
       Destination: /mnt/c/WORK/dragondive/dragondive.github.io/docs/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating feed for posts
  Liquid Exception: Liquid syntax error (line 1): Unknown tag 'plantuml' in /mnt/c/WORK/dragondive/dragondive.github.io/docs/_posts/2023-03-17-plantuml.md
jekyll 3.9.2 | Error:  Liquid syntax error (line 1): Unknown tag 'plantuml'
/home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/document.rb:23:in `unknown_tag': Liquid syntax error (line 1): Unknown tag 'plantuml' (Liquid::SyntaxError)
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/document.rb:11:in `block in parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:32:in `parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/document.rb:10:in `parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/document.rb:5:in `parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/template.rb:132:in `parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/liquid-4.0.3/lib/liquid/template.rb:116:in `parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/liquid_renderer/file.rb:13:in `block in parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/liquid_renderer/file.rb:49:in `measure_time'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/liquid_renderer/file.rb:12:in `parse'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:121:in `render_liquid'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:79:in `render_document'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:62:in `run'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:479:in `render_regenerated'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:464:in `block (2 levels) in render_docs'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:463:in `each'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:463:in `block in render_docs'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:462:in `each_value'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:462:in `render_docs'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:191:in `render'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:71:in `process'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/command.rb:28:in `process_site'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:65:in `build'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:36:in `process'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `block in start'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `each'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `start'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/jekyll-3.9.2/exe/jekyll:15:in `<top (required)>'
        from /home/dragondive/.rbenv/versions/3.1.3/bin/jekyll:25:in `load'
        from /home/dragondive/.rbenv/versions/3.1.3/bin/jekyll:25:in `<top (required)>'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/cli/exec.rb:58:in `load'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/cli/exec.rb:58:in `kernel_load'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/cli/exec.rb:23:in `run'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/cli.rb:492:in `exec'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/vendor/thor/lib/thor/command.rb:27:'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/cli.rb:34:in `dispatch'
        from /home/dragondive/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/bundler-2.4.8/lib/bundler/vendor/thor/lib/thor/base.rb:485:in'


1 Answer

0 votes
answered Mar 17, 2023 by Todd Musheno (2,680 points)
Looks like they take moths to respond... so it may be a while till you hear back.

It is open source, so...

Sounds like this is an issue in the plugin, not plantuml itself.
...