MichaelCurrin / jekyll-resize

Simple image resizing filter for Jekyll 3 and 4 🖼 🤏 🔬
MIT License
21 stars 5 forks source link

Error: "Liquid Exception: no implicit conversion of nil into String" #2

Open mcvmcvmcvmcv opened 2 years ago

mcvmcvmcvmcv commented 2 years ago

Hello, I have found the following error when I try to use resize on my site. I've done some searching and haven't found any solutions, so I am posting in the hope that this might help other people down the road. I am guessing that this is a fairly simple problem but it has stumped me, so I would greatly appreciate any help!

My markdown file looks like this:

---
title: Image test
date: 2021-1-1
image_path: assets/images/book.jpg
layout: crumbs
---

<img src="{{ page.image_path | resize: '300x300' | relative_url }}" alt="My image" />

Here are the results of jekyll build --trace:

  Liquid Exception: no implicit conversion of nil into String in /Users/Dan/Documents/jekyll/test_site/_crumbs/Image test.md
/Users/Dan/.gem/ruby/3.1.1/bundler/gems/jekyll-resize-0bbf5937cc11/lib/jekyll-resize.rb:75:in `join': no implicit conversion of nil into String (TypeError)
        from /Users/Dan/.gem/ruby/3.1.1/bundler/gems/jekyll-resize-0bbf5937cc11/lib/jekyll-resize.rb:75:in `resize'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/strainer.rb:56:in `invoke'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/context.rb:86:in `invoke'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/variable.rb:84:in `block in render'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in `each'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in `inject'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in `render'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/block_body.rb:80:in `render'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
        from /Users/Dan/.gem/ruby/3.1.1/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:131:in `render_liquid'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:80:in `render_document'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:63:in `run'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:547:in `render_regenerated'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:532:in `block (2 levels) in render_docs'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:531:in `each'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:531:in `block in render_docs'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:530:in `each_value'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:530:in `render_docs'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:210:in `render'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/site.rb:80:in `process'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/command.rb:28:in `process_site'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/commands/build.rb:65:in `build'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/commands/build.rb:36:in `process'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `each'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
        from /Users/Dan/.gem/ruby/3.1.1/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /Users/Dan/.gem/ruby/3.1.1/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /Users/Dan/.gem/ruby/3.1.1/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /Users/Dan/.gem/ruby/3.1.1/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /Users/Dan/.gem/ruby/3.1.1/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /Users/Dan/.gem/ruby/3.1.1/gems/jekyll-4.2.2/exe/jekyll:15:in `'
        from /Users/Dan/.gem/ruby/3.1.1/bin/jekyll:25:in `load'
        from /Users/Dan/.gem/ruby/3.1.1/bin/jekyll:25:in `
'

If there's anything else I should provide for now, please feel free to let me know.

monowii commented 1 year ago

adding baseurl: "" to _config.yml fixed the error for me

mcvmcvmcvmcv commented 8 months ago

A very belated thank you, this worked for me!