0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SlidevのMarkdownが勝手に破壊されるすべての人へ

Posted at

■先に結論■
エディタのプラグインのデフォルトが邪魔をするので、逆にPrettierの設定を入れることで解決する

SlidevというMarkdonw経由でスライドを作れるものがあります。
非常に便利で、簡単なスライドを作れるだけでなく、アニメーションやコードハイライトなど様々な機能があり本格的なスライドが作れます。

Slidevの存在を知って意気揚々とMarkdownを書き始めたのですが、保存のときに意図しない差分が出てくるんですよね……

背景

なんか壊れる……

slides.mdを変更して意気揚々と保存して、gitで差分を見たところ、明らかに不味そうな差分が生まれている……
image.png

これはフォーマッタの仕業のような気がする……

Prettier、お前だったのか...いつも整えてくれていたのは

VSCodeもNeovimで、プラグインの状況次第では発生するかもしれないです。
PrettierのみならずBiomeでも発生するようです。

image.png

厄介なのはPrettierやBiomeなどのLinterをpackage.jsonに含めていない場合でも発生することです。
image.png

解決方法

SlidevにはPrettier用のPluginがあります。

これを一緒に入れて設定することで、formatコマンド実行時のみならずエディタのプラグインにもSlidevの存在を理解(わか)らせます。

npmなら

npm
npm i -D prettier prettier-plugin-slidev

pnpmなら

pnpm
pnpm i -D prettier prettier-plugin-slidev

bunなら

bun
bun add -D prettier prettier-plugin-slidev

とインストールしていきます。

そして.prettierrcを下記のように追加します。

.prettierrc
{
  "overrides": [
    {
      "files": ["slides.md", "pages/*.md"],
      "options": {
        "parser": "slidev",
        "plugins": ["prettier-plugin-slidev"]
      }
    }
  ]
}

適切にプラグインに読ませるために一度VSCodeなりNeovimなりエディタを再起動します。

改めて保存すると……

image.png

お〜〜。Markdownがぶっ壊れない。
世界(エディター)に平和が訪れましたとさ。

残念ながらBiome向けのプラグイン的なものは無いみたいです……
(biome.jsonoverridesなりでMarkdownを除外すれば壊れることは回避できるか……?)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?