Jekyll没有阅读site.posts

时间:2017-03-01 13:38:57

标签: jekyll github-pages

最近,我决定在Github Pages上开始我的博客。我分叉 Jekyll-Now 并将代码拉到我当地的环境中。

现在我正在运行jekyll serve,但它没有阅读_posts文件夹中的帖子!。

似乎无法读取site.posts中的index.html变量。如果我输出变量或将其检查为:{{ site.posts | inspect }}则为空。

帖子名称的格式正确YYYY-MM-DD-TITLE.md 如果我在jekyll serve文件夹中运行_posts,那么我会找到一个IndexOf页面,其中列出的所有帖子都没有任何问题。

_config.yml的内容:

# Name of your site (displayed in the header)
name: My name

# Short bio or description (displayed in the header)
description: Blog on various topics

# URL of your avatar or profile pic (you could use your GitHub profile pic)
# avatar: https://raw.githubusercontent.com/barryclark/jekyll-now/master/images/jekyll-logo.png

# Includes an icon in the footer for each username you enter
footer-links:
  github: motleis/blog

baseurl: ""
permalink: /:title/

# The release of Jekyll Now that you're using
version: v3.4.0

# Jekyll 3 now only supports Kramdown for Markdown
kramdown:
  # Use GitHub flavored markdown, including triple backtick fenced code blocks
  input: GFM
  # Jekyll 3 and GitHub Pages now only support rouge for syntax highlighting
  syntax_highlighter: rouge
  syntax_highlighter_opts:
    # Use existing pygments syntax highlighting css
    css_class: 'highlight'

# Set the Sass partials directory, as we're using @imports
sass:
  style: :expanded # You might prefer to minify using :compressed

# Use the following plug-ins
gems:
  - jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem
  - jekyll-feed # Create an Atom feed using the official Jekyll feed gem

# Exclude these files from your production _site
exclude:
  - Gemfile
  - Gemfile.lock
  - LICENSE
  - README.md
  - CNAME

在_posts下:我只有简单的示例文件: 2014-3-3-Hello-World.md

---
layout: post
title: You're up and running!
---

Just a single line that should be displayed! 

这里有index.html的内容,其中应列出帖子:

site.posts : {{ site.posts }}
My posts:
<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      {{ post.excerpt }}
    </li>
  {% endfor %}
</ul>

结果是:

site.posts :
My Posts:

正如您所见,site.posts为空!

您对调试此问题有何建议?

我正在运行jeykll-3.4.0

1 个答案:

答案 0 :(得分:3)

更新的答案:

检查您的帖子是否为YYYY-MM-DD-title.MARKUP,即2017- 0 1- 0 1-title.md样式,0为填充。

在Jekyll的文档页面上的"Writing Posts"中的“创建帖子文件”下:

  

要创建新帖子,您只需在_posts目录中创建一个文件即可。如何命名此文件夹中的文件非常重要。 Jekyll要求根据以下格式命名博客文章:

     

YEAR-MONTH-DAY-title.MARKUP

     

如果YEAR是一个四位数字,MONTH和DAY都是两位数字,MARKUP是表示文件中使用的格式的文件扩展名。例如,以下是有效的帖子文件名的示例:

     

2011-12-31-new-years-eve-is-awesome.md   2012-09-12-how-to-write-a-blog.md

前答案:

您的_posts文件夹是否位于您网站的根目录中?

我的主要建议是创建一个布局(在layouts文件夹中)专门用于显示索引(因此,制作一个普通的网页,并复制并粘贴index.md文件的当前非前端内容)。我的理解是,如果它不是Liquid或Markdown,您的代码将按原样显示,而不会被读取/处理以构建网站。即使你的index.md页面有一个完全空的下半部分,根据我的理解,它应该显示你的帖子。