由于我自己是一个 RSS 信息流的忠实用户,所以自己的博客怎么能没有 RSS 的信息流订阅方式呢!本文参考网上诸多教材,记录一下自己的 Hexo 博客网站 butterfly 主题配置 RSS 的过程。

插件选择

根据 butterfly 主题的进阶教程里插件推荐,可以使用hexo-generator-feed插件进行 RSS feed 的制作。

image-20230515140411461

于是根据hexo-generator-feed的官方教程,一步步进行插件配置。

hexo 根目录安装插件并配置

  1. 进入 hexo 的根目录,执行如下命令进行插件安装

    1
    npm install hexo-generator-feed --save
  2. 根据官方建议配置 hexo 根目录的_config.yml 文件,再_config.yml 文件末尾添加如下配置信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    feed:
    enable: true #是否启用插件
    type: atom #有atom和rss2两个选项,使用默认atom就好了
    path: atom.xml #也用默认配置atom.xml就行
    limit: 20 #展示文章的数量,使用 0 或 false 代表展示全部
    hub: #这个我没用上,根据官网,空着就行
    content: #默认是false,true的话会在rss文件中包含整个文章内容
    content_limit: 140 #摘要长度
    content_limit_delim: ' ' #没看明白官方的意思,就跟着默认不填了
    order_by: -date #采用日期进行排序
    icon: icon.png #给rss链接配置icon
    autodiscovery: true #自动发现提要
    template: #给rss文章配置模板

    为防止我的理解有问题,下面放上官方原文:

    • path - Feed path. When both types are specified, path must follow the order of type value. (Default: atom.xml/rss2.xml)
    • limit - Maximum number of posts in the feed (Use 0 or false to show all posts)
    • hub - URL of the PubSubHubbub hubs (Leave it empty if you don’t use it)
    • content - (optional) set to ‘true’ to include the contents of the entire post in the feed.
    • content_limit - (optional) Default length of post content used in summary. Only used, if content setting is false and no custom post description present.
    • content_limit_delim - (optional) If content_limit is used to shorten post contents, only cut at the last occurrence of this delimiter before reaching the character limit. Not used by default.
    • order_by - Feed order-by. (Default: -date)
    • icon - (optional) Custom feed icon. Defaults to a gravatar of email specified in the main config.
    • autodiscovery - Add feed autodiscovery. (Default: true)
      • Many themes already offer this feature, so you may also need to adjust the theme’s config if you wish to disable it.
    • template - Custom template path(s). This file will be used to generate feed xml file, see the default templates: atom.xml and rss2.xml.
      • It is possible to specify just one custom template, even when this plugin is configured to output both feed types,

主题目录配置文件

  1. 在 butterfly 主题目录下的_config.yml 文件内添加配置内容:

    1
    rss: /atom.xml
  2. 在_config.yml 文件中找到 social settings 项,添加如下内容。(这样主页就能正确显示 RSS 图标了)

    1
    fas fa-rss: https://你的域名地址/atom.xml

大功告成

1
hexo clean && hexo g && hexo d