■先に結論■
エディタのプラグインのデフォルトが邪魔をするので、逆にPrettierの設定を入れることで解決する
SlidevというMarkdonw経由でスライドを作れるものがあります。
非常に便利で、簡単なスライドを作れるだけでなく、アニメーションやコードハイライトなど様々な機能があり本格的なスライドが作れます。
Slidevの存在を知って意気揚々とMarkdownを書き始めたのですが、保存のときに意図しない差分が出てくるんですよね……
背景
なんか壊れる……
slides.md
を変更して意気揚々と保存して、gitで差分を見たところ、明らかに不味そうな差分が生まれている……
これはフォーマッタの仕業のような気がする……
Prettier、お前だったのか...いつも整えてくれていたのは
VSCodeもNeovimで、プラグインの状況次第では発生するかもしれないです。
PrettierのみならずBiomeでも発生するようです。
厄介なのはPrettierやBiomeなどのLinterをpackage.json
に含めていない場合でも発生することです。
解決方法
SlidevにはPrettier用のPluginがあります。
これを一緒に入れて設定することで、formatコマンド実行時のみならずエディタのプラグインにもSlidevの存在を理解らせます。
npmなら
npm i -D prettier prettier-plugin-slidev
pnpmなら
pnpm i -D prettier prettier-plugin-slidev
bunなら
bun add -D prettier prettier-plugin-slidev
とインストールしていきます。
そして.prettierrc
を下記のように追加します。
{
"overrides": [
{
"files": ["slides.md", "pages/*.md"],
"options": {
"parser": "slidev",
"plugins": ["prettier-plugin-slidev"]
}
}
]
}
適切にプラグインに読ませるために一度VSCodeなりNeovimなりエディタを再起動します。
改めて保存すると……
お〜〜。Markdownがぶっ壊れない。
世界に平和が訪れましたとさ。
残念ながらBiome向けのプラグイン的なものは無いみたいです……
(biome.json
のoverrides
なりでMarkdownを除外すれば壊れることは回避できるか……?)