abemedia / jekyll-pdf

Create PDFs from Jekyll pages & documents.
http://abemedia.co.uk/jekyll-pdf/
GNU General Public License v3.0
104 stars 35 forks source link

Error: undefined method `data' for nil:NilClass #8

Closed jamesmugford closed 6 years ago

jamesmugford commented 7 years ago

I'm getting the following output, when trying to build my Jekyll site using jekyll-pdf:

yzjm@yzsputnik:/yz/mxdocs$ jekyll build -t
Configuration file: /yz/mxdocs/_config.yml
            Source: /yz/mxdocs
       Destination: /yz/mxdocs/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
/home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/document.rb:46:in `getConfig': undefined method `data' for nil:NilClass (NoMethodError)
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/document.rb:25:in `initialize'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/generator.rb:11:in `new'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/generator.rb:11:in `block (2 levels) in generate'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/generator.rb:10:in `each'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/generator.rb:10:in `block in generate'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/generator.rb:9:in `each'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-pdf-0.1.6/lib/jekyll/pdf/generator.rb:9:in `generate'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/site.rb:174:in `block in generate'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/site.rb:172:in `each'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/site.rb:172:in `generate'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/site.rb:68:in `process'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/command.rb:26:in `process_site'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/commands/build.rb:63:in `build'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/commands/build.rb:34:in `process'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/lib/jekyll/commands/build.rb:16:in `block (2 levels) in init_with_program'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/gems/jekyll-3.3.1/exe/jekyll:13:in `<top (required)>'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/bin/jekyll:22:in `load'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/bin/jekyll:22:in `<main>'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `eval'
    from /home/yzjm/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `<main>'

Has anyone any idea what might be causing this?

jwrubel commented 7 years ago

Not sure if you got this sorted but I had the same issue and traced it back to this line https://github.com/abeMedia/jekyll-pdf/blob/master/lib/jekyll/pdf/document.rb#L46 - It can't find the PDF layout. I was able to get around it by moving my layout to _layouts/pdf.html.

antgel commented 7 years ago

I tried copying _layouts/resume.html to _layouts/pdf.html, and then jekyll build gets stuck in an infinite loop of stat("_layouts/pdf_pdf.html", 0x7ffc15e5ee40) = -1 ENOENT (No such file or directory).

Edit, ah, that's issue #9.