Jekyll didn't generate feed

Hi, hopefully not spamming anyone.

I tried to preview my blog but Jekyll didn’t “upload” my blog onto localhost. I can’t decode the traceback code please help me. Thanks in advance.

D:\Documents\GitHub\myblog>jekyll serve --trace
Configuration file: D:/Documents/GitHub/myblog/_config.yml
 Theme Config file: D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-theme-prologue-0.3.3/_config.yml
            Source: D:/Documents/GitHub/myblog
       Destination: D:/Documents/GitHub/myblog/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating feed for posts
Traceback (most recent call last):
        24: from D:/software/Ruby26-x64/bin/jekyll:23:in `<main>'
        23: from D:/software/Ruby26-x64/bin/jekyll:23:in `load'
        22: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/exe/jekyll:15:in `<top (required)>'
        21: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
        20: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
        19: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
        18: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
        17: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
        16: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        15: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `process_with_graceful_fail'
        14: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `each'
        13: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `block in process_with_graceful_fail'
        12: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:36:in `process'
        11: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:65:in `build'
        10: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:28:in `process_site'
         9: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:78:in `process'
         8: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:218:in `write'
         7: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:342:in `each_site_file'
         6: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:342:in `each'
         5: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:343:in `block in each_site_file'
         4: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:343:in `each'
         3: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:344:in `block (2 levels) in each_site_file'
         2: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:219:in `block in write'
         1: from D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/convertible.rb:227:in `write'
D:/software/Ruby26-x64/lib/ruby/gems/2.6.0/gems/jekyll-4.0.1/lib/jekyll/convertible.rb:227:in `write': Invalid argument @ rb_sysopen - D:/Documents/GitHub/myblog/_site/:title.md.html (Errno::EINVAL)

Could you post the contents of your config file?

Here you go. Thank you.

lang: en-US, zh-HK
title: Your awesome title
email: 404
description: >- # this means to ignore newlines until "baseurl:"
  Write an awesome description for your new site here. You can edit this
  line in _config.yml. It will appear in your document head meta (for
  Google search results) and in your feed.xml site description.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com

# Build settings
theme: minima
theme: jekyll-theme-basically-basic
theme: jekyll-theme-prologue
collections: [sections]
plugins:
  - jekyll-feed
  
defaults:
  - 
values:
    permalink: /:title.md

# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
#   - .sass-cache/
#   - .jekyll-cache/
#   - gemfiles/
#   - Gemfile
#   - Gemfile.lock
#   - node_modules/
#   - vendor/bundle/
#   - vendor/cache/
#   - vendor/gems/
#   - vendor/ruby/

it may not solve your problem, but lookiing at your permalink, and that should not have “.md” at the end,

The above configuration is wrong in many ways.

  • You should understand that YAML is indentation-sensitive.
  • Moreover, the defaults setting is a list of minimum two top-level keys: scope and values.
  • Finally, permalink is a template for the generated HTML files. So like @michaelbach mentioned, you shouldn’t have .md there but either .html or the placeholder :output_ext.

Therefore the corrected config would be:

defaults:
  - scope:
      path: "" # all files
    values:
      permalink: "/:title:output_ext"

Thank you. Your solution worked.

1 Like