Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RSSフィード作成 #387

Merged
merged 6 commits into from
Mar 29, 2019
Merged

RSSフィード作成 #387

merged 6 commits into from
Mar 29, 2019

Conversation

odlovesq
Copy link
Contributor

@odlovesq odlovesq commented Feb 22, 2019

背景

TL;DR: DojoCastがPodcastから聴けると嬉しいというご意見がありました!

Fix #363

期待される結果

  • RSSフィードが配信される
  • PodcastアプリからDojoCastを聴くことができる

やること

やらなかったこと

  • アートワークの追加
    • アートワークの用意に時間がかかりそうだったため

@odlovesq odlovesq self-assigned this Feb 22, 2019
必要なタグがわからなかったので、すぐ出せる情報のみでRSSフィードページを作成しました
@odlovesq
Copy link
Contributor Author

すぐ出せる情報のみでrssフィードページを作成しました。
作成日も必要かと思ったのですが、rss2.0の必須要素は下記3点のようなのですでに記載済みでした。

  • title
  • link
  • description

https://www.futomi.com/lecture/japanese/rss20.html

@odlovesq
Copy link
Contributor Author

公式のベストプラクティスによると、podcast側の必須タグは下記3点のようです。
ベストプラクティスを参考にして、タグを増やしていこうと思います。

  • title
  • author
  • description

https://help.apple.com/itc/podcasts_connect/#/itc2b3780e76

@odlovesq
Copy link
Contributor Author

カテゴリ情報はどれが適切でしょうか?🤔
https://help.apple.com/itc/podcasts_connect/#/itc9267a2f12

追加のタグは必須ではないのですが、Apple Podcastsでおすすめとして紹介されやすくなるようなので追加しました。

cf. https://help.apple.com/itc/podcasts_connect/#/itcb54353390
@odlovesq
Copy link
Contributor Author

odlovesq commented Feb 28, 2019

暫定で下記のカテゴリ(サブカテゴリ)を設定してみました。

カテゴリ: Technology
サブカテゴリ: Software How-To, Podcasting

@odlovesq
Copy link
Contributor Author

追加したいタグ

  • enclosure
    • enclosureタグはすでにコミットに含めたが、length属性がない
    • length属性: ファイルサイズをバイト単位で指定
  • itunes:duration
    • 時間、分、秒の単位で表すエピソードの長さ
    • 無いと、Podcasts アナリティクスでの計算に影響があるらしい
  • itunes:image
    • アートワーク
    • 購読者が使用するデバイスによって、エピソードのアートワークは様々なサイズで表示されます。そのため、アートワークはオリジナルサイズでも、サムネイルとして縮小したサイズでも、適切に表示されるようデザインしてください。Apple では、エピソードのアートワークにタイトル、ブランド、または提供者名を含めることを推奨しています。

    • アートワークは最小 1,400 x 1,400 ピクセル、最大 3,000 x 3,000 ピクセル、72 dpi、JPEG または PNG 形式で、ファイル名に適切なファイル拡張子 (.jpg、.png) を入れ、RGB カラースペースを使用している必要があります。これらの要件は、標準的な RSS の画像タグの仕様とは異なります。

podcastsに推奨されていたので、ファイルの情報を追加しました。
@odlovesq
Copy link
Contributor Author

odlovesq commented Mar 22, 2019

やることに以下の二つが入っているのですが、オンラインで公開しないとテスト・検証・送信はできないのでこのPRのやることからは削除しようと思います。

  • Podcastでテスト・検証
  • Podcastに送信

@odlovesq odlovesq changed the title [WIP] RSSフィード作成 RSSフィード作成 Mar 25, 2019
@odlovesq odlovesq marked this pull request as ready for review March 25, 2019 07:32
@yasulab yasulab requested a review from nalabjp March 26, 2019 06:20
@yasulab
Copy link
Member

yasulab commented Mar 26, 2019

@odlovesq PR ありがとうございます...!! 😻 アートワークなどは後ほど僕の方で用意しますね ;) 🎨 👨‍🎨 💖

@nalabjp ひとまずコード部分についてレビューしていただけると嬉しいです (>人< )✨

@yasulab
Copy link
Member

yasulab commented Mar 26, 2019

カテゴリ: Technology
サブカテゴリ: Software How-To, Podcasting

よさそう d( ̄  ̄)✨

@yasulab
Copy link
Member

yasulab commented Mar 26, 2019

itunes:image

  • アートワーク

@odlovesq 割と簡単に作れそうだったのでひとまずこんな感じで作ってみました! 🎨 ✅ 他、必要な情報などあればお気軽にご連絡くださ〜い 😆✨

apple-rss-cover

Copy link
Member

@nalabjp nalabjp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

細かな点をいくつかコメントしましたが、大枠は良さそうに思います! 👍
PRありがとうございます〜 😌

@@ -36,6 +50,10 @@ def description
@desc ||= exists? ? self.content.lines.reject{|l| l =~ /^(\n|<)/ }.second.delete('<br>').strip : ''
end

def published_at
@pubDate ||= exists? ? Time.parse(self.content.lines.second.gsub(/<.+?>/, '').delete('収録日: ')) : ''
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

キャメルケースよりスネークケースの方がrubyっぽいと思いました。
s/@pubDate/@published_at/

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「2行目に収録日が記載されている」というのは仕様になっている感じでしょうか?
仕様がわからなかったのでご存知なら教えてください。
仕様じゃないケースがあるかもという想定を考慮に入れると収録日: で始まる行を探して、それ以降の文字列を切り抜く、という感じかなと思いました。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「2行目に収録日が記載されている」というのは仕様になっている感じでしょうか?

こちらは Issue に切り出しました ✂️
#407

xml.description full_description ""
xml.link root_url
xml.author @author
xml.copyright "Copyright © 2012-2018 一般社団法人 CoderDojo Japan"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@author使えますでしょうか?
"Copyright © 2012-2018 #{@author}"

Copy link
Member

@nalabjp nalabjp Mar 26, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/2018/2019/なので、
"Copyright © 2012-#{Time.current.year} #{@author}"とするのはどうでしょうか?

xml.author @author
xml.description episode.description
xml.link @domainname + episode.url
xml.guid({:isPermaLink => "false"}, @domainname + episode.url)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String Interpolationを使いたいと思いました。
"#{@domainname}#{episode.url}"

xml.guid({:isPermaLink => "false"}, @domainname + episode.url)
xml.itunes :explicit, "clean"
xml.pubDate episode.published_at.rfc2822
xml.enclosure({:url => @domainname + episode.url + ".mp3", :length => episode.filesize, :type => "audio/mpeg"})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String Interpolationを使いたいと思いました。
"#{@domainname}#{episode.url}.mp3"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レビューありがとうございます! ここまでの指摘は一通り対応しました 😆 ✅ cc/ @odlovesq
0053ba5

@yasulab
Copy link
Member

yasulab commented Mar 29, 2019

こちら今日中にマージしちゃいたいので、僕の方で指摘点を対応して、さらに修正対応が必要であれば別途リファクタリングする方向で調整してみますね 🔧💨 ✨

xml.language "ja"
xml.itunes :category, :text => "Technology" do
xml.itunes :category, :text => "Software How-To"
xml.itunes :category, :text => "Podcasting"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

サブカテゴリの追加の仕方ってこれであってるのかな 🤔💭 ちょっと確認してみよ 👀 💨

カテゴリ: Technology
サブカテゴリ: Software How-To, Podcasting

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

まぁひとまず検証してどんなデータが出てくるか試してみるのが早そうかな ✅

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

問題なさそう 😊 ✅

image

@yasulab
Copy link
Member

yasulab commented Mar 29, 2019

一旦マージして、テスト&検証していきますね 🔧 💨 ✅
PR & Review ありがとうございました...!! (>人< )✨

@yasulab yasulab merged commit c02755a into master Mar 29, 2019
@yasulab yasulab deleted the rss_feeds branch March 29, 2019 07:19
@yasulab
Copy link
Member

yasulab commented Mar 29, 2019

こちら先ほど Submit しました! 📮 🏃💨 対応ありがとうございます...!! (>人< )✨

image

Podcast Connect

@odlovesq
Copy link
Contributor Author

確認遅くなりました!
諸々対応ありがとうございます。 🙇‍♀️

@yasulab
Copy link
Member

yasulab commented Apr 2, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants