日記のテーマ変更
この日記のテーマ(デザイン)を変更した。デフォルトの minima というテーマから daattali/beautiful-jekyll に変更した。
変更した理由は、jekyll-remote-theme が GitHub 上のビルドでもちゃんと機能するかどうかを確認するためだ。ただの確認なので元に戻しても良かったが、せっかくなのでしばらくは変更したテーマで運用することにする。
ではなぜ jekyll-remote-theme の動作確認をしたのかというと、ようやく日記のデザインを移植しようと思ったからだ。
この日記を立ち上げる前から、デザインは旧日記サイトのものを引き継ごうと思っていた。それくらい愛着があるからだ。
しかし、ただ移植するだけと言っても一筋縄ではいかない。旧日記サイトは Rails 製だから、view に erb が使われていたり、もちろん動的サイトなので Ruby や Rails の処理が入っていたりする。
それを、この日記の Jekyll のテーマに仕立てる必要があるので、いろいろと修正を加えなければならない。
そして、Ruby や Rails で処理している部分は、Jekyll で動作させることができるのかも怪しい。なにせ、Jekyll は静的サイトジェネレーターだから、動的サイトのような処理を入れることはできないのだ。
ともあれ、まずは他者製(GitHub じゃない人たちが作った)の Jekyll テーマが GitHub 上のビルドで動かないことには意味がないので、それを確認するためにテーマを変えたというわけだ。
これでとりあえず、Jekyll で作れる範囲なら、GitHub 上でもビルドしてくれるということがわかった。プラグインは GitHub が認めたものじゃないと機能しないが、テーマはその制限がないということがわかってよかった。
jekyll-theme-diary
さっきの続きになるが、旧日記サイトのデザインを引き継ぐ Jekyll のテーマとして、jekyll-theme-diary という名前のテーマを作った。作ったといってもテンプレートから生成して軽く整形しただけだから、まだ何も表示されないテーマになっている。
https://github.com/noraworld/jekyll-theme-diary
じつは jekyll-theme-diary と検索するとすでに同名のテーマが GitHub 上で存在するのだが、幸いなことに RubyGems.org ではこの名前は取られていないので、誰かに取られる前に取ってしまおうということで、全く機能しないが、バージョン 0.0.0 ということでリリースした。これはただ名前空間を抑えるためだけのリリースだ。
これからデザインを移植していく。方針としては、まず旧日記サイトの view と assets を Jekyll のテーマに合う形で丸々コピーして、そこから erb の制御構文を Jekyll のルールに沿って変更して行く作業になるだろう。
週ごとのカレンダー形式の view を、Jekyll でどうやって作るんだろう。日付を 7 で割ったあまりでループする、とかできない気もするし……。まあわからないけど旧日記サイトのデザインを引き継ぐってことはもう決めたので、あとはなんとかしよう。
競プロ
今日はモノグサという企業主催のコンテストの問題を解いた。今回は 3 問正解することができた。得点を得るという意味では 3 問正解できたのは今回が初めてかもしれない。今までも、3 問解くことができたことはあったが、TLE で正解にはならなかった。
ただ、ビギナークラスのコンテストで、2 問目でかなり苦戦していたので、まだまだ修行が必要だなと思った。ちなみに 2 問目は、ピザに複数回切れ込みを入れたとき、ピースの最大角を求めるというもの。
Bitbucket への久々のログインで苦労した
Atlassian からセキュリティを強化したというメールが来た。これにより、2 段階認証を突破できなくなったときに、パスワードなどから復元できないから、ちゃんとリカバリーコードを控えておいてね、という内容だった。
ぜんぜんログインしていなかったが、いざというときにアカウントロックされると困るので、念のためログインしてみることにした。
すると、2 段階認証を 1 度、突破したあと、もう一度 2 段階認証の画面が出てきた。その 2 回目の 2 段階認証がなぜか突破できなかった。
よくわからんのでログインできないというリンクにアクセスしたら、24 時間待てば解除用のメールを送るよと言われたので、それをリクエストでしばらく放置した。
しかし、やっぱりなんか気がかりで、もう一度よく 1Password の Bitbucket のアイテムを見てみると、なんと 2 段階認証のコードが 2 つ設定されていることに気づいた。片方が Bitbucket 用で、もう片方が Atlassian だった。
たしかに思い返せば、最初の 2 段階認証の画面は Atlassian で、そのあとに出てきたのは Bitbucket の画面だった。つまり、それぞれのサービスで 2 段階認証を連続で要求されたが、両方とも Atlassian 側の 2 段階認証コードを使ってしまったので突破できなかったというわけだ。
いやー、非常に紛らわしい。まず Atlassian と Bitbucket のアカウントがごちゃごちゃになっていて、パスワードは共通のものになっている(自分がそうしているのではなく、Atlassian と Bitbucket で共通のパスワードを使う仕様になっているものと思われる)のに、2 段階認証だけ別々で、Bitbucket にログインするときは両方のコードが要求されるからややこしい。なんでこんなことになっているんだ。
そして 1Password は 1Password で、macOS のアプリ版の UI がなんかちょっとおかしくて、2 つの 2 段階認証コードを同じセクションにまとめておいても、そのうちの上にある 1 つが、勝手に ID やパスワードと同じセクション側に表示されてしまうのだ。そのせいで 2 段階認証コードは一つしかないと勘違いしてしまった。スクロールすればもう一つのコードが出てくるが、この UI だと下にもう一つあるなんて気づかない。覚えていれば良いが、しばらくログインしてないんだからこんなもの忘れる。iOS アプリ版はちゃんと同じセクションにまとめて表示されるのに。
Atlassian & Bitbucket の仕様と、1Password の UI の悪さが重なってログインできないことに最初は気が付かなかった。勘弁してほしい。
Netflix のネットワーク制限
そういえば、金曜日のみ YouTube などが見られるようにネットワーク制限をかけて、今日がその制限下での初日となるわけだが、Netflix はまだ制限をかけるのを忘れていた。それで競プロが終わったあと、ついつい Netflix で結婚できない男をダラダラ見てしまった。
Netflix も制限かけないとな。
ちなみに、YouTube や Netflix をダラダラと見始めてしまうと、そのあと日記を書くのがだるくなってしまう。現にこの日記も翌日 6 日の昼に書いている。金曜日も、見る前に必ず日記を書いておくべきだなと思った。
あ、それと、先月 Netflix に初めて入会してみたんだけど、それ日記に書くの忘れてた。
Netflix に対応した、コンテンツで言語学習するブラウザ拡張機能があって、それを使って英語と日本語の両方の字幕をつけて英語の勉強をしようかなと思っていたけど、結局、日本語と英語の両方に対応している映画やアニメ、ドラマって結構限られているなということがわかった。そしてだいたいそれらは Amazon Prime Video にも字幕版があるし。ポケモンの英語音声を聞きたかったんだけど、IP アドレスが日本だからそういうことはできないようになってるっぽい。VPN 使えばいけるみたいだけど、だったら別に Netflix じゃなくても良いのかなと思って。
それでなんか熱が冷めちゃって、別に Netflix 契約しなくて良いやっていう気持ちになった。ふつうにコンテンツを楽しむ分には、別に Amazon Prime Video で良いし。もう少ししたら解約しよう。短い付き合いだったね。