hexo 的 Next 主题 中添加首页文章置顶功能及置顶图标

-

一、新版本的Next解决方案(Next8)

1.在博客根目录下安装置顶插件

1
2
3
cnpm uninstall hexo-generator-index --save
cnpm install hexo-generator-index-pin-top --save
cnpm install hexo-util --save //由于光执行上面的会报错,需额外下载hexo-util

2.在需要置顶的文章头加入top: true

例如

1
2
3
4
5
6
7
8
9
---
title: 2022潍坊市新冠病毒感染者轨迹汇总
date: 2022-03-17 22:15:49
updated: 2022-03-29 22:15:49
categories: "社会" #分类
tags: #标签
- 新冠肺炎
top: true
---

3.在文章标题下面添加一个置顶标签样式

打开:themes\next\layout\_partials\post\post-meta.njk文件,定位到<div class="post-meta">标签下,插入如下代码:

1
2
3
4
5
{% if post.top %}
<i class="fa fa-thumb-tack"></i>
<font color=7D26CD>置顶</font>
<span class="post-meta-divider">|</span>
{% endif %}

注意!该方法置顶图标不水平居中,正在寻找解决方案。

原文链接:https://blog.csdn.net/qq_41603102/article/details/117203360


二、旧版本Next的可行方案:

1. 安装插件

1
2
npm uninstall hexo-generator-index --save
npm install hexo-generator-index-pin-top --save

如果开启了持续部署和持续集成工具,需要将这两行加到自动构建脚本里:

1
2
3
4
5
6
7
8
9
10
11
install:
- node --version
- npm --version
- npm install hexo-cli -g
- npm install
- npm uninstall hexo-generator-index --save
- npm install hexo-generator-index-pin-top --save

build script:
- hexo clean
- hexo g

2. 设置文章置顶

在需要置顶的文章的 Front-matter 中加上top: true即可。

例:

1
2
3
4
5
6
7
8
---
title: 2022潍坊市新冠病毒感染者轨迹汇总
date: 2022-03-17 22:15:49
categories: "社会" #分类
tags: #标签
- 新冠肺炎
top: true
---

3. 添加置顶图标

打开 /blog/themes/hexo-theme-next/layout/_macro 目录下的 post.swig 文件,在<div class="post-meta">标签中插入如下代码:

1
2
3
4
5
6
{% if post.top %}
<i class="fa fa-thumb-tack"></i>
<font color=red>置顶</font>
<span class="post-meta-divider">|</span>
{% endif %}

原文链接:https://blog.csdn.net/Mculover666/article/details/100622265