「1日1ニコ関連」の版間の差分
ナビゲーションに移動
検索に移動
Ippei Suzuki (トーク | 投稿記録) 編集の要約なし |
Ippei Suzuki (トーク | 投稿記録) 編集の要約なし |
||
| 4行目: | 4行目: | ||
# 投稿フォーム | # 投稿フォーム | ||
# タグ検索RSSの拡張 | # タグ検索RSSの拡張 | ||
# ニコニコ静画用RSS | |||
2019年7月17日 (水) 09:12時点における版
機能一覧
- WordPressを利用したブログ
- 投稿フォーム
- タグ検索RSSの拡張
- ニコニコ静画用RSS
投稿フォーム仕様
- 必要事項を入力してVue経由でAPIにPOST送信
- 見出しを付ける(ジャンルがh2、動画シリーズ名などがh3)
- 1番目の動画のサムネイルを取得、画像データを読み取り
- サムネイルをメディアファイルとしてアップロード、IDを取得
- 投稿データをREST APIに送信
- 送信が正常に完了したら、WordPressの投稿一覧ページを開く
旧サイトデータのコンバート
手順
- MovableTypeからエクスポート
- エクスポートしたデータをローカルで変換
- WordPressのテストデータを削除
- WordPressにインポート
1件でテストしたあと全体を実行
変更点
- 見出し h3 を h2 に変更 → テキストエディタだけで完了
- 見出し h4 を h3 に変更
- 独自の動画サムネイルを公式動画プレイヤーに切り替え
- カテゴリーを変更 → テキストエディタだけで完了
- 一般 → 動画紹介
- 東方 → 動画紹介(東方)
- この動画がすごい! → この動画がすごい!
- MMD杯 → 動画紹介(MMD杯)
- 東方ニコ童祭 → 動画紹介(東方)
- 考察 → その他
- about → その他
- Vocaloid → 動画紹介(Vocaloid)
- 旧タグは全て削除 → テキストエディタだけで完了
本文を解析して新しくタグを付ける→ データの順番が逆なので不可能。諦める。- 目次は削除
問題点
- キーワードをタグとして読み込んでしまう
- scriptタグが読み込まれない
- インポート時に504エラーになる問題は大丈夫、バックグラウンドでは動いてる
ページの切り替え
- vhosts設定を追加
- WordPressのドメインを変更
Route53で「1ni.co」をCNAMEレコードに切り替え
サブドメイン無しのレコードにCNAMEは設定できない。 代わりにAレコードでエイリアスを選び、エイリアス先にCloudFrontを選んでやればOK。
RSS関連
独自のRSS拡張。
- タグ検索
- ニコニコ静画
元のドメイン直下には設置できない(設定が面倒くさい)ので、以下のような感じにして設置する。
旧URLからはリダイレクトさせる方向で
WordPressのタグのフィード配信がおなじURLで行われているのでリダイレクトは諦め。どうせ使ってるの僕だけだろうし良いでしょ。
(旧サイト)各パーツの定義
最近注目されている動画
- 毎時ランキング1位から100位を毎時取得して「nico_hourly_ranking」に格納
- 「nico_hourly_ranking」の直近72時間のデータを再生数順に50件取得
- そのうち10件を表示
新サイトでの対応
- 毎時ランキングをそのまま表示するように変更
- 「nico_hourly_ranking」の維持が重すぎる。2019/07/07時点でレコード数が1,200万件を超えている。
- 表示させてみて面白くないようであれば、アニメチャンネルの動画をスキップするとか何か考える
デイリーランキング
- カテゴリーランキングを取得
- サムネイルの抽出など加工を行う
- 削除済みを除く
- 10件を表示
新サイトでの対応
- カテゴリーごとに注目されている動画は欲しい
- リニューアルでRSSのURLが変わっている or RSSが無くなっていると思われるので調整する
以下のAPIでデータが取得出来るので、それを加工して表示する
- http://api.ce.nicovideo.jp/nicoapi/v1/video.ranking?type=view&span=daily&genre=cooking
- http://api.ce.nicovideo.jp/nicoapi/v1/video.ranking?type=view&span=daily&genre=toho
- http://api.ce.nicovideo.jp/nicoapi/v1/video.ranking?type=view&span=daily&genre=anime
- http://api.ce.nicovideo.jp/nicoapi/v1/video.ranking?type=view&span=daily&genre=nature
リスト表示するページをLaravel+Vueで構成して、iframeで表示すれば解決する。
各記事上部のサムネイル
- 動画投稿時に生成
新サイトでの対応
- 記事から自動生成するようにしたい
- 最初の動画のサムネイルを指定したい
- ニコニコ動画APIからサムネイルを取得してメディアライブラリに登録
- メディアライブラリに登録した画像をアイキャッチとして登録
これらをプログラムで処理出来るだろうか?
各記事上部の目次
- 動画投稿時に生成
新サイトでの対応
- 記事から自動生成するようにしたい → WordPressの(というかテンプレートの)機能で出来る
動画がいつ紹介されたかを表示する機能
もともとは1ニコ独自の動画単独ページだったが、現在は使用していない。 ただそこにある「この動画が1ニコで紹介されたのはいつか」という情報が非常に有用なので、それだけは移行したい。
仕組みは以下の通り。
- 動画IDでMovableTypeのDBを検索
- エントリが見つかったらそのエントリを表示
かつては専用のテーブルを用意していたが、これも維持が重すぎるし更新が難しいので止めた。現在の仕組みでも十分快適に表示出来るし、DB構造に合わせれば移行も出来そう。
新サイトでの対応
- WordPress用DBに合わせて処理を変更する
記事内での動画表示
動画投稿時に「動画情報とサムネイル埋め込みコード」から動画IDを抽出 専用サムネイルのHTMLタグに変換して記事投稿
<iframe width="600" scrolling="no" height="170" frameborder="0" class="nicoSummary" src="/summary/sm16219482">sm16219482</iframe>
新サイトでの対応
専用のサムネイルページを用意するのは手間だけど、同様の手順で良いと思う。- 公式のコードに従ってプレイヤーを設定する
Amazonの商品表示
nplllで使用しているコードをそのまま1ニコでも使用
新サイトでの対応
- むしろnplllのものをそのまま使えば良いのではないだろうか。今のものも差し替えられる。
- カスタムデータを作ってどうこうとすると面倒くさいので、止めて、本文中にそのまま貼り付ける方向で。
投稿フォーム
新サイトでの対応
- 極力投稿時に行うことをなくしていく方向で。
もし完全に無くせるのなら、投稿フォームそのものが不要になる。 - サムネイルを表示しないといけないので、なくすことはできない。