「1日1ニコ関連」の版間の差分

提供: NOBODY:PLACE Wiki
ナビゲーションに移動 検索に移動
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
16行目: 16行目:
# サムネイルをメディアファイルとしてアップロード、IDを取得
# サムネイルをメディアファイルとしてアップロード、IDを取得
# 投稿データをREST APIに送信
# 投稿データをREST APIに送信
# 送信が正常に完了したら、WordPressの投稿一覧ページを開く
# 送信が正常に完了したら、WordPressの投稿ページを開く
 
== RSS関連 ==
 
独自のRSS拡張。
 
* タグ検索
* ニコニコ静画
* シリーズ動画
 
元のドメイン直下には設置できない(設定が面倒くさい)ので、以下のような感じにして設置する。
 
* https://rss.1ni.co/tag/昭和師匠
* https://rss.1ni.co/seiga/4567
* https://rss.1ni.co/series/1234
 
<del>旧URLからはリダイレクトさせる方向で</del>
WordPressのタグのフィード配信がおなじURLで行われているのでリダイレクトは諦め。どうせ使ってるの僕だけだろうし良いでしょ。




70行目: 87行目:
サブドメイン無しのレコードにCNAMEは設定できない。
サブドメイン無しのレコードにCNAMEは設定できない。
代わりにAレコードでエイリアスを選び、エイリアス先にCloudFrontを選んでやればOK。
代わりにAレコードでエイリアスを選び、エイリアス先にCloudFrontを選んでやればOK。
== RSS関連 ==
独自のRSS拡張。
* タグ検索
* ニコニコ静画
* シリーズ動画
元のドメイン直下には設置できない(設定が面倒くさい)ので、以下のような感じにして設置する。
* https://rss.1ni.co/tag/昭和師匠
* https://rss.1ni.co/seiga/4567
* https://rss.1ni.co/series/1234
<del>旧URLからはリダイレクトさせる方向で</del>
WordPressのタグのフィード配信がおなじURLで行われているのでリダイレクトは諦め。どうせ使ってるの僕だけだろうし良いでしょ。


== 旧サイトの各種機能と新サイトでの対応について ==
== 旧サイトの各種機能と新サイトでの対応について ==


=== 最近注目されている動画 ===
=== [未] 最近注目されている動画 ===


# 毎時ランキング1位から100位を毎時取得して「nico_hourly_ranking」に格納
# 毎時ランキング1位から100位を毎時取得して「nico_hourly_ranking」に格納
104行目: 103行目:




=== デイリーランキング ===
=== [未] デイリーランキング ===


# カテゴリーランキングを取得
# カテゴリーランキングを取得
125行目: 124行目:
リスト表示するページをLaravel+Vueで構成して、iframeで表示すれば解決する。
リスト表示するページをLaravel+Vueで構成して、iframeで表示すれば解決する。


=== 各記事上部のサムネイル ===
=== [-] 各記事上部のサムネイル ===


* 動画投稿時に生成
* 動画投稿時に生成
138行目: 137行目:
これらをプログラムで処理出来るだろうか?
これらをプログラムで処理出来るだろうか?


=== 各記事上部の目次 ===
→ 目次が自動生成されるようになったので要らないかなと思う
 
=== [✔] 各記事上部の目次 ===


* 動画投稿時に生成
* 動画投稿時に生成
147行目: 148行目:




=== 動画がいつ紹介されたかを表示する機能 ===
=== [✔] 動画がいつ紹介されたかを表示する機能 ===


もともとは1ニコ独自の動画単独ページだったが、現在は使用していない。
もともとは1ニコ独自の動画単独ページだったが、現在は使用していない。
162行目: 163行目:


* WordPress用DBに合わせて処理を変更する
* WordPress用DBに合わせて処理を変更する
→ 以下のURLで紹介履歴が表示出来るようになった。動画プレイヤーも設置。
* https://admin.is1977.com/nico/history/sm23783330




=== 記事内での動画表示 ===
=== [✔] 記事内での動画表示 ===


動画投稿時に「動画情報とサムネイル埋め込みコード」から動画IDを抽出
動画投稿時に「動画情報とサムネイル埋め込みコード」から動画IDを抽出
178行目: 183行目:




=== Amazonの商品表示 ===
=== [✔] Amazonの商品表示 ===


nplllで使用しているコードをそのまま1ニコでも使用
nplllで使用しているコードをそのまま1ニコでも使用
189行目: 194行目:




=== 投稿フォーム ===
=== [✔] 投稿フォーム ===


==== 新サイトでの対応 ====
==== 新サイトでの対応 ====
197行目: 202行目:




=== Twitterへの投稿 ===
=== [✔] Twitterへの投稿 ===


Movable Typeのプラグインで対応していた。
Movable Typeのプラグインで対応していた。
206行目: 211行目:




=== 1nicoのツイートを自動的にRTする ===
=== [✔] 1nicoのツイートを自動的にRTする ===


バッチ処理でツイートを監視し、自動的にRTする
バッチ処理でツイートを監視し、自動的にRTする

2019年7月24日 (水) 15:48時点における最新版

機能一覧

  • WordPressを利用したブログ
  • 投稿フォーム
  • Jetpack by Wordpress.comを利用してTwitter/Facebookページと連携
  • 各種RSS
    • タグ検索RSSの拡張
    • ニコニコ静画用RSS
    • 動画シリーズ用RSS

投稿フォーム仕様

  1. 必要事項を入力してVue経由でAPIにPOST送信
  2. 見出しを付ける(ジャンルがh2、動画シリーズ名などがh3)
  3. 1番目の動画のサムネイルを取得、画像データを読み取り
  4. サムネイルをメディアファイルとしてアップロード、IDを取得
  5. 投稿データをREST APIに送信
  6. 送信が正常に完了したら、WordPressの投稿ページを開く

RSS関連

独自のRSS拡張。

  • タグ検索
  • ニコニコ静画
  • シリーズ動画

元のドメイン直下には設置できない(設定が面倒くさい)ので、以下のような感じにして設置する。

旧URLからはリダイレクトさせる方向で WordPressのタグのフィード配信がおなじURLで行われているのでリダイレクトは諦め。どうせ使ってるの僕だけだろうし良いでしょ。


旧サイトデータのコンバート

手順

  1. MovableTypeからエクスポート
  2. エクスポートしたデータをローカルで変換
  3. WordPressのテストデータを削除
  4. WordPressにインポート

1件でテストしたあと全体を実行

変更点

  1. 見出し h3 を h2 に変更 → テキストエディタだけで完了
  2. 見出し h4 を h3 に変更
  3. 独自の動画サムネイルを公式動画プレイヤーに切り替え
  4. カテゴリーを変更 → テキストエディタだけで完了
    1. 一般 → 動画紹介
    2. 東方 → 動画紹介(東方)
    3. この動画がすごい! → この動画がすごい!
    4. MMD杯 → 動画紹介(MMD杯)
    5. 東方ニコ童祭 → 動画紹介(東方)
    6. 考察 → その他
    7. about → その他
    8. Vocaloid → 動画紹介(Vocaloid)
  5. 旧タグは全て削除 → テキストエディタだけで完了
  6. 本文を解析して新しくタグを付ける → データの順番が逆なので不可能。諦める。
  7. 目次は削除 → テキストエディタだけで完了

問題点

  • キーワードをタグとして読み込んでしまう
  • scriptタグが読み込まれない
  • インポート時に504エラーになる問題は大丈夫、バックグラウンドでは動いてる

実施結果

  1. テキストエディタで可能な変更点についてはインポート前に実施
  2. scriptタグが読み込まれない問題はfunctions.phpで設定を上書きすることで解決
  3. タグの問題は、キーワードのタグを削除した上でインポート、インポート完了後に本文を解析して見出し h2 をタグとして追加
  4. インポート完了後に本文を解析して最初の動画のサムネイルをアイキャッチ画像として登録
  5. その他、細かい点の調整

ページの切り替え

  1. vhosts設定を追加
  2. WordPressのドメインを変更
  3. Route53で「1ni.co」をCNAMEレコードに切り替え

サブドメイン無しのレコードにCNAMEは設定できない。 代わりにAレコードでエイリアスを選び、エイリアス先にCloudFrontを選んでやればOK。

旧サイトの各種機能と新サイトでの対応について

[未] 最近注目されている動画

  1. 毎時ランキング1位から100位を毎時取得して「nico_hourly_ranking」に格納
  2. 「nico_hourly_ranking」の直近72時間のデータを再生数順に50件取得
  3. そのうち10件を表示

新サイトでの対応

  • 毎時ランキングをそのまま表示するように変更
  • 「nico_hourly_ranking」の維持が重すぎる。2019/07/07時点でレコード数が1,200万件を超えている。
  • 表示させてみて面白くないようであれば、アニメチャンネルの動画をスキップするとか何か考える


[未] デイリーランキング

  1. カテゴリーランキングを取得
  2. サムネイルの抽出など加工を行う
  3. 削除済みを除く
  4. 10件を表示

新サイトでの対応

  • カテゴリーごとに注目されている動画は欲しい
  • リニューアルでRSSのURLが変わっている or RSSが無くなっていると思われるので調整する

以下のAPIでデータが取得出来るので、それを加工して表示する

リスト表示するページをLaravel+Vueで構成して、iframeで表示すれば解決する。

[-] 各記事上部のサムネイル

  • 動画投稿時に生成

新サイトでの対応

  • 記事から自動生成するようにしたい
  • 最初の動画のサムネイルを指定したい
    • ニコニコ動画APIからサムネイルを取得してメディアライブラリに登録
    • メディアライブラリに登録した画像をアイキャッチとして登録

これらをプログラムで処理出来るだろうか?

→ 目次が自動生成されるようになったので要らないかなと思う

[✔] 各記事上部の目次

  • 動画投稿時に生成

新サイトでの対応

  • 記事から自動生成するようにしたい → WordPressの(というかテンプレートの)機能で出来る


[✔] 動画がいつ紹介されたかを表示する機能

もともとは1ニコ独自の動画単独ページだったが、現在は使用していない。 ただそこにある「この動画が1ニコで紹介されたのはいつか」という情報が非常に有用なので、それだけは移行したい。

仕組みは以下の通り。

  1. 動画IDでMovableTypeのDBを検索
  2. エントリが見つかったらそのエントリを表示

かつては専用のテーブルを用意していたが、これも維持が重すぎるし更新が難しいので止めた。現在の仕組みでも十分快適に表示出来るし、DB構造に合わせれば移行も出来そう。

新サイトでの対応

  • WordPress用DBに合わせて処理を変更する

→ 以下のURLで紹介履歴が表示出来るようになった。動画プレイヤーも設置。


[✔] 記事内での動画表示

動画投稿時に「動画情報とサムネイル埋め込みコード」から動画IDを抽出 専用サムネイルのHTMLタグに変換して記事投稿

<iframe width="600" scrolling="no" height="170" frameborder="0" class="nicoSummary" src="/summary/sm16219482">sm16219482</iframe>

新サイトでの対応

  • 専用のサムネイルページを用意するのは手間だけど、同様の手順で良いと思う。
  • 公式のコードに従ってプレイヤーを設定する


[✔] Amazonの商品表示

nplllで使用しているコードをそのまま1ニコでも使用

新サイトでの対応

  • むしろnplllのものをそのまま使えば良いのではないだろうか。今のものも差し替えられる。
  • カスタムデータを作ってどうこうとすると面倒くさいので、止めて、本文中にそのまま貼り付ける方向で。


[✔] 投稿フォーム

新サイトでの対応

  • 極力投稿時に行うことをなくしていく方向で。もし完全に無くせるのなら、投稿フォームそのものが不要になる。
  • サムネイルを表示しないといけないので、なくすことはできない。


[✔] Twitterへの投稿

Movable Typeのプラグインで対応していた。

新サイトでの対応

  • WordPressのプラグインで対応する


[✔] 1nicoのツイートを自動的にRTする

バッチ処理でツイートを監視し、自動的にRTする

新サイトでの対応

  • is1977.comのバッチで対応する