2018

Hugoで日記を書くための自動化

先日の日記に書いたように、BitBucketに日記をPUSHするとゴニョゴニョしてGitHub Pagesで公開されるという仕組みが完成した。

日記を一日分追加すると、その日の日記ページのHTMLができる。のみならず、トップページに直近5日分の日記が載っているのでそこも再生成。すると日記が一日分後ろに押し出されて、ページネーション(次のページ)があるのでその後ろのページ全部が再生成させる。また日記につけたタグから、そのタグのリストページも再生成される。結果、数百のファイルが再生成される。うわーお、無駄が多い。でもなぁ、日記を一日分ずつ読み込むのもちょっと馬鹿馬鹿しい。まあそれはともかく、自動的にhtmlは作れるようになった。

では次は日記を新規作成するところだ。コマンドラインから Hugo new ファイル名 でページのひな形が書き込まれたMarkdownファイルが完成する。これは楽チン……、と思いたいところだがもっと楽にしたい。

Automatorを使って、例えば以下のような感じのシェルスクリプトをアプリ化(というかアイコン化)して、ボタン一発で今日の日記を作ってエディタを開く。

cd 'Hugoの作業ディレクトリ'

# この例では年別にファイルを格納したいので、post/YYYYディレクトリを作成している
targetYear=`date +"%Y"`
mkdir -p $targetYear

# 日付からファイル名を生成する。この例では post/YYYY/YYYY-MM-DD.mfd
targetDate=`date +"%Y-%m-%d"`
targetFile="post/$targetYear/$targetDate.md"

# 当該ファイルがなければ新規作成
if [ ! -e "content/$targetFile" ]; then
  /usr/local/bin/hugo new $targetFile
fi

# この例ではアプリを指定せずにファイルを開く
open "content/$targetFile"

これで、日記を書くところまでアイコンクリック一回でだけで進められる。

本当は、日記を書き終えたあともcommitとpushをアイコンクリック一回でやりたいが、エラー処理とか連打時の動作とか考えるとちょっと面倒そうなので、いったんここまでとして、今日記を書いているこのファイルをこのあと手動でcommitしてpushすることにする。

……コミット時のメッセージが日本語だとうまく動かない?


GitHub Pagesにお引っ越し

WordPressでこの日記をリニューアルすると以前書いたが、色々と考えてみた結果GitHub Pagesに引っ越した。

というのも、CPUパワーがどうのとか考えてみるに、この日記に動的な部分なんぞほとんどないので静的HTMLジェネレータで十分じゃないかと思い至り。

しかもどんなツールで日記を書くとしても、今どきはMarkdown方式で書きたいわけで。Markdownが使えて、静的なHTMLが書き出せるものということで、Hugoを選択した。

現在、この日記のソースコードがあるBitBucketから、自動生成されたものだけをGitHubにpushする。という実験中。

うまくいったら、もう少し細かく手順をまとめるかも知れないし、まあググれば分かるかもしれないから書かないかも知れないし。

引っ越した理由のもう一つはサイトのSSL化を実現するため。前のサイトでもできたのだが、GitHub PagesはSSLの発行も自動化されているという至れり尽くせり。Let’s Encryptは素晴らしい。寄附しちゃった。


Macの音声入力で日記を書くテスト

流行に乗っかって、この文章マックの音声入力で書いてみている。新しい行新しい行

この文章ハ3回目。久々に変なシャベリカタをしていてキモチ悪い。人間サマが、マックに合わせて、喋り方を変えてやっている。なんて親切だ。

音声入力でプログラムを書くには、それなりの設定とそれなりの訓練が必要そう。ダイタイにして、日本語と英語をごちゃまぜにしゃべっているのはよくない。いふへ留守番。ほらね、まくいかない。

あと、自分の妄想お口に出してイルのが、かなり恥ずかしい。うまく変換されないので、さらに文章が恥ずかしい。

シャベルのが疲れてきた。うん、照れるったほうが早いような気がする。そんなに発音悪いのかなあ。それともマイクが遠いのかな。それともしゃべる速度がマックに会っていないのかな。マックがカタカナになるの気持ち悪い。マクドと区別がつかない。

文章を書きながら、書き直したいなと何度も思うのに、音声入力を止めたくないからどんどんおかしな文章が出来上がっていく。Backspaceがほしい。あるのかな。なんでバックスペースちゃんと英語になるのはてな?新しい行

酸素が足りない。喋るの飽きた。おしまい。おしマイケル。


Intel ME FWを自己責任でアップデートした

もう二か月以上も前の話題なのだが、インテル® マネジメント・エンジンの重要なファームウェア・アップデート (Intel-SA-00086)という事案があって。今ググったら、初報は去年の11月だった、えらい前の話で恐縮でございます。要するに、IntelのCPUにセキュリティ上の問題がみつかったのでマザーボードの会社のサイトから配布されるIntel ME(Management Engine)のFW(ファームウェア)アップデートをやってくれ、ということだった。

というわけで、使用しているMSI社のH170 GAMING M3について、BIOSのアップデートがあるものだと思ってぼぉーっと二か月も待っていたのだが、新しい世代のマザーボードについてはアナウンスがあったがH170チップセット系のマザーボードについては一向に該当のアップデートが来る気配がない。もはやH170なんて過去のものだ、そんなものに貴重な開発リソースを割くことはできない、と。世間の風は冷たい。

メーカーがやってくれないなら、自己責任で対策すればいいじゃない。

というわけで、自己責任でIntel ME FWを広大なネットの海のどこからか拾ってきて適用した。参考にさせていただいたのは、こちらです。(i7 8700KのIntel ME FWを、MSI Z370 Tomahawkからアップデートしてみた~Intel H170/H270/Z170/Z270/Z370シリーズのIntel MEファームウェアを更新する方法~: ログヲーク ~仮想通貨や日々思ったことの日記~)。

自作PCブームの初期の頃は、ハードウェアのパッケージに付属しているドライバ類はバージョンが古いので、最新のドライバをネットで探してくるのは当たり前の作業だった。その際に、販売元(海外メーカーの日本代理店)のWebサイトは情報が古かったりメンテナンスされていないことが多かったので、製造元や場合によっては使用されているチップのメーカーのサイトからダウンロードしてきたりした。更には同じメーカーの別のチップのドライバを設定ファイルをちょっといじって強引に突っ込んだりした。ただし、結構な確率でOSが立ち上がらなくなる。それでも、壊れてもいいからやってみようと思えば、案外いろんなことができる。

そんな感じで、要はIntel ME FWをどこから見つけてくるか、なのだが、上記の記事を参考にして、Intel Management Engine (ME / AMT) Firmware Version 11.8.50.3434 (S & H) (5MB)を適用することにした。このstation-drivers.comが安全なサイトかどうか確信は持てない、というあたりが自己責任な部分で、今回のケースではあとは「最新のマザーボードに買い直す」くらいしか選択肢がないからまあいいかな、と。

無事ファームウェアをアップデートして、Intelのサイトにある「intel-sa-00086 検出ツール」で対策完了を確認。終わり。


2017年に観た映画について

この日記をWordPressに移行しようと思って、どうせやるならデザイン変えようと思って、そう思っていたらなんと年を越していた。壮大な「やるやる詐欺」に自分がハマっている。毎年春先には開店休業状態になるので、その頃にWordPressに引っ越すことにしよう。そうしよう。

というわけで、とりあえず今年も一年間で観た映画の記録をまとめた。例によってランキング風ではあるが厳密では無いし、そもそも今思い返してみて「ああ、もう一度観てみたいなぁ」と思ったかどうかのランキングなので。良かったかどうかとは微妙に違うかも知れない。

もう一度観たい映画2017