1

所以我正在使用静态站点生成器 hexo.io 我遇到了一个问题

在索引页面中,我只想显示类别为“显示”的帖子。我在 .md 文件中分配了类别,如官方文档中所示。

---
layout: post
title: "doors"
categories:
- show
date: 2016-10-02 17:54:22
header-img: "1.jpg"
author: "default"
---

但似乎没有分配类别,因为当尝试像这样显示它时

<% site.posts.each(function(post){ %>
  <div class="post-preview col-md-4 col-xs-12">
          <h2 class="post-title">
              <%- post.categories || "Untitled" %>
                <% console.log(post.categories)%>
          </h2>
<% }); %>

<h2>我得到[object Object]而不是 text show。当我尝试控制台时,post.categories我在控制台中得到以下输出

Query { data: [], length: 0 }
Query { data: [], length: 0 }
Query { data: [], length: 0 }
Query { data: [], length: 0 }
Query { data: [], length: 0 }
Query {
  data: 
   [ Document {
       name: 'show',
       _id: 'citstcz9q000f8zi5oij9o5dg',
       slug: [Getter],
       path: [Getter],
       permalink: [Getter],
       posts: [Getter],
       length: [Getter] } ],
  length: 1 }
Query { data: [], length: 0 }

有人可以告诉我做错了什么吗?

4

1 回答 1

2

Hexo 很简洁,我热衷于让它为我工作。文档不关心把手(这是我更喜欢的),所以我不得不做一些争论。来这里看看是否有修复,我自己想通了。干得好!

{{#each site.posts.data}}
<section class="post-block inner-wrap">
  <h2 class="post-block__title"><a href="/thoughts/{{this.slug}}">{{this.title}}</a></h2>
  <h5 class="post-block__meta">
    posted in

    {{#each this.categories.data}}
      <a href="{{this.permalink}}" class="post-block__category">{{this.name}}</a>
    {{/each}}

    on <span class="post-block__date">{{this.date._d}}</span>
  </h5>

  <span class="post-block__content">{{{this.content}}}</span>
</section>
{{/each}}

看起来您正在使用ejs,但我希望我的代码可以帮助您找到解决方案!

于 2016-12-25T01:26:48.813 回答