はじめに
七尾百合子さん、お誕生日 228日目 おめでとうございます! nikkieです。
観測範囲で存在感が増しているように映るツール deck を触ります。
目次
k1LoW/deck
songmu さんのブログで目に留まりました
なお最近 deck が注目を集めているなーと見ています。
— nikkie(にっきー) / にっP (@ftnext) 2025年9月27日
MarkdownからGoogleスライドが作れるそうです #pyconjp_3https://t.co/YpmV0XKjUK
このたびついに触る機会を持てました!
songmu さんのチュートリアルに沿って手を動かしていきます。
環境構築
macOS には Homebrew で入りました。簡単!
https://formulae.brew.sh/formula/deck
ref: https://www.docswell.com/s/Songmu/K137GV-about-deck#p10
クレデンシャルを配置します1。
ref: https://www.docswell.com/s/Songmu/K137GV-about-deck#p11
配置にあたってはdeck doctorの案内に従うのが、私には分かりやすかったです。
過去 gspread で同様の経験がありました2
- Google Cloud のプロジェクトを決める
- API 有効化
- Google Slides API
- Google Drive API
- OAuth 同意画面の設定
- 自身のメールアドレス(=Googleアカウント)を test user に追加
- OAuth クライアント ID 作成
- ダウンロードして
~/.local/share/deck/credentials.jsonに配置
- ダウンロードして
Markdown がスライドに!
deck doctorが通った後は、deck newです
% deck new --title 'k1LoW/deck first time' --base 1_zCl3c2TFTSMBXnizHW2efANHIjqwTUvTXrefhcjgds practice.md
これでドライブ側に空のスライドができ、practice.mdの frontmatter も書かれます。
--- presentationID: 15SnW9VSyt5LNA2pi_aR1VZETVdNVbbMnS5HxsMazGa0 title: k1LoW/deck first time ---
base に指定したのはテンプレートのスライドです。
Azusa 3 をマイドライブ下に置いています。
現在の deck はテンプレートと同じフォルダに配置されるようです。
スライドの本体にあたる Markdown を書き上げます。
sphinx-revealjs などでも使う、いつもの内容にしました。
deck apply practice.mdを叩くと、newでできた空スライドに反映されます。
コードブロックの画像表示
画像表示は別に環境構築が必要でした。
ref: https://www.docswell.com/s/Songmu/K137GV-about-deck#p17
- https://github.com/Songmu/laminate をインストール
brew install songmu/tap/laminate(laminateコマンド)- 以下のように設定ファイルを書く
cargo install silicon(siliconコマンド)
% cat ~/.config/laminate/config.yaml
commands:
- lang: python
run: 'silicon -l "{{lang}}" -o "{{output}}"'
ext: png
これでコードブロックも(画像で)スライドに!
% deck apply -c laminate practice.md ++++.
Google スライド側で画像の配置を調整します。
できたスライドはこちら:
今回の環境情報
% brew --version Homebrew >=4.3.0 (shallow or no git repository) % deck --version deck version 1.21.5 (rev:HEAD) % laminate --version laminate v0.0.4 (rev:f4abf29) % cargo --version cargo 1.89.0 (c24e10642 2025-06-23) % silicon --version silicon 0.5.2
終わりに
k1LoW/deck を試しました。
環境構築は手順が多く感じましたが、Markdown からスライドができるのが劇的でした。
私は Markdown を書くだけでよく、スライドを選んでから中身を書いていく工程が消えて、作業はすごく効率化されたと感じます!
サポートしている Markdown の記法や、コマンドの細かいオプションなど、キャッチアップの余地はまだ多分にあります。
なお、UB Tech vol.21 の登壇には k1LoW/deck を使いました(裏話)
UB Tech vol.21 AIエージェントって何から始める?ソフトウェアエンジニアによる挑戦 - connpass