本文將教你如何調用 Hexo 指定分類下的文章
本文回答了以下問題#
https://www.zhihu.com/question/404351568
https://segmentfault.com/q/1010000017758828
前言#
官方的輔助函數 list_categories 根本不夠用,只好自己用 categories 這個變數了。
由於沒學過 node.js 所以只有瞎折騰一通。
我先用 console.log () 看了看 site.categories.data,它的內容是如下。
折騰一番,這個 object 是用 map () 來調用的。
輸出目錄標題#
<% site.categories.map(function(category){ %>
<h1><%= category.name %></h1>
<% }) %>
輸出文章標題#
<% 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 |