octopress-tagcloud
octopress-tagcloud copied to clipboard
Liquid error: undefined method `+' for nil:NilClass
I followed the instructions but instead of showing a category list with
<section>
<h1>Categories</h1>
<ul id="category-list">{% category_list counter:true %}</ul>
</section>
it returns:
Liquid error: undefined method `+' for nil:NilClass
any idea what could be the problem?
I had a same error with different situation when I marked up with liquid.
Could you try to set categories
as an array in YAML front matter like below.
---
layout: post
categories: [Ruby]
---
Unfortunately, I could not reproduce the error and also find a bug.
This is caused when you do not have categories
in the front matter of a page it seems
@JakeGinnivan Thank you for following up this issue. I will check.
I am also getting the same error when doing rake generate
.
I am using Octopress 2.0 without any modification: uses liquid 2.3.0 and jekyll 0.12
Oh, and I get the same error whether I list the categories in posts as
categories:
- abc
- def
or
categories: [abc, def]
Error log:
Configuration from /home/kmodi/octopress/_config.yml
Building site: source -> public
Liquid Exception: undefined method `+' for nil:NilClass in default
/home/kmodi/octopress/plugins/tag_cloud.rb:64:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:82:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/template.rb:124:in `render'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:26:in `block (2 levels) in render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/context.rb:91:in `stack'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:25:in `block in render'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:20:in `chdir'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:20:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:82:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/template.rb:124:in `render'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:26:in `block (2 levels) in render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/context.rb:91:in `stack'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:25:in `block in render'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:20:in `chdir'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:20:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:82:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/template.rb:124:in `render'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:26:in `block (2 levels) in render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/context.rb:91:in `stack'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:25:in `block in render'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:20:in `chdir'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/tags/include.rb:20:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/block.rb:82:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/template.rb:124:in `render'
/home/kmodi/gems/gems/liquid-2.3.0/lib/liquid/template.rb:132:in `render!'
/home/kmodi/gems/gems/jekyll-0.12.0/lib/jekyll/convertible.rb:101:in `do_layout'
Found the fix!! The root:
variable in _config.yml was left blank. After making it root: /
(note the added forward slash), that error went away.
This line
category_dir = config['root'] + config['category_dir'] + '/'
in tag_cloud.rb was causing problem as config['root'] was null.
@kaushalmodi, thank you very very much!! Could you test branch issue4 ?