Enginear
728 文字
4 分
Hexoのフィード対応
2024-03-30

自身はRSS等を使う事が無いので必要性がどれ位あるのか不明だけれど、 折角なので作成したブログをフィードで通知出来る様にしてみる。 登録する人が1人でも居れば有用なので。

プラグインの追加#

フィードの利用にはHexo公式が提供しているhexo-generator-feedを利用する。 Hexoのルートディレクトリでnpmコマンドを実行する事で導入可能。

npm install hexo-generator-feed --save

導入後、Hexoの設定_config.ymlに追加の設定を行う事でフィードの配信準備が整う。 デフォルトでフィードの配信機能は有効になっている為、 hexo generateでAtomのフィードが生成される。

設定#

基本的な追加設定項目は以下

feed:
  enable: true
  type: atom
  path: atom.xml
  limit: 20
  hub:
  content:
  content_limit: 140
  content_limit_delim: ' '
  order_by: -date
  icon: icon.png
  autodiscovery: true
  template:

enable#

hexo-generator-feedを有効にするかの設定、 デフォルト値はtrue。 特別な理由がなければfalseにする必要は無い。

type#

rssかatomのどちらか、または双方でフィードを配信するか設定する。 双方使う場合は以下の様に記載。

type:
  - atom
  - rss2

path#

rss,atomの生成されるxmlファイルのパスを指定する。 デフォルトではatom.xml、rss2.xmlとなっている。 使用しているテーマによって格納するxmlファイルの場所が異なる場合ここで指定する。 ちなみにパスはtypeで指定した順に使われるのでatomとrss2両方を使用する設定にして、尚且つatomが先にされている場合、atomの格納パスから指定する。

limit#

フィード内に含める投稿の数を指定。 無制限にする場合は0falseを指定する。

hub#

PubSubHubbubに新規投稿を通知する場合は指定する。 (使用しない場合は空のままにする)

content#

投稿内容全体をフィードに含める場合はtrueを設定する。

content_limit#

フィードの概要に含まれるコンテンツ内容の長さを指定する。 contentがfalseで投稿にカスタム設定が含まれていない場合に使用される。

content_limit_delim#

content_limitを使って投稿内容を短くする場合、特定の区切り記号を使ってカットしたい場合ここに任意の区切り起動を設定する。

order_by#

フィードの並び順。 デフォルトでは日付でソートされる。

icon#

カスタムフィードアイコン、デフォルトでは設定されたメールアドレスと関連付けられているGravatarアイコンが使用される。

autodiscovery#

フィードの自動検出機能を有効にする。 デフォルトでは有効。 リポジトリの説明を見たがイマイチ意味が分からなかった。

template#

生成されるatom,rss2のxmlファイルの形をテンプレートに沿ってカスタマイズする事が可能。 利用する場合はテンプレートのパスを指定する。 path同様、typeで指定されているフィード順にパス指定を行う。