帖子在jekyll(多个站点)博客上无法正确显示-仅发布代码

时间:2018-07-03 19:03:56

标签: jekyll github-pages

我有一个用jekyll构建的个人网站,并托管在Github页面上。我正在尝试在同一域中添加子站点博客。为此,我建立了一个blog.md页面,并按照以下网站的指示进行操作:https://www.garron.me/en/blog/multi-blog-site-jekyll.html。这个想法是,如果我访问http://<mydomain>.com,它将访问我的个人网站;如果访问http://<mydomain>.com/blog,它将访问另一个也由jekyll设置的站点。

我的文件结构与上面链接中的建议不同。就像这样:

/personalwebsite
   config.yml
   index.md
   (other personal website pages).md
   blog.md
   /_site
   /_layouts
   /_posts    

我的index.md页面是完全自定义的,我为该网站编写了自己的布局。这是一个静态网站,_posts中的所有内容均会被其忽略。我的blog.md页面也在根文件夹中,并且根据_config.yml进行更改。我正在尝试使用Github jekyll主题。主题已加载,但未显示帖子,而是显示了代码: enter image description here

blog.md如下所示:

---
layout: blog
title: the blog
permalink: blog
---

{% raw %}
{% for post in site.posts %}
   {% if post.categories contains 'blog' %}
   <div class="post">
       <h3 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h3>
    <p class="meta">Date: {{ post.date }}</p>
    <div class="entry">
        {{ post.content | strip_html | truncatewords: 100 }}
    </div>
</div>
{% endif %}
{% endfor %}
{% endraw %}

这是帖子的样子:

---
layout: post
title: New test
category: blog
---

This is a test post

如果我删除{% raw %}中的blog.md部分,则帖子显示如下: enter image description here

我已经检查过我的帖子在正确的位置,category参数已填写,日期和帖子文件名的格式正确。我究竟做错了什么?除Github元数据警告外,Jekyll不显示任何错误消息:

GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data

1 个答案:

答案 0 :(得分:3)

blog.md 是降价文件。

在markdown中,四个空格的缩进表示代码或预格式化的文本。 Kramdown会将这段代码包装在<pre>标记中,从而产生您实际在网站上看到的结果。

如果您删除缩进(或将其保留在4个空格以下),则您的问题已解决。

{% for post in site.posts %}
{% if post.categories contains 'blog' %}
<div class="post">
 <h3 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h3>
 <p class="meta">Date: {{ post.date }}</p>
 <div class="entry">
  {{ post.content | strip_html | truncatewords: 100 }}
 </div>
</div>
{% endif %}
{% endfor %}