Skip to content

安装常用插件

前言

以下是小站建设过程中用到的一些常用插件

图片路径转asset_img

将 markdown 图像路径转换为 asset_img 语法,使图像在 typora 和 hexo 中都显示。

在blog目录下的命令指示符中执行:

shell
npm install hexo-image-link --save

在blog目录下的_config.yml文件中修改以下内容:

yaml
post_asset_folder: true

Hexo的Git推送插件

shell
npm install hexo-deployer-git --save

在blog目录下的_config.yml文件中修改并加入内容:

yaml
deploy:
  type: 'git'
  repository: #仓库地址
  branch: main #一般为main、master

永久链接

在blog目录下的命令指示符中执行:

shell
npm install hexo-abbrlink --save

在blog目录下的_config.yml文件中修改并加入内容:

yaml
#修改内容
permalink: posts/:abbrlink/
permalink_defaults:
#加入内容
abbrlink:
  alg: crc32      # 使用 CRC32 算法(生成 8 字符长链)
  rep: hex        # 链接格式为十六进制(如 "abc123")
  drafts: false   # 不为草稿生成短链
  force: false    # 不强制重新生成已有短链的文章
  writeback: true # 将短链写入文章的 Front Matter

其中得到posts可自定义替换

文章加密

在blog目录下的命令指示符中执行:

shell
npm install --save hexo-blog-encrypt

在要加密的文章页面的Front-matter部分加入以下内容:

markdown
password: xxxxxx
abstract: 有东西被加密了, 请输入密码查看.
message: 您好, 这里需要密码.
theme: Shrink
wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.
wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.

在blog目录下的_config.yml文件中添加以下内容:

yaml
#文章加密
encrypt: # hexo-blog-encrypt
  abstract: 有东西被加密了, 请输入密码查看.
  message: 您好, 这里需要密码.
  tags:
  - {name: 总结, password: xxxxxx}
  wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.
  wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.

password: 自定义设置的密码值

theme: Shrink 加密文件显示的主题

abstract: 用于设置加密文章显示的摘要。

message: 输入密码提示。

wrong_pass_message: 输入错误提示。

wrong_hash_message: 校验错误提示。

轮播图置顶文章

在blog目录下的命令指示符中执行:

shell
npm install hexo-butterfly-swiper --save

在blog目录下的_config.yml文件中修改并加入内容:

yaml
# 轮播文章置顶
# see https://akilar.top/posts/8e1264d1/
swiper:
  enable: true # 开关
  priority: 5 #过滤器优先权
  enable_page: all # 应用页面
  timemode: date #date/updated
  layout: # 挂载容器类型
    type: id
    name: recent-posts
    index: 0
  default_descr: 点击查看置顶文章啦~~~
  swiper_css: https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.css #swiper css依赖
  swiper_js: https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.js #swiper js依赖
  custom_css: https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiperstyle.css # 适配主题样式补丁
  custom_js: https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper_init.js # swiper初始化方法

在要轮播的文章页面的Front-matter部分加入以下内容:

markdown
swiper_index: 1 #置顶轮播图顺序,非负整数,数字越大越靠前

文章置顶和隐藏

在blog目录下的命令指示符中执行:

shell
npm install hexo-generator-index --save

在文章页面的Front-matter部分添加 sticky 或 top 参数(sticky 的优先级比 top 高),可以置顶文章,添加hide参数隐藏文章。

markdown
#置顶方式有两种sticky或top,数字越大优先级越考前
sticky: 数字
top: 数字
#隐藏
hide: true

字数统计

在blog目录下的命令指示符中执行:

shell
npm install hexo-wordcount --save

在blog目录下的_config.butterfly.yml文件中开启字数统计。

yaml
wordcount:
  enable: true

本地搜索

在blog目录下的命令指示符中执行:

shell
npm install hexo-generator-search --save

在blog目录下的_config.yml文件中修改并加入内容:

yaml
#本地搜索
search:
  path: search.json
  field: post
  content: true
  format: striptags
  • path - 生成的数据库文件的路径。支持和格式。如果未提供文件扩展名,则默认使用 JSON 格式
  • field - 要搜索的搜索范围,您可以选择:
    • post (默认) - 将仅涵盖您博客的所有文章。
    • page - 将仅覆盖您博客的所有页面。
    • all - 将覆盖您博客的所有帖子和页面。
  • content - 是否包含每篇文章的全部内容。如果 ,生成的结果仅涵盖标题和其他元信息,而不涵盖主体
  • format - 页面内容的形式,选项有:
  • striptags (默认)缩小原始 html 字符串,并删除所有标签。
  • html - 正在缩小的原始 html 字符串。
  • raw - 每个帖子或页面的 Markdown 文本。

在blog目录下的_config.butterfly.yml文件中开启本地搜索。

yaml
#搜索
search:
  use: local_search
  placeholder: 搜索文章

  local_search:
    preload: false
    top_n_per_article: -1
    unescape: false
    CDN:

添加RSS

INFO

2025-10-10 更新记录:更换RSS插件hexo-pretty-feed ,美化RSS订阅地址。

在blog目录下的命令指示符中执行:

cmd
npm install hexo-pretty-feed --save

RSS美化详细教程参考链接如下:

美化效果图如下: 浅色模式img深色模式img

在blog目录下的_config.yml文件中修改并加入内容:

yaml
# RSS
feed:
    enable: true
    type: rss2
    path: rss2.xml
    limit: 20
    hub:
    content: 
    content_limit: 300
    content_limit_delim: ' '
    order_by: -date 
    icon: icon.png
    autodiscovery: true 
    pretty_rss2_file: rss2.xsl  #新增美化文件
    template:
  • type - atom和rss2两种类型

  • path - 源路径。当同时指定了这两种类型时。(默认值:atom.xml/rss2.xml)

  • limit - 源中的最大帖子数(使用 or 显示所有帖子)0 false

  • hub - PubSubHubbub 中心的 URL(如果不使用它,请将其留空)

  • content -(可选)设置为 'true' 以在源中包含整个文章的内容。

  • content_limit -(可选)摘要中使用的文章内容的默认长度。仅当内容设置为 false 且不存在自定义文章描述时才使用。

  • content_limit_delim -(可选)如果使用 content_limit 来缩短帖子内容,则仅在达到字符限制之前最后一次出现此分隔符时进行剪切。默认情况下不使用。

  • order_by - Feed 排序依据。(默认值:-date)

  • 图标 -(可选)自定义源图标。默认为主配置中指定的 email 的 gravatar。

  • autodiscovery - 自动发现添加源。默认为true

  • template - 自定义模板路径。此文件将用于生成源 xml 文件,可以只指定一个自定义模板,即使此插件配置为输出两种 Feed 类型。

  • pretty_atom_file - 插入 Atom Feed 顶部的样式文件路径(如:XSL 文件),建议使用相对路径。留空则不插入。 #新增

  • pretty_rss2_file - 插入 RSS2 Feed 顶部的样式文件路径。留空则不插入。 #新增

在blog目录下的_config.butterfly.yml文件中添加rss路径。

yaml
rss: /rss2.xml