Feedlyでトップ画像だけが表示されないを解決@nuxt.js

2020-05-19

(LastUpdated: 2020-05-19)

FeedlyというでRSSサービスを利用しています。 Feedly. Read more, know more. ここには自身のブログも設定して、RSSリーダーでの見え方がどんな感じかをチェックしています。

先日、RSS2.0から、ATOMにフィードのフォーマットを変更しました。

これを機に、以前から気になっていた問題に対処してみました。

  1. ヒーローイメージが表示されないのはなぜだ
  2. contentの中にイメージタグがあればOK
  3. bodyHtmlにヒーローイメージを突っ込む
  4. まとめ:feedlyでも快適に読んでもらえるように

ヒーローイメージが表示されないのはなぜだ

ノートパソコンの画面を見て「キーッ!」と鉛筆を噛む美しい女性

これはRSS2.0時代から思っていたのですが、ヒーローイメージに設定している画像が、Feedlyで表示されないのです。

ヒーローイメージとは、記事の一番上にある画像で、記事そのものの内容を示す画像のことを言います。

一覧ではサムネイルが出るはずで、記事内の一番上に表示されてほしい。 ところは、ヒーローイメージは表示されないのです。

Feedlyの仕様としては、ATOMフィードの中の<content></contet>内のイメージタグ(<img>)を表示しているようです。

contentの中にイメージタグがあればOK

木製の三角定規と白い大きなキャンバス 僕の場合、Markdownの先頭に色々とパラメータを書いているのですが、記事のヒーローイメージはここで設定しています。

ATOMフィードの<content></contet>内には単純に記事だけが入っています。 つまり、ヒーローイメージを設定したイメージタグは含まれていなかった のです。

bodyHtmlにヒーローイメージを突っ込む

積み重ねられたたくさんの種類のお皿 さて、これを表示されるように調整します。 元々の記事には影響を与えず、フィードのみに挿入されるように処理を施してみました。 こんな感じで。

  const heroImg = domain + 'img/blog/' + article.img
  const bodyHtml = '<img src="' + heroImg + '">' + article.bodyHtml

Markdownで書かれた内容が処理されて、htmlになった文字列が格納された変数である、bodyHtml。 このbodyHtmlの先頭に、ヒーローイメージをimgタグにして突っ込むだけという感じです。

これで<content>の中に、ヒーローイメージを設定したimgタグを挿入することができました。

まとめ:feedlyでも快適に読んでもらえるように

ねむりこけるグレーのもふもふ猫ちゃん 細かい仕様にも目を向けなくてはいけないという、面倒なところでした。 やってみたら簡単なんですけどね。

逆に、この細やかに調整できるところが、CMSではなくてnuxt/vueを使うメリットでもあります。

このブログの記事は、Feedly内で全ての記事を読めるようにコンテンツを挿入しています。 Feedlyユーザーとしては、いちいち遷移しないと読めないのは面倒です。

こういった部分でも、UXを向上できる施策は、どんどん導入していきたいと思いいます。

この他に、良いアイデアを見つけた方は、twitterなどで是非お教えくださいね。


タグに関連づけられた記事

AM2

JAMstacなブログにまつわる、技術的なことなどを記録しています。