deckのアップデート https://t.co/ZCa8E5O975 からかなりあるんだけど、筆が鉛みたいに重い
— k1LoW (@k1LoW) 2025年7月8日
言いたいことはたくさんあるような気がするのですが、まずはアップデート報告です。
deckはv1に到達しました!!!!!
v1.0.0 Released !!...!..!!!!! https://t.co/hEWM4xDkPf
— k1LoW (@k1LoW) 2025年7月21日
このv1について言いたいことはこちらです。
私が思い描いていたかつてのv1と違う、今回のv1になったのは @songmu さんのおかげです!!
— k1LoW (@k1LoW) 2025年7月21日
ありがとうございます!!
id:Songmu さん*1、ありがとうございました!!楽しかったです!
v1 までのアップデート
では、前回のエントリからの機能追加について紹介していきたいと思います。あまりに溜めすぎたため、Claude Codeの力を借りています。
へー deck 便利じゃん。watchモードとかいい感じ。
— k1LoW (@k1LoW) 2025年7月22日
( 実はv0.14.0 くらいからスライドを作ることがなくてまともに使っていない )
画像・メディア関連機能
画像埋め込みサポート (v0.23.0)
Markdownの画像埋め込みに対応しました。画像をGoogle Drive経由でアップロードしてそれをGoogle Slidesで使用しています。

コードブロックの画像変換 (v0.24.0)
コードブロックを自動的に画像に変換するための外部コマンドサポート機能を追加しました。 コードブロックを外部コマンド経由で画像化してそれをアップロードする機能ですね。
# Mermaidの画像を追加したり
$ deck apply -c 'mmdc -i - -o {{output}} --quiet' -i xxxxxXXXXxxxxxXXXXxxxxxxxxxx deck.md
# シンタックスハイライト付きのコード画像にしたり
$ deck apply -c 'silicon -l {{lang == "" ? "md" : lang}} -o {{output}}' -i xxxxxXXXXxxxxxXXXXxxxxxxxxxx deck.md
画像プレースホルダーサポート (v0.43.0) by id:Songmu
画像はコードブロックを含めて、単純にプレゼンテーションページにアップロードするだけだったのですが。 レイアウト内に画像プレースホルダがある場合はそれを使用するようになっています。
画像アップロード効率化 (v1.0.0) by id:Songmu
画像アップロードも当初と比べるとかなり効率化されています。 v1.0.0の改善では画像アップロードが約15%高速化されました。
Markdown拡張機能
YAMLフロントマターサポート (v0.31.0) by id:Songmu
Markdownファイルの先頭にYAMLフロントマターを記述できるようになりました。
--- presentationID: xxxxxXXXXxxxxxXXXXxxxxxxxxxx title: Talk about deck --- # First Slide Content...
現在
- タイトル(
title) - プレゼンテーションID(
presentationID) - 改行設定(
breaks) - 条件付きデフォルト適用設定(
defaults)
に対応しています。
オートリンクサポート (v0.32.0) by id:Songmu
角括弧で囲んだURLが自動的にリンクになります。
詳細は <https://example.com> を参照してください。
ブロッククォートサポート (v0.40.0)
ブロッククォートを独立したShapeでGoogle Slidesに追加することができるようになりました。そしてそのブロッククォートのShapeには style レイアウト経由でスタイリングできます。
> これは引用文です。 > 複数行にまたがることもできます。
ハードラインブレークサポート (v0.41.0) by id:Songmu
行末のスペース2つでの改行が可能になりました。ここらへんはCommonMarkに準拠していく流れの1つで、他にも細かく調整が入っています。
ちなみに、フロントマターに break:true を記述するとMarkdown内の行末改行がそのまま改行になります。
HTML要素スタイリング (v0.42.0) by id:Songmu
HTML要素を使用したインラインスタイリングが可能になりました。
これは<strong>強調</strong>されたテキストです。 <kbd>Ctrl+C</kbd>でコピーできます。 <q>引用文</q>を<cite>出典</cite>から引用。
ここらへんもboldやitalicと同様にテーマの style レイアウトの設定でスタイリングできるようになっています。
レイアウト・スタイリング機能
動的見出しレベル (v0.32.0) by id:Songmu
タイトル検出のための見出しレベルを動的に設定できるようにしました。
Markdownのページ単位で、 h1 が使われていれば h1 をGoogle Slides側のページタイトルとして使用、もし h1 ではなく h2 から使われていれば h2 をページタイトルとして使用するようになっています。
見出しへのインラインスタイル適用 (v0.44.0) by id:Songmu
見出しにもインラインスタイルを適用できるようになっています。
条件付きデフォルト設定(v1.0.0)
CEL(Common Expression Language)を使用した条件付きレイアウト設定が可能になりました。フロントマターに以下のような設定を記述して、レイアウトやスキップ設定が動的に適用されるようにできます。
--- defaults: - if: page == 1 layout: title - if: titles.size() == 1 && headings[2].size() == 1 layout: section-purple - if: bodies[0].contains("TODO") skip: true - if: page > pageTotal - 3 freeze: true ---
パフォーマンス改善
いろいろありすぎるので割愛します。 だいたい id:Songmu さんがやりました。
その他
ページ無視機能 (v0.36.0) by id:Songmu
Markdown側の特定のページを無視する設定コメントが追加されました。
<!-- {"ignore":true"} -->
このページは無視されます
スライドスキップ機能 (v0.37.0)
プレゼンテーション時にスキップするスライドを設定できるようになりました。
<!-- {"skip":true"} -->
このスライドはプレゼンテーション時にスキップされます
Markdownファイルサポート in new コマンド (v0.38.0) by id:Songmu
deck newコマンドでMarkdownファイルをサポートするようになりました。
deck new presentation.md
エラーレポート機能 (v0.30.0)
deckが失敗した場合にerror.jsonファイルが作成されるようになりました。バグ報告用です。
以上!!
まあ既にv1.3.0なわけですが、いろいろ改善しました。
宣伝
そんなdeck v1に大貢献していただいた id:Songmu さんのポッドキャストにお邪魔しています。
私は通常運転ですが、いろいろな話があって面白いと思います。私は話していて面白かったです。是非。