「RSSを取得し加工・出力を行うアプリケーション」の版間の差分
Ippei Suzuki (トーク | 投稿記録) 編集の要約なし |
Ippei Suzuki (トーク | 投稿記録) 細 Ippei Suzuki がページ「RSS関連アプリケーション」を「RSSを取得し加工・出力を行うアプリケーション」に移動しました |
||
| (同じ利用者による、間の6版が非表示) | |||
| 33行目: | 33行目: | ||
という順番になる。つまりRSSフィードを作る機能、かつて「DIY RSS」と呼んでいた機能が必要になる。マジか。まあTumblr API関連はあとでumblsにもコピーして使うので、実装しておいて損は無いが。 | という順番になる。つまりRSSフィードを作る機能、かつて「DIY RSS」と呼んでいた機能が必要になる。マジか。まあTumblr API関連はあとでumblsにもコピーして使うので、実装しておいて損は無いが。 | ||
→ と思ったけど、これならもう最初からumblsの実装をしてしまった方が良くない? | |||
== まとめ == | === まとめ === | ||
* はてなブックマークのRSSフィードを取得して一覧表示する | * はてなブックマークのRSSフィードを取得して一覧表示する | ||
* FlickrまたはTumblrのRSSフィードを取得してスライドショー表示する | * FlickrまたはTumblrのRSSフィードを取得してスライドショー表示する | ||
| 42行目: | 43行目: | ||
** Tumblr APIを叩いてenclosure込みのフィードを書き出す | ** Tumblr APIを叩いてenclosure込みのフィードを書き出す | ||
* 1日1ニコのRSSフィードを取得して表示する | * 1日1ニコのRSSフィードを取得して表示する | ||
** | ** 未定。リスト表示だけなら特になし | ||
== 実装 == | |||
=== LaravelでRSSフィードを取得してJSONで出力(API) === | |||
Awjudd\FeedReaderを通してSimplePieを使うことでRSSデータをバージョンを意識せずに取得する。 | |||
さらにその中から必要な情報だけを抜き出して配列化し、JSONで返す。 | |||
return array( | |||
'title' => trim($feed->get_title()) | |||
,'permalink' => trim($feed->get_permalink()) | |||
,'description' => trim($feed->get_description()) | |||
,'items' => array( | |||
'id' => trim($item->get_id()) | |||
,'title' => trim($item->get_title()) | |||
,'site_title' => trim($item->get_feed()->get_title()) | |||
,'permalink' => trim($item->get_permalink()) | |||
,'date' => trim($item->get_date('Y-m-d H:i:s')) | |||
,'content' => trim($item->get_content(true)) | |||
,'description' => trim($item->get_description(true)) | |||
,'enclosure' => $item->get_enclosure() | |||
,'categories' => $categories | |||
) | |||
); | |||
=== Vue.jsでJSONを読み込んで任意の形で出力 === | |||
想定される出力形式は以下の通り | |||
* シンプルなリスト形式 | |||
* 横並びのサムネイル形式 | |||
* スライドショー形式(BootstrapVueのカルーセルを使うと便利そう) | |||
=== LaravelでTumblr APIを叩いて情報を取得する === | |||
==== インストール ==== | |||
$ composer require tumblr/tumblr | |||
$ composer update | |||