Hexo增加置頂屬性

2021-08-28 03:10:53 字數 1688 閱讀 8314

每篇文章增加乙個屬性top,普通文章設定值為1,置頂文章設定為1以上。

title: hexo增加置頂屬性

date: 2018-09-14 14:57:57

top: 1

tags:

-部落格-hexo

-置頂

修改根目錄配置檔案/_config.yml,top值-1標示根據top值倒序(正序設定為1即可),同樣date也是根據建立日期倒序。

index_generator:

path: ''

per_page: 10

order_by:

top: -1

date: -1

* top的值每篇文章都要設定,如果沒設定會導致部分排序不正確 *hexo置頂功能,也就是指定首頁列表的排序,當前預設的是按照建立日期的倒敘,那我怎麼才能修改?hexo整個結構就是核心的hexo包+擴充套件包,生成首頁的是擴充套件外掛程式node_modules/hexo-generator-index中。

從上面截圖可以到到hexo.config.index_generator.order_by這個屬性是配置index的排序,開啟根目錄下/_config.yml檔案可以看大以下配置

index_generator:

path: ''

per_page: 10

order_by: -date

那麼我該怎麼修改配置?開啟node_modules/hexo-generator-index/lib/generator.js

從截圖上可以看到是locals.posts.sort來排序,那麼locals.posts又是什麼物件,它的sort方法該傳什麼引數?locals是hexo的全域性變數,應該是在核心包中,開啟node_modules/hexo/hexo/index.js

從上圖可以看出locals.posts是由db.model(『page』).find(query)返回的,那麼db這個是什麼?

const database = require('warehouse');

...this.database = new database();

..hexo.prototype._bindlocals = function() {

const db = this.database;

...

db是warehouse模組返回的,warehouse是hexo維護的乙個json資料庫,可以類似sql來操作json。

那麼根據上圖api,明白了怎麼新增引數。warehouse排序對於排序欄位的值如果沒有設定的話,排序就會亂掉,所以必須保證排序欄位有值,且要是數字(字串,簡單的嘗試了下,感覺比較亂)。

Hexo主題yilia增加gitalk評論外掛程式

在layout partial post目錄下新增gitalk.ejs檔案 檔案內寫入如下 修改source src css 目錄下comment.scss檔案 padding 0 30px important min height 20px sohucs gitalk enable true gi...

Hexo主題yilia增加gitalk評論外掛程式

如下 如下 padding 0 30px important min height 20px sohucs 如下 如下 gitalk enable true 是否開啟 githubid liu1340308350 你的github使用者名稱 repo liu1340308350.github.io ...

hexo部落格繫結網域名稱以及增加gitment評論

網域名稱解析 修改主題下的 config.yml配置 總結與感想 最近在namesilo上註冊了個網域名稱,並將hexo部落格同時部署到github page和coding page中以及繫結網域名稱,在其中遇到了一些問題,將整個過程記錄下來供後續參考。首先需要購買乙個網域名稱,國內可以在萬網上購買...