Jekyll 3.8.6 | Error: Can't convert Integer into String

Please help!

Liquid Exception: Can’t convert Integer into String. in /_layouts/home.html
jekyll 3.8.6 | Error: Can’t convert Integer into String.

try running jekyll build --trace and post the output here.

Also post the contents of layouts/home.html

Thank you for your reply!

After the Trace Code

Traceback (most recent call last):
	61: from /usr/local/bin/jekyll:23:in `<main>'
	60: from /usr/local/bin/jekyll:23:in `load'
	59: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/exe/jekyll:15:in `<top (required)>'
	58: from /var/lib/gems/2.5.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	57: from /var/lib/gems/2.5.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	56: from /var/lib/gems/2.5.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	55: from /var/lib/gems/2.5.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	54: from /var/lib/gems/2.5.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	53: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
	52: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/commands/build.rb:36:in `process'
	51: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/commands/build.rb:65:in `build'
	50: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/command.rb:28:in `process_site'
	49: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/site.rb:71:in `process'
	48: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/site.rb:192:in `render'
	47: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/site.rb:471:in `render_pages'
	46: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/site.rb:471:in `each'
	45: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/site.rb:472:in `block in render_pages'
	44: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/site.rb:479:in `render_regenerated'
	43: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/renderer.rb:62:in `run'
	42: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/renderer.rb:88:in `render_document'
	41: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/renderer.rb:158:in `place_in_layouts'
	40: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/renderer.rb:195:in `render_layout'
	39: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/renderer.rb:126:in `render_liquid'
	38: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/liquid_renderer/file.rb:28:in `render!'
	37: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/liquid_renderer/file.rb:49:in `measure_time'
	36: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/liquid_renderer/file.rb:29:in `block in render!'
	35: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/liquid_renderer/file.rb:42:in `measure_bytes'
	34: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/liquid_renderer/file.rb:30:in `block (2 levels) in render!'
	33: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
	32: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
	31: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
	30: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
	29: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in `render'
	28: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
	27: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:in `render'
	26: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'
	25: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `block in render'
	24: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `each'
	23: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:45:in `block (2 levels) in render'
	22: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/condition.rb:46:in `evaluate'
	21: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/condition.rb:46:in `loop'
	20: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/condition.rb:47:in `block in evaluate'
	19: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/condition.rb:116:in `interpret_condition'
	18: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/context.rb:159:in `evaluate'
	17: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:38:in `evaluate'
	16: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:38:in `each_index'
	15: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:49:in `block in evaluate'
	14: from /var/lib/gems/2.5.0/gems/jekyll-strapi-0.1.2/lib/jekyll/strapi/drops.rb:33:in `to_liquid'
	13: from /var/lib/gems/2.5.0/gems/jekyll-strapi-0.1.2/lib/jekyll/strapi/collection.rb:41:in `each'
	12: from /var/lib/gems/2.5.0/gems/jekyll-strapi-0.1.2/lib/jekyll/strapi/collection.rb:41:in `each'
	11: from /var/lib/gems/2.5.0/gems/jekyll-strapi-0.1.2/lib/jekyll/strapi/collection.rb:45:in `block in each'
	10: from /var/lib/gems/2.5.0/gems/jekyll-strapi-0.1.2/lib/jekyll/strapi/site.rb:38:in `strapi_link_resolver'
	 9: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:39:in `to_s'
	 8: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:53:in `generated_url'
	 7: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:64:in `generate_url'
	 6: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:69:in `generate_url_from_hash'
	 5: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:69:in `inject'
	 4: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:69:in `each'
	 3: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:75:in `block in generate_url_from_hash'
	 2: from /var/lib/gems/2.5.0/gems/jekyll-3.8.6/lib/jekyll/url.rb:141:in `escape_path'
	 1: from /var/lib/gems/2.5.0/gems/addressable-2.6.0/lib/addressable/uri.rb:578:in `encode'
/var/lib/gems/2.5.0/gems/addressable-2.6.0/lib/addressable/uri.rb:581:in `rescue in encode': Can't convert Integer into String. (TypeError)


layouts/home.html

---
layout: default
---

<div class="home">
    <h1 class="page-heading">Posts</h1>
    {%- if strapi.collections.posts.size > 0 -%}
    <ul class="post-list">
        {%- for post in strapi.collections.posts -%}
        <li>
            <span class="post-meta">{{ post.createdAt | date_to_string }} by {{ post.author.username }}</span>
            <h3>
                <a class="post-link" href="{{ post.url | relative_url }}">
                    {{ post.title }}
                </a>
            </h3>
            <!-- Display an excerpt of the article -->
            <p>{{ post.content | markdownify | strip_html | truncatewords: 10 }}</p>
        </li>
        {%- endfor -%}
    </ul>
    {%- endif -%}
</div>

This is a bug within jekyll-strapi.
It was apparently fixed by this commit, but a patch hasn’t been released till date.

@ashmaroli It is the jekyll-strapi reply.

Can you post the stack overflow link here as well?
Never mind. I’ll post it myself:

@bikramjekyll To check if the master version of the plugin solves the issue, you can use your Gemfile to do so. Add the following to your Gemfile:

gem 'jekyll-strapi', github: 'strapi/jekyll-strapi'

Then run bundle install
After that, just run bundle exec jekyll build

If it is a Jekyll bug, you should be able to reproduce the bug after commenting the jekyll-strapi plugin in both Gemfile and the config file.

Link

Thank you so much it’s working for me.

Thanks a lot buddy!:grinning::grinning:

You’re welcome.
However, it’d be better for other users of the plugin if you could get the authors to release a new version of the plugin.
(Citing your site may perhaps convince them that the bug was indeed with the plugin and not Jekyll)