Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't convert Hash into String. in feed.xml #178

Closed
rgaiacs opened this issue Jul 4, 2017 · 25 comments
Closed

Can't convert Hash into String. in feed.xml #178

rgaiacs opened this issue Jul 4, 2017 · 25 comments

Comments

@rgaiacs
Copy link

rgaiacs commented Jul 4, 2017

I'm getting the following error

$ bundle exec jekyll serve --trace
Configuration file: /home/raniere/Public/rgaiacs.com/_config.yml
            Source: /home/raniere/Public/rgaiacs.com
       Destination: /home/raniere/Public/rgaiacs.com/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
  Liquid Exception: Can't convert Hash into String. in feed.xml
bundler: failed to load command: jekyll (/home/raniere/.gem/ruby/2.3.0/bin/jekyll)
TypeError: Can't convert Hash into String.
  /usr/lib/ruby/gems/2.4.0/gems/addressable-2.5.1/lib/addressable/uri.rb:103:in `rescue in parse'
  /usr/lib/ruby/gems/2.4.0/gems/addressable-2.5.1/lib/addressable/uri.rb:100:in `parse'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/filters/url_filters.rb:13:in `absolute_url'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/strainer.rb:56:in `invoke'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/context.rb:86:in `invoke'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/variable.rb:78:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `inject'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/assign.rb:24:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:14:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:10:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:44:in `block (2 levels) in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:41:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:158:in `block (2 levels) in render_segment'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each_with_index'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `block in render_segment'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:148:in `render_segment'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:77:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/template.rb:208:in `block in render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/template.rb:242:in `with_profiling'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/template.rb:207:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/liquid-4.0.0/lib/liquid/template.rb:220:in `render!'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:40:in `measure_bytes'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:47:in `measure_time'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/renderer.rb:123:in `render_liquid'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/renderer.rb:76:in `render_document'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/renderer.rb:62:in `run'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:467:in `block in render_pages'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:465:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:465:in `render_pages'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:195:in `render'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:73:in `process'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/command.rb:26:in `process_site'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/commands/build.rb:63:in `build'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/commands/build.rb:34:in `process'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/commands/serve.rb:40:in `block (3 levels) in init_with_program'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/commands/serve.rb:40:in `each'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/lib/jekyll/commands/serve.rb:40:in `block (2 levels) in init_with_program'
  /home/raniere/.gem/ruby/2.4.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
  /home/raniere/.gem/ruby/2.4.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
  /home/raniere/.gem/ruby/2.4.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
  /home/raniere/.gem/ruby/2.4.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
  /home/raniere/.gem/ruby/2.4.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
  /usr/lib/ruby/gems/2.4.0/gems/jekyll-3.5.0/exe/jekyll:13:in `<top (required)>'
  /home/raniere/.gem/ruby/2.3.0/bin/jekyll:23:in `load'
  /home/raniere/.gem/ruby/2.3.0/bin/jekyll:23:in `<top (required)>'

Let me know if I need to provide more information.

@benbalter
Copy link
Contributor

@rgaiacs do you have a url key in your site's config by chance? If so, can you share the value?

@rgaiacs
Copy link
Author

rgaiacs commented Jul 5, 2017

@benbalter

$ cat _config.yml 
# Site Settings
url: "http://rgaiacs.com"

paginate: 5

# Build settings
markdown: kramdown
highlighter: rouge
permalink: none
plugins:
- jekyll-paginate
- jekyll-feed

This is my "full" configuration. The other configuration are in _data.

@kenmcguire
Copy link

kenmcguire commented Jul 15, 2017

Same problem

E:\Data\Active\Business\WebSites\Prod\blog>bundle exec jekyll serve --trace
Configuration file: E:/Data/Active/Business/WebSites/Prod/blog/_config.yml
            Source: E:/Data/Active/Business/WebSites/Prod/blog
       Destination: E:/Data/Active/Business/WebSites/Prod/blog/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
  Liquid Exception: Can't convert Hash into String. in feed.xml
d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/addressable-2.5.1/lib/addressable/uri.rb:103:in `rescue in parse': Can't convert Hash into String. (TypeError)
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/addressable-2.5.1/lib/addressable/uri.rb:100:in `parse'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/filters/url_filters.rb:13:in `absolute_url'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/strainer.rb:56:in `invoke'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/context.rb:86:in `invoke'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/variable.rb:78:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `inject'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/assign.rb:24:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:14:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:10:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:44:in `block (2 levels) in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:41:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:158:in `block (2 levels) in render_segment'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each_with_index'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `block in render_segment'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:148:in `render_segment'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:77:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/template.rb:208:in `block in render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/template.rb:242:in `with_profiling'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/template.rb:207:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/liquid-4.0.0/lib/liquid/template.rb:220:in `render!'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:40:in `measure_bytes'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:47:in `measure_time'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/renderer.rb:123:in `render_liquid'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/renderer.rb:76:in `render_document'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/renderer.rb:62:in `run'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:467:in `block in render_pages'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:465:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:465:in `render_pages'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:195:in `render'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/site.rb:73:in `process'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/command.rb:26:in `process_site'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/commands/build.rb:63:in `build'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/commands/build.rb:34:in `process'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/commands/serve.rb:40:in `block (3 levels) in init_with_program'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/commands/serve.rb:40:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/lib/jekyll/commands/serve.rb:40:in `block (2 levels) in init_with_program'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `call'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
        from d:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jekyll-3.5.0/exe/jekyll:13:in `<top (required)>'
        from d:/Ruby22-x64/bin/jekyll:23:in `load'
        from d:/Ruby22-x64/bin/jekyll:23:in `<main>'

@kenmcguire
Copy link

kenmcguire commented Jul 16, 2017

Here is what worked for me, I had null values in the front matter on a post
layout: post
title: "Hello World"
image:
feature:
categories: blog
excerpt:
tags: [blog]
date: 2014-08-08T15:39:55-04:00
modified: 2016-06-01T14:19:19-04:00

So I just removed the blank values like so:

layout: post
title: "Hello World"
categories: blog
tags: [blog]
date: 2014-08-08T15:39:55-04:00
modified: 2016-06-01T14:19:19-04:00

By removing these, it worked. I suspect it is just the null for "image" that caused the issue.

Hope that helps.

@benbalter
Copy link
Contributor

I'm having trouble recreating this. If anyone can push up a failing test, it'd be helpful to track down. I suspect we're passing a hash to the absolute_url at some point in the template, but tried null values and hashes that didn't contain a path key for image, and id without any luck.

@kmassada
Copy link

root@2d899e6cf29f:/usr/src/app# jekyll build --incremental --trace
Configuration file: /usr/src/app/_config.yml
            Source: /usr/src/app
       Destination: /usr/src/app/_site
 Incremental build: enabled
      Generating... 
  Liquid Exception: Can't convert Hash into String. in feed.xml
/usr/local/bundle/gems/addressable-2.5.1/lib/addressable/uri.rb:103:in `rescue in parse': Can't convert Hash into String. (TypeError)
	from /usr/local/bundle/gems/addressable-2.5.1/lib/addressable/uri.rb:100:in `parse'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/filters/url_filters.rb:13:in `absolute_url'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/strainer.rb:56:in `invoke'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/context.rb:86:in `invoke'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/variable.rb:78:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `inject'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/assign.rb:24:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:14:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:10:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/if.rb:44:in `block (2 levels) in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/if.rb:41:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/for.rb:158:in `block (2 levels) in render_segment'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each_with_index'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `block in render_segment'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/for.rb:148:in `render_segment'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/tags/for.rb:77:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/template.rb:208:in `block in render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/template.rb:242:in `with_profiling'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/template.rb:207:in `render'
	from /usr/local/bundle/gems/liquid-4.0.0/lib/liquid/template.rb:220:in `render!'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:40:in `measure_bytes'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:47:in `measure_time'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:123:in `render_liquid'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:76:in `render_document'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:62:in `run'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/site.rb:467:in `block in render_pages'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/site.rb:465:in `each'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/site.rb:465:in `render_pages'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/site.rb:195:in `render'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/site.rb:73:in `process'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/command.rb:26:in `process_site'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:63:in `build'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:34:in `process'
	from /usr/local/bundle/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:16:in `block (2 levels) in init_with_program'
	from /usr/local/bundle/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	from /usr/local/bundle/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	from /usr/local/bundle/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	from /usr/local/bundle/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	from /usr/local/bundle/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	from /usr/local/bundle/gems/jekyll-3.5.1/exe/jekyll:13:in `<top (required)>'
	from /usr/local/bundle/bin/jekyll:17:in `load'
	from /usr/local/bundle/bin/jekyll:17:in `<main>'

Running into the same issue

@pathawks
Copy link
Member

@kmassada Can you provide a link to the source of your site?

@kmassada
Copy link

@pathawks https://github.com/kmassada/kmassada.github.io/tree/jekyll-3.5, I created a new jekyll site, imported _posts, assets, _drafts and data from an old site.

I verified all posts even the ones in the drafts, no null or empty values left.

my readme.md file has a quick way of running it. If you want to give it a stab.

@kmassada
Copy link

kmassada commented Jul 21, 2017

@pathawks I resolved my issue, I was using variables that did not exist. ie

...
image:
  feature: image.png
...

@pathawks
Copy link
Member

@kmassada Could you provide any more detail, so that we can close this issue?

Where were you using variables that didn't exist? What did you to to resolve the issue?

@kmassada
Copy link

my posts are configured as such: _posts/year/ or _posts/page/, so I removed all the years, first then started adding posts again year at a time, every time trying to serve. Until it failed.

Then I edited the files trying what I thought was syntactically wrong, I finally started removing and adding variables one at a time until it refuses to compile.

Here's an example of custom variables I was using that didn't exist.
kmassada/kmassada.github.io@36f9357#diff-4d90558931fe81cddb9aa7954d1a5e90

However I don't know if this is the same issue as the OP @rgaiacs. error isn't helpful, absolute_url had nothing to do with @kenmcguire's empty values and my invalid variables

@pathawks
Copy link
Member

Is the issue broken YAML front-matter, and it just happens that absolute_url is the first thing that tries to access it?

If you remove jekyll-feed from a site that will not build, will that fix the problem? I'm really having trouble figuring this one out.

@Cyberlane
Copy link

I am having the exact same issue.

You're welcome to pull down the code to my site and see the problem, if it helps diagnose the issue: https://github.com/Cyberlane/Cyber-Lane-Jekyll

The full trace log

bundle exec jekyll serve --trace
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/version.rb:4: warning: already initialized constant JSON::VERSION
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:4: warning: previous definition of VERSION was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/version.rb:5: warning: already initialized constant JSON::VERSION_ARRAY
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:5: warning: previous definition of VERSION_ARRAY was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/version.rb:6: warning: already initialized constant JSON::VERSION_MAJOR
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:6: warning: previous definition of VERSION_MAJOR was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/version.rb:7: warning: already initialized constant JSON::VERSION_MINOR
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:7: warning: previous definition of VERSION_MINOR was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/version.rb:8: warning: already initialized constant JSON::VERSION_BUILD
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:8: warning: previous definition of VERSION_BUILD was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/common.rb:100: warning: already initialized constant JSON::NaN
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:100: warning: previous definition of NaN was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/common.rb:102: warning: already initialized constant JSON::Infinity
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:102: warning: previous definition of Infinity was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/common.rb:104: warning: already initialized constant JSON::MinusInfinity
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:104: warning: previous definition of MinusInfinity was here
/usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/json/common.rb:129: warning: already initialized constant JSON::UnparserError
/usr/local/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:129: warning: previous definition of UnparserError was here
Configuration file: /Users/justinnel/Documents/Projects/Cyberlane/Cyber-Lane-Jekyll/_config.yml
            Source: /Users/justinnel/Documents/Projects/Cyberlane/Cyber-Lane-Jekyll
       Destination: /Users/justinnel/Documents/Projects/Cyberlane/Cyber-Lane-Jekyll/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
  Liquid Exception: Can't convert Hash into String. in feed.xml
/usr/local/lib/ruby/gems/2.3.0/gems/addressable-2.5.1/lib/addressable/uri.rb:103:in `rescue in parse': Can't convert Hash into String. (TypeError)
	from /usr/local/lib/ruby/gems/2.3.0/gems/addressable-2.5.1/lib/addressable/uri.rb:100:in `parse'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/filters/url_filters.rb:13:in `absolute_url'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/strainer.rb:56:in `invoke'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:86:in `invoke'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:78:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `inject'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/assign.rb:24:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:14:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:10:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:44:in `block (2 levels) in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:41:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:158:in `block (2 levels) in render_segment'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each_with_index'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `block in render_segment'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:148:in `render_segment'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:77:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:208:in `block in render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:242:in `with_profiling'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:207:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:220:in `render!'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:40:in `measure_bytes'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:47:in `measure_time'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:123:in `render_liquid'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:76:in `render_document'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:62:in `run'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:467:in `block in render_pages'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:465:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:465:in `render_pages'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:195:in `render'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:73:in `process'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/command.rb:26:in `process_site'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:63:in `build'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:34:in `process'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/serve.rb:40:in `block (3 levels) in init_with_program'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/serve.rb:40:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/serve.rb:40:in `block (2 levels) in init_with_program'
	from /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	from /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	from /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	from /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	from /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	from /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/exe/jekyll:13:in `<top (required)>'
	from /usr/local/bin/jekyll:23:in `load'
	from /usr/local/bin/jekyll:23:in `<main>'

@pathawks
Copy link
Member

pathawks commented Aug 8, 2017

jekyll/jekyll#6280

@benbalter
Copy link
Contributor

benbalter commented Aug 8, 2017

Nice @pathawks thanks for crosslinking.

Via jekyll/jekyll#6280:

If a user sets an image hash in a post's YAML front matter, and that hash does not contain a path key, [Jekyll Feed will explode].

Workaround:

  1. Call the image key something other than image, or
  2. Add a path key to the image hash

@generousRocky
Copy link

generousRocky commented Aug 9, 2017

in my case the following code does not work but the next following code(only image is added )

--- layout: article title: "How Computers Work [01]" date: 2017-08-04 13:44:20 Z author: Rocky Lim categories: book image: teaser: hcw01_00.png excerpt: comments: true locale: "vn" share: true ads: true ---

the following code works

--- layout: article title: "How Computers Work [01]" date: 2017-08-04 13:44:20 Z author: Rocky Lim categories: book excerpt: comments: true locale: "vn" share: true ads: true ---

let me know how to put teaser image plz,...

actually, the first code worked until today's morning but it doesn't now. is there any changes in github page server or something?

@takluyver
Copy link

I worked around it by adding a path: key under image: in each post. Here's the code I used (Python) - it's very rough, but it might help people with the same issue:

from pathlib import Path
import re

pat = r"image:\s*\n(\s+)teaser:\s*(.*)"
sub = r"\g<0>\n\1path: /images/\2"

p = Path("_posts/articles")
for file in p.iterdir():
    with file.open() as f:
        txt = f.read()

    print(re.search(pat, txt).group(1))
    newtxt = re.sub(pat, sub, txt)
    
    with file.open('w') as f:
        f.write(newtxt)

@generousRocky
Copy link

generousRocky commented Aug 10, 2017 via email

@takluyver
Copy link

It's definitely possible to do it manually, the Python code is just to do it for a load of files quickly.

In each post's header, we had something like this:

image:
   teaser: poc.png

I needed to change it to look like this:

image:
   teaser: poc.png
   path: /images/poc.png

@takluyver
Copy link

The details of the paths and things probably depend on your blog set up.

@generousRocky
Copy link

generousRocky commented Aug 10, 2017 via email

@dss886
Copy link

dss886 commented Aug 11, 2017

@takluyver Awesome...this work for me, I've been looking for a solution for couple of hours

@dhwlm
Copy link

dhwlm commented Aug 12, 2017

I'm still getting this issue. pages build error.
This is my repo: https://github.com/dhwlm/dhwlm.github.io
Trace logs:

DV-MAC-DHAWAL:dhwlm.github.io dhawal.m$ bundle exec jekyll serve --trace
Configuration file: /Applications/XAMPP/xamppfiles/htdocs/blog/dhwlm.github.io/_config.yml
            Source: /Applications/XAMPP/xamppfiles/htdocs/blog/dhwlm.github.io
       Destination: /Applications/XAMPP/xamppfiles/htdocs/blog/dhwlm.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
  Liquid Exception: Can't convert Hash into String. in feed.xml
bundler: failed to load command: jekyll (/usr/local/bin/jekyll)
TypeError: Can't convert Hash into String.
  /usr/local/lib/ruby/gems/2.3.0/gems/addressable-2.5.1/lib/addressable/uri.rb:103:in `rescue in parse'
  /usr/local/lib/ruby/gems/2.3.0/gems/addressable-2.5.1/lib/addressable/uri.rb:100:in `parse'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/filters/url_filters.rb:13:in `absolute_url'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/strainer.rb:56:in `invoke'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:86:in `invoke'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:78:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `inject'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/variable.rb:76:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/assign.rb:24:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:14:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/unless.rb:10:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:44:in `block (2 levels) in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:42:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/if.rb:41:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:158:in `block (2 levels) in render_segment'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `each_with_index'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:156:in `block in render_segment'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/context.rb:123:in `stack'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:148:in `render_segment'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/tags/for.rb:77:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:109:in `render_node'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:88:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/block_body.rb:75:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:208:in `block in render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:242:in `with_profiling'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:207:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/liquid-4.0.0/lib/liquid/template.rb:220:in `render!'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:40:in `measure_bytes'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:47:in `measure_time'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:123:in `render_liquid'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:76:in `render_document'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/renderer.rb:62:in `run'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:467:in `block in render_pages'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:465:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:465:in `render_pages'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:195:in `render'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/site.rb:73:in `process'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/command.rb:26:in `process_site'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:63:in `build'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/build.rb:34:in `process'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/serve.rb:40:in `block (3 levels) in init_with_program'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/serve.rb:40:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/lib/jekyll/commands/serve.rb:40:in `block (2 levels) in init_with_program'
  /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
  /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
  /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
  /usr/local/lib/ruby/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.5.1/exe/jekyll:13:in `<top (required)>'
  /usr/local/bin/jekyll:23:in `load'
  /usr/local/bin/jekyll:23:in `<top (required)>'

@jekyllbot
Copy link
Contributor

This issue has been automatically marked as stale because it has not been commented on for at least two months.

The resources of the Jekyll team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.

This issue will automatically be closed in two months if no further activity occurs. Thank you for all your contributions.

@DirtyF
Copy link
Member

DirtyF commented Oct 13, 2017

You shall not see this type error with Jekyll v3.5.2 and above even if you don't provide a valid path for image in your front matter.

@DirtyF DirtyF closed this as completed Oct 13, 2017
@jekyllbot jekyllbot removed the stale label Oct 13, 2017
@jekyll jekyll locked and limited conversation to collaborators Apr 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests