zenn-dev / zenn-community

zenn.dev roadmap
356 stars 7 forks source link

RSS Feed に category を追加して欲しい #538

Closed ttyfky closed 9 months ago

ttyfky commented 1 year ago

提案・要望

RSS のフィードに記事に紐づけてある Topic を category 要素として追加して欲しい。

背景

https://zenn.dev/catnose99/articles/cb72a73368a547756862 を拡張して tag での分類なども行っているが、Zenn は category 要素が無く記事を分類できないため。

関連

https://github.com/zenn-dev/zenn-community/issues/460

cm-igarashi-ryosuke commented 1 year ago

@ttyfky ご提案ありがとうございます。検討いたします。

cm-wada-yusuke commented 10 months ago

@ttyfky RSSの仕様ページありがとうございます!イメージを見てほしいのですが、たとえば下記のデータでやりたいことってできそうですか?以下の記事でWordpressのRSSを参考にしています。

https://lifescrewdesign.com/blog/wordpress/wordpress-rssfeed-category/

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
   <channel>
      <title><![CDATA[waddy_uさんのフィード]]></title>
      <description><![CDATA[Zennのwaddy_uさん(@waddy)のRSSフィードです]]></description>
      <link>https://zenn.dev/waddy</link>
      <image>
         <url>https://storage.googleapis.com/zenn-user-upload/avatar/ab27ada047.jpeg</url>
         <title>waddy_uさんのフィード</title>
         <link>https://zenn.dev/waddy</link>
      </image>
      <generator>zenn.dev</generator>
      <lastBuildDate>Tue, 23 Jan 2024 08:56:43 GMT</lastBuildDate>
      <atom:link href="https://zenn.dev/waddy/feed" rel="self" type="application/rss+xml" />
      <language><![CDATA[ja]]></language>
      <item>
         <title><![CDATA[Cloud Run のハンズオンで Cloud Shell と teachme コマンドが便利だった]]></title>
         <description><![CDATA[Cloud Shell は Google Cloud の管理コンソールから利用できるシェル環境です。こちらのイベントにて、ブログアプリケーションを Cloud Run へデプロイするハンズオンを実施しました。 このハンズオンでteachmeコマンドを利用して手順を進めました。チューター視点で便利だったポイントを記録します。イベントへ参加してくださった方、会場を用意していただいたGoogle Cloud Japanさま、スタッフの方々、ありがとうございました。 便利だったところ 今回のハンズオンでは、Cloud Shellをつかうことで、新しくインストールするツールもなく、ほとんどの...]]></description>
+       <category domain="https://zenn.dev/topics/cloudrun"><![CDATA[Cloud Run]]></category>
+       <category domain="https://zenn.dev/topics/googlecloud"><![CDATA[Google Cloud]]></category>
         <link>https://zenn.dev/waddy/articles/google-cloud-handson-with-teachme</link>
         <guid isPermaLink="true">https://zenn.dev/waddy/articles/google-cloud-handson-with-teachme</guid>
         <pubDate>Wed, 13 Dec 2023 06:41:20 GMT</pubDate>
         <enclosure url="https://res.cloudinary.com/zenn/image/upload/s--duZVYP_W--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Cloud%2520Run%2520%25E3%2581%25AE%25E3%2583%258F%25E3%2583%25B3%25E3%2582%25BA%25E3%2582%25AA%25E3%2583%25B3%25E3%2581%25A7%2520Cloud%2520Shell%2520%25E3%2581%25A8%2520teachme%2520%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2581%258C%25E4%25BE%25BF%25E5%2588%25A9%25E3%2581%25A0%25E3%2581%25A3%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:waddy_u%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2FiMjdhZGEwNDcuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png" length="0" type="image/png" />
         <dc:creator>waddy_u</dc:creator>
      </item>
      <item>
         <title><![CDATA[Google Cloud Next Tokyo ’23 で アプリ・生成AI・BigQueryあたりのセッションに参加したレポート]]></title>
         <description><![CDATA[Google Cloud Next Tokyo ’23 の2日目に参加しました。忘れないうちに感じたことなどをレポートします。 ロケーション 会場: 東京ビッグサイト https://www.bigsight.jp/ 人生ではじめて東京ビッグサイトに来ました。お祭り感があり来場しただけでワクワクしました(準備がとても大変そう)。空調に期待しすぎないよう、外気温に合わせて厚着していったのがよかったです。それでもちょっと寒かった。 Google Cloud Next Tokyo ’23 は主に西棟で開催されていたのですが、東棟・南棟・西棟の位置関係は事前によく確認してから参加するのが...]]></description>
         <link>https://zenn.dev/waddy/articles/google-cloud-next-report</link>
+       <category domain="https://zenn.dev/topics/googlecloud"><![CDATA[Google Cloud]]></category>
+       <category domain="https://zenn.dev/topics/event"><![CDATA[イベント]]></category>
         <guid isPermaLink="true">https://zenn.dev/waddy/articles/google-cloud-next-report</guid>
         <pubDate>Fri, 17 Nov 2023 07:43:18 GMT</pubDate>
         <enclosure url="https://res.cloudinary.com/zenn/image/upload/s--i3f73iSF--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Google%2520Cloud%2520Next%2520Tokyo%2520%25E2%2580%259923%2520%25E3%2581%25A7%2520%25E3%2582%25A2%25E3%2583%2597%25E3%2583%25AA%25E3%2583%25BB%25E7%2594%259F%25E6%2588%2590AI%25E3%2583%25BBBigQuery%25E3%2581%2582%25E3%2581%259F%25E3%2582%258A%25E3%2581%25AE%25E3%2582%25BB%25E3%2583%2583%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%25B3%25E3%2581%25AB...%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:waddy_u%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2FiMjdhZGEwNDcuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png" length="0" type="image/png" />
         <dc:creator>waddy_u</dc:creator>
      </item>
   </channel>
   <style id="stylebot-css-zenn.dev">body { tab-size: 3 !important; line-break: strict !important; } h1[class^="ArticleHeader_title"] { font-size: 48px !important; max-width: 1120px !important; }</style>
</rss>
ttyfky commented 10 months ago

@cm-igarashi-ryosuke ご対応ありがとうございます。イメージとしてご共有されている通りです。 値に関してはhttps://zenn.dev/topics/googlecloudgooglecloud ように URL で使われる topics の value に当たるものを使用した方が ID 的にノーマライズされていて大文字・小文字、スペースの有無などを気にすることなく受ける側が機械的に扱いやすいのではないかとは考えています(何れにせよ Zenn としては一つの Topic に関しては統一された値が使われ続けるとは思いますが)。

cm-wada-yusuke commented 9 months ago

@ttyfky こちらいただいた案ふくめ実装面の調査を行いました。結論としては実現が難しそうです。申し訳ないです。他のサービスを見てもなかなかないためいいかも?と思いましたが、やはり一覧情報にトピックをくっつけるとなると他のテーブルをJOINする必要があり、なおかつ際限なくトピックが増える可能性があるため上限を定めてソートする必要があります。パフォーマンス理由で難しい、というのが理由です。

仕様の検討までいただいたのに申し訳ないです。