Hexo博客首页隐藏部分文章(hexo-generator-index2)
简介hexo-generator-index2是带过滤功能的Hexo首页生成器插件。在官方的首页生成器基础上添加了过滤指定分类/标签的功能。比如,在首页只显示指定分类下面的文章列表。 除此之外,它还在指定的目录下生成指定类型的文章,比如在web目录下生成Web相关的文章。
安装12npm install hexo-generator-index2 --savenpm uninstall hexo-generator-index --save
hexo-generator-index2可以完全替代官方的hexo-generator-index,所以安装之后,先卸载官方的插件,不然会引起一些冲突。
选项1234567891011# index2 generator是否包含官方的hexo-generator-index,默认true(包含)index2_include_index: true # defult is true# 配置index2 generator,可以是数组或对象index2_generator: per_page: 10 order_by: -date i ...
Hexo博客支持置顶和隐藏文章的功能(hexo-generator-index-custom)
前言支持置顶与隐藏文章的 Hexo 首页生成器插件hexo-generator-index-custom。在官方的首页生成器的基础上添加了使用 top 置顶文章和 hide 隐藏文章的功能。
它会根据您的主题的 index 或 archive 格式生成首页。
不同之处
置顶sticky 与 top 参数在文章的 Front-matter 中可以使用来置顶文章。高的 sticky (或 top) 值意味着它会被排到最前面。
因为在旧版本中,hexo-generator-index-custom 不能置顶文章到首页。
大多数人使用 hexo-generator-index-pin-top 来实现置顶功能
隐藏文章在文章的 Front-matter 中使用 hide: true 可以隐藏文章(不在首页显示)。
安装hexo-generator-index-custom可以完全替代官方的 hexojs/hexo-generator-index,所以安装之后,先卸载官方的插件,不然会引起一些冲突。
123$ npm uninstall hexo-generator-index$ npm i ...
Hexo博客增加文章置顶的功能
前言Hexo默认只提供了按发布日期的排序,本文将介绍通过修改hexo-generator-index来达到文章置顶的效果。
原理:在Hexo生成首页HTML时,将top值高的文章排在前面,可以达到置顶功能。
操作步骤修改Hexo文件夹下的node_modules/hexo-generator-index/lib/generator.js,在生成文章之前进行文章top值排序。
需添加的代码:
12345678910111213posts.data = posts.data.sort(function(a, b) { if(a.top && b.top) { // 两篇文章top都有定义 if(a.top == b.top) return b.date - a.date; // 若top值一样则按照文章日期降序排 else return b.top - a.top; // 否则按照top值降序排 } else if(a.top && !b.top) ...
Hexo博客增加本地搜索的功能(hexo-generator-searchdb)
前言“hexo-generator-searchdb”插件功能更为强大,这次来介绍“hexo-generator-searchdb”,其实与“hexo-generator-search”使用的方法非常相似。
安装依赖前往博客根目录,打开cmd命令窗口执行npm install hexo-generator-searchdb --save。
1npm install hexo-generator-searchdb --save
注入配置修改站点配置文件_config.yml,添加或修改如下代码:
12345search: path: search.xml field: post content: true format: html
参数说明:
path - 文件路径,可以生成xml和json两种格式。默认情况下是search.xml。如果文件扩展名为.json,则输出格式将为 JSON。否则,将导出 XML 格式化文件。
field - 您要搜索的搜索范围,您可以选择:
post(默认) - 仅涵盖您博客的所有文章。
page - 将仅涵盖您博客的所有页面。
all - 将 ...
Hexo博客配置valine邮箱提醒
首先确保 Valine 的基础功能是正常的,可以参考官网:https://valine.js.org/
进入 Leancloud 对应的 Valine 应用中。
Valine Admin项目代码:https://github.com/DesertsP/Valine-Admin
快速部署
在Leancloud云引擎设置界面,填写代码库并保存:https://github.com/DesertsP/Valine-Admin.git
在设置页面,设置环境变量以及 Web 二级域名。
变量
示例
说明
SITE_NAME
Deserts
[必填]博客名称
SITE_URL
https://deserts.io
[必填]首页地址
SMTP_SERVICE
QQ
[新版支持]邮件服务提供商,支持 QQ、163、126、Gmail 以及 更多
SMTP_USER
xxxxxx@qq.com
[必填]SMTP登录用户
SMTP_PASS
ccxx ...
Hexo博客Valine评论遭到恶意数据输入紧急防御和快速解决方法
恶意刷入数据如果博客评论系统被恶意刷入数据,那该怎么办呢?
及时关闭Comment写入权限受到攻击时,及时关闭Comment写入权限,操作方法如下所示:
数据存储 > 结构化数据 > Comment > 权限 > 默认 ACL 权限 > write > 点击修改 > 选中“数据创建者(Owner)” > 保存
提醒大家养成备份的习惯经常备份评论,操作方法如下所示:
数据存储 > 导入导出 > 数据导出 > 选中“限定class”再选中“ Comment ” > 点击“导出”
快速新建一个评论应用如果恶意评论数据条数过于庞大了,而且最多一次只能选中100条进行删除,所以可以考虑选择直接抛弃,重建一个应用。
创建应用点击创建应用并设置应用名称即可。
部署应用创建好之后,点击进入,设置部署环境,操作:云引擎 > 部署 > Git部署 > 地址栏里填写“ https://github.com/DesertsP/Valine-Admin.git “ > 点击“部署”
配置邮箱提醒设置部署环境,操作:云 ...
Hexo关闭文章评论
如果自己的博客有时候不想让别人评论,那该怎么办?
其实 Hexo 早就给我们想好了,实现起来很简单,只需要在头文件加上一行 comments: false 就可以了。
以本篇文章为例,用 hexo n “Hexo关闭文章评论”创建文章之后默认是以下的代码:
123456---title: Hexo关闭文章评论date: 2022-11-14 20:47:49tags: Hexocategories: Hexo---
只需要在两个—中间任意位置添加 comments 就可以了
1234567---title: hexo 关闭文章评论date: 2017-11-24 17:17:10tags: Hexocategories: Hexocomments: false # :后面和false中间是有一个空格的---
Hexo增加Valine评论系统
前言Hexo博客支持的评论系统其实有很多,本站选用了Valine,选择原因:轻量级、访问速度快、配置过程简单,以上三个原因足够我选择它了。
Valine评论系统的配置其实很简单,在这里就简单介绍一下。
操作流程
注册帐号在LeanCloud官网(https://www.leancloud.cn/)免费注册一个帐号,注册后需要实名认证即可使用不同的服务了。
创建应用
点击左上角LeanCloud后选择创建应用
填写应用名称
默认选择开发版
自行选择是否填写应用描述
最后点击创建按钮
修改配置打开_config.butterfly.yml配置,找到valine配置,修改appid和appkey
12345678910# valine# https://valine.js.orgvaline: appId: 请在这里填写你的appId # leancloud application app id appKey: 请在这里填写你的appKey # leancloud application app key avatar: monsterid # gravatar style ...
Hexo页脚跳动的心
编辑blog/themes/butterfly/layout/includes/footer.pug文件
将以下内容
1©${theme.footer.owner.since} - ${nowYear} By ${config.author}
改为
1©${theme.footer.owner.since} - ${nowYear + ' '} <i id="heartbeat" class="fa fas fa-heartbeat"></i> ${config.author}
将以下内容
1©${nowYear} By ${config.author}
改为
1©${nowYear + ' '} <i id="he ...
Hexo禁用F12进入调试控制台和复制文章的内容
引言如果你不希望别人直接按下F12按键进入调试控制台或者复制文章的内容,那么本文章你肯定能用得上:)
操作步骤修改【/butterfly/layout/includes/layout.pug】,根据图中位置添加以下 pug 代码(跟 head、body同级)。
123456789101112131415161718script. ((function() {var callbacks = [],timeLimit = 50,open = false;setInterval(loop, 1);return {addListener: function(fn) {callbacks.push(fn);},cancleListenr: function(fn) {callbacks = callbacks.filter(function(v) {return v !== fn;});}} function loop() {var startTime = new Date();debugge ...