Hexo 基于分类输出文章
2021年04月15日 409 字 大概 1 分钟
本文将教你如何调用 Hexo 指定分类下的文章
本文回答了以下问题
https://www.zhihu.com/question/404351568
https://segmentfault.com/q/1010000017758828
前言
官方的辅助函数 list_categories 根本不够用,只好自己用 categories 这个变量了。
由于没学过 node.js 所以只有瞎折腾一通。
我先用 console.log() 看了看 site.categories.data,它的内容是如下。
折腾一番,这个 object 是用 map() 来调用的。
输出目录标题
代码语言:javascript复制<% site.categories.map(function(category){ %>
<h1><%= category.name %></h1>
<% }) %>
输出文章标题
代码语言:javascript复制<% site.categories.map(function(category){ %>
<h1><%= category.name %></h1>
<% category.posts.map(function(post){ %>
<h2><%= post.title %></h2>
<% }) %>
<% }) %>
变量 | 描述 | 类型 |
---|---|---|
post.title | 页面标题 | string |
post.date | 页面建立日期 | Moment.js 对象 |
post.updated | 页面更新日期 | Moment.js 对象 |
post.comments | 留言是否开启 | boolean |
post.layout | 布局名称 | string |
post.content | 页面的完整内容 | string |
post.excerpt | 页面摘要 | string |
post.more | 除了页面摘要的其余内容 | string |
post.source | 页面原始路径 | string |
post.full_source | 页面的完整原始路径 | string |
post.path | 页面网址(不含根路径)。我们通常在主题中使用 url_for(post.path)。 | string |
post.permalink | 页面的完整网址 | string |
post.prev | 上一个页面。如果此为第一个页面则为 null。 | string or null |
post.next | 下一个页面。如果此为最后一个页面则为 null。 | string or null |
post.raw | 文章的原始内容 | ??? |
post.photos | 文章的照片(用于相簿) | array |
post.link | 文章的外部链接(用于链接文章) | string |