个人博客搭建-加强

前言:
给博客增加一些更高级的功能,例如分页、站内搜索、评论…

Hexo文章加密

简介

(1) 尝试着想一下,你写了一篇博客,但是,出于某种原因,不太希望每一个人都可以看到他。所以你常常会为这种文章设置一个密码,其他人需要输入密码才可以访问这篇博客。所以Hexo-Blog-Encrypt 因为这个需求而诞生了
(2) 一旦你输入了正确的密码,你可以在接下来的 30 分钟内,无需密码访问该网页

安装

(1) 命令:

1
2
3
npm install --save hexo-blog-encrypt    # npm安装

yarn add hexo-blog-encrypt # yarn安装

(2) 在站点配置文件_config.yml中添加插件配置:

1
2
3
4
5
6
# Security
encrypt: # hexo-blog-encrypt
enable: true
tags: # 配置标签加密
- {name: test, password: test}
- {name: diary, password: diary}

(3) 文章头部添加对应字段,如password, abstract, message:

1
2
3
4
5
6
7
---
title: Hello World
date: 2016-03-30 21:18:02
password: mikemessi # 该博客加密使用的密码
abstract: Something was encrypted, please enter password to read. #该博客的摘要,会显示在博客的列表页
message: Welcome to my blog, please enter password to read. #博客查看时,密码输入框上面的描述性文字
---

(4) hexo clean && hexo g && hexo s,来查看效果

注意事项

(1) 文章设置的password优先级最高,其次是设置标签加密,文章多标签加密密码优先级跟文章标签先后顺序有关
(2) 密码的有效时间是30分钟
(3) 插件还可以对TOC进行加密以及修改加密模板,详情见参考链接
(4) 加密后的文章可能会有不显示文章目录的bug,解决方案:将next/layout/_macro/sidebar.swig替换为这个博客中的文件

参考链接:https://github.com/MikeCoder/hexo-blog-encrypt/blob/master/ReadMe.zh.md


Valine评论

安装使用

Next主题,本身就已经集成了valine,因此正常情况下只需要配置一下就行了,不用安装,需要安装的可以使用以下命令:

1
2
3
4
# Install leancloud's js-sdk
npm install leancloud-storage --save
# Install valine
npm install valine --save

Leancloud配置

(1) 之前的文章次数统计已经配置过了,这里只需要进入Leancloud获取对应的APP IDAPP KEY就行了
(2) 修改主题配置文件hexo\themes\next\_config.yml,修改以下参数:

1
2
3
4
5
6
7
8
9
10
valine:
enable: true //打开valine评论功能
appid: 你的leancloud appid
appkey: 你的leancloud appkey
notify: false //邮件提醒
verify: true //评论时是否有验证码,需要在Leancloud 设置->安全中心 中打开
placeholder: 说点什么吧! //评论框默认显示
avatar: monsterid //评论者的头像
guest_info: nick # custom comment header
pageSize: 10 # pagination size

(3) 评论者头像avatar取值与显示效果如下:
valine头像


hexo管理插件

hexo-admin

(1) 安装插件

1
npm install --save hexo-admin

(2) 测试
hexo s启动服务,访问http://localhost:4000/admin/,就可以看到管理页面

功能说明

  • Pages:新加 page
  • Posts:新加或删除 post;双击一个 post,你可以编辑,预览,新增修改 tags、categories,选择发布或不发布
  • Settings:一些配置
  • Deploy:可以直接部署到 github
    (1) 密码保护
    打开Setting,点击Setup authentification here输入用户名,密码,密钥,下面会自动生成配置文件,复制加在hexo根目录下的_config.yml中:
    1
    2
    3
    4
    admin:
    username: myfavoritename
    password_hash: be121740bf988b2225a313fa1f107ca1
    secret: a secret something

(2) 发布文章
进入后台之后点击Deploy,里面的Deploy按钮是用来执行发布脚本的,所以我们先在博客根目录下新建个目录脚本文件hexo-deploy.bat(window系统,Linux系统可参考链接),里面写下下面代码然后保存:

1
hexo g -d

然后在hexo根目录下的_config.yml中的admin下添加:

1
2
3
4
5
admin:
username: myfavoritename
password_hash: be121740bf988b2225a313fa1f107ca1
secret: a secret something
deployCommand: './hexo-deploy.bat' #新增参数

点击Deploy就会执行这个命令并提交到GitHub

参考:
(1) https://github.com/jaredly/hexo-admin
(2) https://blog.csdn.net/dataiyangu/article/details/83066586
(3) https://albenw.github.io/posts/4ffa5bc6/
(4) https://segmentfault.com/a/1190000018488921


相册

注:Next主题默认是不含有相册页面的,如果想添加此页面需自行编写

相册和视频导航栏

其他配置

博客相册页面

图片的处理


小功能集合

文章链接唯一化

hexo默认提供的文章链接方案是使用年/月/日/标题,也许你会数次更改文章题目或者变更文章发布时间,文章链接都会改变,不利于搜索引擎收录,也不利于分享。唯一永久链接才是更好的选择
(1) 安装插件

1
npm install hexo-abbrlink --save

(2) 在站点配置文件中查找代码permalink,将其更改为:

1
permalink: posts/:abbrlink/  # “posts/” 可自行更换

参考

(1) https://malizhi.cn/HexoAlbum/
(2) https://www.jianshu.com/p/7f6425b3ffb2


—— 感谢您的阅读 ( ゚∀゚) 有什么疑问可以在下方留言哦 ——
坚持原创技术分享,您的支持将鼓励我继续创作!