2018年5月24日木曜日

ゲスト一覧ページ、ゲストが登場したエピソード検索、文字列によるエピソード検索機能を追加しました

概要

Podcast 用のページに 3 つほど機能を追加したので紹介します

環境

  • Ruby 2.4.1p111
  • Sinatra 2.0.1
  • jQuery 3.3.1

ゲスト一覧ページ

これまで参加していただいたゲストの一覧ページが確認できるようになりました

podcast_new_functions1.png

あまりいけてない実装なのですがページにアクセスするごとに Twitter API と Github API をコールしています
メタ情報が更新されること考慮した対応なのですが、そのせいで若干ページの読み込みに時間がかかります
またアクセスしすぎると Rate Limiting に引っかかる可能性もあるので頻発するようならデータをキャッシュしてそれを表示するような仕組みに変更します

ゲストが登場したエピソード検索

先ほどのゲストの一覧ページに Search episodes というリンクがあります
例えば kakakikikeke の場合以下のように参加したエピソードの一覧が表示されます

podcast_new_functions2.png

「あの人が出たエピソードどれだっけな」という場合に使える機能かなと思います
URL でアクセスすることもできるのでゲスト名がわかれば直接 URL でアクセスして確認することもできます

文字列によるエピソード検索機能

エピソードの一覧ページに検索バーを設置しました
ここに自然言語を入れてもらうとエピソードの一覧を検索できます

podcast_new_functions3.png

現在はページ内で見えている自然言語のみに対応しています
サーバサイドに問い合わせて検索しているわけではなく jQuery の filter 機能を使って DOM の制御をしているだけです
もしエピソードの内で登場した内容や言葉で検索したいというケースが出てきた場合には、そういった機能も今後追加しようかなと思っています

最後に

自分のページはレスポンシブデザインに対応しているはずなのでスマホでも良い感じに使えると思います
機能の要望などがあれば Twitter またはブログのコメントなどでご連絡ください

なお本機能はサイトのみの提供になるので Podcast アプリなどでは使えません
サイトで聞いていただく場合にご利用いただければと思います

0 件のコメント:

コメントを投稿