typememo.jp

Marp for VSCode テンプレートジェネレータの開発

2020.10.23

#tech#marp#vscode
Takeru Yamada

Contents


はじめに

Marp for VSCode 用のマークダウンファイルのテンプレートジェネレータを作ってみました.

いくつか必須のフロントマターなどをその都度入力するのは面倒くさいので自動化しようと思います.

あくまで筆者が使うことを想定していますので,参考程度に読んでいただけるとありがたいです.

それでは参りましょう!

テンプレートファイルの作成

slide.md というテンプレートファイルを作成しました.

言うてもただのマークダウンファイルに次のようなフロントマターを記載しただけですが.

---
marp: true
theme: typememo
paginate: true
_class: lead
_header: typememo.jp
_footer: © 2020 typememo
---
...

テンプレートジェネレータの開発

さて,本題のテンプレートジェネレータを開発していきます.

typeslide という名前のテンプレートジェネレータを実装しました.

typeslideslide.md というスライドテンプレートファイルを引数として渡されたファイルパスに書き出すだけのコマンドです.

typecode というブログ記事テンプレートジェネレータとほとんど同じ実装です.

ほとんど同じ実装なのでメタテンプレートジェネレータを作成した方が後々になって拡張しやすそうです.

#30 としてイシューには登録しておいたので忘れる心配はないと思います.

テンプレートジェネレータの実行

スライドテンプレートジェネレータが実装できたので,テストも兼ねて実行してみたいと思います.

$ typeslide blog/content/posts/tech/marp-for-vscode-template-generator/tools/example_slide.md
Create new slide
Open new slide

コマンド実行終了と同時に example_slide.md が vscode で表示されました.

では,もしも typeslide の引数に何も渡さなかった場合はどうなるか. Usage が表示されており意図した動作になっています.

$ typeslide
Usage: typeslide /path/to/slide.md

typeslide の引数にディレクトリが渡された場合はどうなるか. “不適切な引数ですよ” とエラーメッセージが出力されており意図した動作になっています.

$ typeslide blog
Invalid Argument: blog is a directory
Usage: typeslide /path/to/slide.md

おわりに

スライドテンプレートジェネレータの開発についての紹介でした.

完全に個人用のテンプレートジェネレータでしたが,何かしら学びになるポイントがあれば幸いです.

最後までお読みいただきありがとうございました.

山田武尊を応援していただけるととても嬉しいです!

愛用品