nikkie-ftnextの日記

イベントレポートや読書メモを発信

HTML製スライドの表紙の画像を作りたい! 自作スクリプトをライブラリ化した hayasaka 0.1.0 をリリースしました📸

はじめに

ういっす✌️ nikkieです。

自作したPythonライブラリのリリースのお知らせです。いえーい!🎉

目次

HTML製スライドのあるページを、画像で保存したい!

私は発表資料の作成にsphinx-revealjsを使っています。

発表資料の実体は、1枚のHTMLです。

この発表資料について、表紙のスライドを画像にしたいというニーズが私にはあります。
発表資料のURLをTwitterX)でシェアするときに、OGPに画像を設定するとツイートの見た目がいい感じになるからです。

例(「アイうたはいいぞ」という画像は発表資料の表紙です)

それ hayasaka でできるよ

今回リリースした hayasaka を使って、発表資料の表紙(広く言えば、URLで指定したページ)を画像にできます!

$ pip install hayasaka

$ hayasaka-cli https://ftnext.github.io/2021_slides/ainouta/recommend_as_best.html awesome_aiuta.png

hayasakaは(現在はGoogle Chromeに未対応で)Firefoxのインストールが必要です。
実装としては、Firefoxを操作してURLを開き、スクリーンショットを撮影しています。

スライド作成するさなかでWebにまだ公開していない場合も、ローカルのHTMLファイルの絶対パスfile://で始めることで hayasaka で画像にできます1

$ hayasaka-cli file:///Users/.../build/revealjs/ainouta/recommend_as_best.html awesome_aiuta.png

hayasaka開発秘話

元のスクリプトはこちらです。

これまでずっとこのスクリプトを動かしていましたが、pipでインストールできるようにすればいいと気づいてライブラリ化し、このたび0.1.0を公開しました。

「ブラウザでスライド(HTML)を開いてスクリーンショットを撮ることによって画像化する」というアイデアは(上のツイートにも挙げていますが)以下のリポジトリを参考にしました2JavaScriptを読んでPythonで実装。多謝)

終わりに

OGP画像に使うために、HTMLファイルで作ったスライドの特定のページを画像として保存したいというニーズを叶えるスクリプトを、このたびライブラリとして公開しました。

hayasaka、よろしければお試しください!

スライドに限らず、URLを指定したら画像にできちゃいます!
PyPIを指定した例

P.S. hayasaka(はやさか)って、誰よ

かぐや様かなと思った方?

GREE時代からミリオンライブまでお世話になってる早坂さんです!

エミリーちゃんはじめ、素晴らしい写真の数々いつもありがとうございます!🤗

また、コマンドをhayasaka-cliという命名にしているのはmermaid-cliの影響です。