mslinn / jekyll_img

This versatile plugin embeds responsive images using the <picture/> element in documents and pages with alignment options, flexible resizing, default styling, overridable styling, an optional caption, and an optional URL.
https://www.mslinn.com/jekyll_plugins/jekyll_img.html
MIT License
2 stars 0 forks source link

compile error #4

Open 1a1a11a opened 1 year ago

1a1a11a commented 1 year ago

I got `undefined method[]' for nil:NilClass''

ERROR Jekyll::Img: Jekyll::Img died with a /var/lib/gems/3.0.0/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:163:in `render': undefined method `[]' for nil:NilClass (NoMethodError)
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:129:in `render_liquid'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63:in `run'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:572:in `render_regenerated'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:557:in `block (2 levels) in render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `each'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `block in render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `each_value'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:210:in `render'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:80:in `process'
        from /var/lib/gems/3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:128:in `process'
        from /var/lib/gems/3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:64:in `block in listen_handler'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/config.rb:28:in `call'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:117:in `block in _process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:116:in `_process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:25:in `block in loop_for'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop_for'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/loop.rb:85:in `_process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/loop.rb:51:in `block in start'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:18:in `block in new'

  Liquid Exception: exit in /users/a1a1a11a/fastscp-website/_posts/2021-10-01-segcache.md
                    ------------------------------------------------
      Jekyll 4.3.2   Please append `--trace` to the `serve` command 
                     for any additional information or backtrace. 
                    ------------------------------------------------
/var/lib/gems/3.0.0/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:168:in `exit': exit (SystemExit)
        from /var/lib/gems/3.0.0/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:168:in `rescue in render'
        from /var/lib/gems/3.0.0/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:148:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:129:in `render_liquid'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63:in `run'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:572:in `render_regenerated'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:557:in `block (2 levels) in render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `each'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `block in render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `each_value'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:210:in `render'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:80:in `process'
        from /var/lib/gems/3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:128:in `process'
        from /var/lib/gems/3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:64:in `block in listen_handler'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/config.rb:28:in `call'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:117:in `block in _process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:116:in `_process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:25:in `block in loop_for'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop_for'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/loop.rb:85:in `_process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/loop.rb:51:in `block in start'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:18:in `block in new'
/var/lib/gems/3.0.0/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:163:in `render': undefined method `[]' for nil:NilClass (NoMethodError)
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /var/lib/gems/3.0.0/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:129:in `render_liquid'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63:in `run'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:572:in `render_regenerated'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:557:in `block (2 levels) in render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `each'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `block in render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `each_value'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `render_docs'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:210:in `render'
        from /var/lib/gems/3.0.0/gems/jekyll-4.3.2/lib/jekyll/site.rb:80:in `process'
        from /var/lib/gems/3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:128:in `process'
        from /var/lib/gems/3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:64:in `block in listen_handler'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/config.rb:28:in `call'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:117:in `block in _process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:116:in `_process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:25:in `block in loop_for'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop_for'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/loop.rb:85:in `_process_changes'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/event/loop.rb:51:in `block in start'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
        from /var/lib/gems/3.0.0/gems/listen-3.8.0/lib/listen/thread.rb:18:in `block in new'
mslinn commented 1 year ago

Interesting. Please show the tag invocation that caused the problem.

Also, what version are you running? I only support the current version, which is v0.1.5:

$ gem info jekyll_img

*** LOCAL GEMS ***

jekyll_img (0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
    Author: Mike Slinn
    Homepage: https://www.mslinn.com/jekyll_plugins/jekyll_img.html
    License: MIT
    Installed at (0.1.5): /home/mslinn/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0
                 (0.1.4): /home/mslinn/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0
                 (0.1.3): /home/mslinn/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0
                 (0.1.2): /home/mslinn/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0
                 (0.1.1): /home/mslinn/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0
                 (0.1.0): /home/mslinn/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0

    Provides a Jekyll tag that generates images.

Mike

1a1a11a commented 1 year ago

Thank you for the response!

*** LOCAL GEMS ***

jekyll_img (0.1.5)
    Author: Mike Slinn
    Homepage: https://www.mslinn.com/jekyll_plugins/jekyll_img.html
    License: MIT
    Installed at: /var/lib/gems/3.0.0

    Provides a Jekyll tag that generates images.

The error can be reproduced using the demo, on a newly installed Ubuntu22.04 system.

mslinn commented 1 year ago

I need to see the invocation. For example:

{% img src="blah.png" %}
1a1a11a commented 1 year ago

{% img src="diagram_s3fifo.svg" %} is it possible that svg is not supported?

mslinn commented 1 year ago

1) Correct, svg is not supported, for historical reasons ... which are no longer valid. 2) The plugin should not generate a stack trace when it has a problem. 3) The docs do not discuss why elements are generated (they are fallback formats for older browsers)

I will address the above in separate issues.

1a1a11a commented 1 year ago

Hi Mike, Thank you for your prompt response and help! I am happy to test the new version once they are ready. :)

mslinn commented 1 year ago

I released v0.1.6, and updated the documentation accordingly.

SVG format is not currently supported because it might not make sense for an image format fallback from/to SVG. That said, image fallback may not be a useful feature for everyone. Please provide your remarks about that topic in issue #5.

To update your Jekyll website to the current version, change to your website directory and type:

$ bundle update

Look for a message stating that jekyll_img v0.1.6 was installed before testing.

1a1a11a commented 1 year ago

Hi Mike, Thank you! This is great work! I did not know it was for webp fallback (I was looking for a plugin that allows me to better align and size the images). I just tested with a webp converted from gif, but it still throws the error.

ERROR Jekyll::Img: Jekyll::Img died with a /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:163:in `render': undefined method `[]' for nil:NilClass (NoMethodError)

      @mode = @config['env']['JEKYLL_ENV'] || 'development'
                            ^^^^^^^^^^^^^^
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:129:in `render_liquid'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63:in `run'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:572:in `render_regenerated'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:557:in `block (2 levels) in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `block in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `each_value'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:210:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:80:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:28:in `process_site'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:65:in `build'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:36:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/exe/jekyll:15:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:32:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:32:in `<main>'

  Liquid Exception: exit in /workspaces/myblog/_posts/2021-04-01-segcache.md
                    ------------------------------------------------
      Jekyll 4.3.2   Please append `--trace` to the `serve` command 
                     for any additional information or backtrace. 
                    ------------------------------------------------
/usr/local/rvm/gems/ruby-3.2.2/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:168:in `exit': exit (SystemExit)
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:168:in `rescue in render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:148:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:129:in `render_liquid'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63:in `run'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:572:in `render_regenerated'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:557:in `block (2 levels) in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `block in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `each_value'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:210:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:80:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:28:in `process_site'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:65:in `build'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:36:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/exe/jekyll:15:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:32:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:32:in `<main>'
/usr/local/rvm/gems/ruby-3.2.2/gems/jekyll_plugin_support-0.7.0/lib/jekyll_plugin_support.rb:163:in `render': undefined method `[]' for nil:NilClass (NoMethodError)

      @mode = @config['env']['JEKYLL_ENV'] || 'development'
                            ^^^^^^^^^^^^^^
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:129:in `render_liquid'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/renderer.rb:63:in `run'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:572:in `render_regenerated'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:557:in `block (2 levels) in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:556:in `block in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `each_value'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:555:in `render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:210:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/site.rb:80:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:28:in `process_site'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:65:in `build'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:36:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.3.2/exe/jekyll:15:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:32:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:32:in `<main>'

I confirm that I am using 0.1.6, did I miss something?

mslinn commented 1 year ago

Hmm, what do you get when you run the following?

$ gem info jekyll_plugin_support

Also, please show your Gemfile and Gemfile.lock.

1a1a11a commented 1 year ago
*** LOCAL GEMS ***

jekyll_plugin_support (0.7.0)
    Author: Mike Slinn
    Homepage:
    https://www.mslinn.com/jekyll_plugins/jekyll_plugin_support.html
    License: MIT
    Installed at: /usr/local/rvm/gems/ruby-3.2.2

    Provides support for writing Jekyll plugins.

gemfile

gem "jekyll", "~> 4.3.2"

group :jekyll_plugins do
  gem 'jekyll_img'
  gem "jekyll-katex"
end

platforms :mingw, :x64_mingw, :mswin, :jruby do
  gem "tzinfo", ">= 1", "< 3"
  gem "tzinfo-data"
end

gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
gem "jekyll-paginate"
gem "jekyll-sitemap"
gem "jekyll-toc"

gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    addressable (2.8.5)
      public_suffix (>= 2.0.2, < 6.0)
    colorator (1.1.0)
    concurrent-ruby (1.2.2)
    em-websocket (0.5.3)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0)
    eventmachine (1.2.7)
    execjs (2.8.1)
    facets (3.1.0)
    ffi (1.15.5)
    forwardable-extended (2.6.0)
    google-protobuf (3.24.0-x86_64-linux)
    http_parser.rb (0.8.0)
    i18n (1.14.1)
      concurrent-ruby (~> 1.0)
    jekyll (4.3.2)
      addressable (~> 2.4)
      colorator (~> 1.0)
      em-websocket (~> 0.5)
      i18n (~> 1.0)
      jekyll-sass-converter (>= 2.0, < 4.0)
      jekyll-watch (~> 2.0)
      kramdown (~> 2.3, >= 2.3.1)
      kramdown-parser-gfm (~> 1.0)
      liquid (~> 4.0)
      mercenary (>= 0.3.6, < 0.5)
      pathutil (~> 0.9)
      rouge (>= 3.0, < 5.0)
      safe_yaml (~> 1.0)
      terminal-table (>= 1.8, < 4.0)
      webrick (~> 1.7)
    jekyll-katex (1.0.0)
      execjs (~> 2.7)
      jekyll (>= 3.6, < 5.0)
    jekyll-paginate (1.1.0)
    jekyll-sass-converter (3.0.0)
      sass-embedded (~> 1.54)
    jekyll-sitemap (1.4.0)
      jekyll (>= 3.7, < 5.0)
    jekyll-toc (0.18.0)
      jekyll (>= 3.9)
      nokogiri (~> 1.12)
    jekyll-watch (2.2.1)
      listen (~> 3.0)
    jekyll_img (0.1.6)
      jekyll (>= 3.5.0)
      jekyll_plugin_support (>= 0.7.0)
    jekyll_plugin_logger (2.1.1)
      jekyll (>= 3.5.0)
    jekyll_plugin_support (0.7.0)
      facets
      jekyll (>= 3.5.0)
      jekyll_plugin_logger
      key-value-parser
    key-value-parser (0.0.2)
    kramdown (2.4.0)
      rexml
    kramdown-parser-gfm (1.1.0)
      kramdown (~> 2.0)
    liquid (4.0.4)
    listen (3.8.0)
      rb-fsevent (~> 0.10, >= 0.10.3)
      rb-inotify (~> 0.9, >= 0.9.10)
    mercenary (0.4.0)
    nokogiri (1.15.3-x86_64-linux)
      racc (~> 1.4)
    pathutil (0.16.2)
      forwardable-extended (~> 2.6)
    public_suffix (5.0.3)
    racc (1.7.1)
    rb-fsevent (0.11.2)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    rexml (3.2.6)
    rouge (4.1.3)
    safe_yaml (1.0.5)
    sass-embedded (1.64.2-x86_64-linux-gnu)
      google-protobuf (~> 3.23)
    terminal-table (3.0.2)
      unicode-display_width (>= 1.1.1, < 3)
    unicode-display_width (2.4.2)
    webrick (1.8.1)

PLATFORMS
  x86_64-linux

DEPENDENCIES
  http_parser.rb (~> 0.6.0)
  jekyll (~> 4.3.2)
  jekyll-katex
  jekyll-paginate
  jekyll-sitemap
  jekyll-toc
  jekyll_img
  tzinfo (>= 1, < 3)
  tzinfo-data
  wdm (~> 0.1.1)

BUNDLED WITH
   2.4.18
mslinn commented 1 year ago

Thanks, I will dig into this.

BTW, I noticed the following are not in your Gemfile's :jekyll_plugins section. Not sure if they are supposed to be in that section or not.

gem "jekyll-paginate"
gem "jekyll-sitemap"
gem "jekyll-toc"
1a1a11a commented 1 year ago

oh, it was not intentional (I am new to jekyll and copied things from various places), I should move them into the block. Thank you for catching it! :)

mslinn commented 1 year ago

I addressed the problem in jekyll_plugin_support and also suppressed the stack trace that should have been suppressed previously.

Please run:

$ bundle update

... and verify that jekyll_plugin_support 0.7.1 is shown. Then try running your Jekyll website again.

1a1a11a commented 1 year ago

Thank you! I still get an error

Jekyll::Img died with a 'undefined method `key?' for nil:NilClass' in 'render_node_to_output' on line 103 of /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.4/lib/liquid/block_body.rb
mslinn commented 1 year ago

Alright, I pushed another version. bundle update again and please retry.