jekyll-seo-tag and jekyll-paginate in conflict throwing Liquid Exception: no implicit conversion of nil into String (TypeError)

42 Views Asked by At

Cannot generate the site on Jekyll. There seems to be a problem with pagination: The jekyll-paginate gem may be causing some of the pages to not have a title. I paginate blog/index.html. The template is this:

---
title: Blog
layout: page
---

<!-- post list -->
{% for post in paginator.posts %}
<div class="row mb-2 d-flex align-items-md-center">
  <div class="col-md-9 order-2 order-md-1">
    <article class="blog-post">
      <span class="small text-secondary">{{ post.category }}</span>
      <a href="{{ post.url | prepend: site.baseurl }}"><h3 class="blog-post-title mb-1">{{ post.title }}</h3></a>
      <p class="blog-post-meta">{{ post.date | date_to_long_string: "ordinal" }}</p>
      {{ post.excerpt }}
    </article>    
  </div>
  <div class="col-md-3 order-1 order-md-2"><img class="img-thumbnail" src="{{ post.image | prepend: site.baseurl }}"></div>
</div>
{% endfor %}

<!-- pagination -->
{% if paginator.total_pages > 1 %}
<div class="pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path | relative_url }}">&laquo; Prev</a>
  {% else %}
    <span>&laquo; Prev</span>
  {% endif %}

  {% for page in (1..paginator.total_pages) %}
    {% if page == paginator.page %}
      <em>{{ page }}</em>
    {% elsif page == 1 %}
      <a href="{{ '/' | relative_url }}">{{ page }}</a>
    {% else %}
      <a href="{{ site.paginate_path | relative_url | replace: ':num', page }}">{{ page }}</a>
    {% endif %}
  {% endfor %}

  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path | relative_url }}">Next &raquo;</a>
  {% else %}
    <span>Next &raquo;</span>
  {% endif %}
</div>
{% endif %}

In my _config.yml I have these settings:

paginate: 5
paginate_path: "/blog/page:num/"

If I have 5 post, everything is OK, when I add the sixth post it crashes... What is the reason?

Here is the traceback:

Traceback (most recent call last):
    84: from C:/Ruby27-x64/bin/jekyll:23:in `<main>'
    83: from C:/Ruby27-x64/bin/jekyll:23:in `load'
    82: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/exe/jekyll:15:in `<top (required)>'
    81: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
    80: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
    79: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
    78: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
    77: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
    76: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
    75: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
    74: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `each'
    73: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
    72: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/commands/build.rb:36:in `process'
    71: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/commands/build.rb:65:in `build'
    70: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/command.rb:28:in `process_site'
    69: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:171:in `process'
    68: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:171:in `each'
    67: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:185:in `block in process'
    66: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/site.rb:80:in `process'
    65: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/site.rb:211:in `render'
    64: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/site.rb:538:in `render_pages'
    63: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/site.rb:538:in `each'
    62: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/site.rb:539:in `block in render_pages'
    61: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/site.rb:547:in `render_regenerated'
    60: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:63:in `run'
    59: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:93:in `render_document'
    58: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:163:in `place_in_layouts'
    57: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:194:in `render_layout'
    56: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/renderer.rb:131:in `render_liquid'
    55: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
    54: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
    53: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
    52: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
    51: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
    50: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
    49: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
    48: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
    47: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
    46: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
    45: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
    44: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'
    43: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
    42: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/tags/include.rb:206:in `render'
    41: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'
    40: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/tags/include.rb:208:in `block in render'
    39: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/inclusion.rb:16:in `render'
    38: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
    37: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
    36: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
    35: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
    34: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
    33: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
    32: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
    31: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
    30: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
    29: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
    28: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
    27: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'
    26: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
    25: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-seo-tag-2.8.0/lib/jekyll-seo-tag.rb:36:in `render'
    24: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
    23: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
    22: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
    21: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
    20: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in `render'
    19: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
    18: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:in `render'
    17: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'
    16: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `block in render'
    15: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `each'
    14: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:45:in `block (2 levels) in render'
    13: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/condition.rb:46:in `evaluate'
    12: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/condition.rb:46:in `loop'
    11: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/condition.rb:47:in `block in evaluate'
    10: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/condition.rb:114:in `interpret_condition'
     9: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:159:in `evaluate'
     8: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:38:in `evaluate'
     7: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:38:in `each_index'
     6: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:48:in `block in evaluate'
     5: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:197:in `lookup_and_evaluate'
     4: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/drops/drop.rb:128:in `[]'
     3: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-4.2.2/lib/jekyll/drops/drop.rb:128:in `public_send'
     2: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-seo-tag-2.8.0/lib/jekyll-seo-tag/drop.rb:30:in `title?'
     1: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-seo-tag-2.8.0/lib/jekyll-seo-tag/drop.rb:70:in `title'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/jekyll-seo-tag-2.8.0/lib/jekyll-seo-tag/drop.rb:70:in `+': no implicit conversion of nil into String (TypeError)
1

There are 1 best solutions below

0
Jesse Sealand On

Your error seems to occur because of an invalid or missing seo tag "jekyll-seo-tag/drop.rb:70". Why do you think it's because of pagination?