Hugo 0.42 からSpeaker Deck貼付はshortcodeではなくembed codeを使う

tldr: Hugo 0.42 以降でSpeaker Deckのスライドを貼り付けるときはSpeaker Deckのembed codeを使いましょう。


ある日hugo serverが実行できなくなった

Hugoのバージョンを上げてこのblogの原稿を開いたらこんなエラーが発生してしまった。
この記事のSpeaker Deck shortcodeが問題あるらしい。

$ hugo server -D
Building sites … ERROR 2018/08/19 16:32:45 Unable to locate template for shortcode "speakerdeck" in page "posts/2018.05/td-tech-talk-2018.ja.md"
Total in 264 ms
Error: Error building site: logged 1 error(s)

どうやらHugoからSpeaker Deckのshortcodeが取り除かれた模様。
4:316:9 のスライドをうまく扱うのが困難とのこと。
(正直、shortcodeのパラメタでアスペクト比指定させてくれればと思わなくもないが)
Remove the Speaker Deck shortcode from Hugo · Issue #4830 · gohugoio/hugo

この変更は v0.42 でリリースされている。

Release v0.42 · gohugoio/hugo

Notes The speakerdeck shortcode is removed. It didn’t work properly, so is isn’t expected to be in wide use. If you use it, you will get a build error. You will either have to remove its usage or add a speakerdeck shortcode to your own project or theme.

ではどうすればよいのか?

Speaker Deckのスライドからembed codeを取得できる。
shortcodeではなくこれを貼り付ければよい。

diffはこんな感じ。
(テキストで書くとhugoがerrorにしてくれているので画像で貼っている)