下記はメモ
前提の課題として、 Marp で pdf を出そうとしたのだが、こんな感じにエラーが出る。 html を
❯ pnpx marp test-slide/slide.md --pdf [ INFO ] Converting 1 markdown... [ ERROR ] Failed converting Markdown. (connect ECONNREFUSED 127.0.0.1:54872)
何のことやらという感じであるが、 marp-team/marp-cli: A CLI interface for Marp and Marpit based converters を見ると、pdf, pptx を出すために Chrome Google なりそれに類するブラウザが必要なようです。
で、ブラウザを表示するためには WSL2 上から chrome が起動できる必要があるが、これに関しては以前、「Xサーバーアプリが必要なので、VcXsrv を入れてみる。」あたりで設定している。今回もこう言った設定が必要となる。
Google Chrome を CUI ベースで入れる方法としては下記の方法を参考にした(他の記事も読んだが、追加するキーも方法も一緒だったので、まあ良いことにした)(ぱっと Google のサイトから探せなかったので、妥協した)。
このセットアップを行って VcXsrv
を起動した状態で、 google-chrome
を terminal からたたくと、Chrome が起動する。
最後に、下記の issue を参考に CHROME_PATH
を指定し、起動する。
ちなみに絶対的なパス指定でなくても、 which google-chrome
とかで行けそうな気がしたので、試したらできた。
❯ CHROME_PATH=$(which google-chrome-stable) pnpx marp test-slide/slide.md -o output.pdf [ INFO ] Converting 1 markdown... [ INFO ] test-slide/slide.md => output.pdf
というわけでOK。
ところで
なんかもはや Docker でやったほうが早かったのではないか、という説がある。