Qiita Markdown

Qiitaでは、Markdown記法を使用することができます。記述方法は下記をご参照下さい。
Markdown記法 チートシート - Qiita

Qiita MarkdownはOSSです。リポジトリは下記でご確認いただけます。
https://github.com/increments/qiita-markdown

Markdownパーサーの変更

2022年2月にQiitaにおいてMarkdownパーサーを変更しました。

もともと使っていたパーサーはRedcarpetをベースに拡張したものでしたが、CommonMarkerベースになりました。これにより、一部のMarkdownの記法に変更が生まれました。今までは GitHub Flavored Markdownに準拠していない記法もありましたが、今回の変更で準拠されるようになりました。

そのため、パーサー変更前に投稿されたコンテンツを更新する際に、予期していない見た目に変わってしまう場合があります。

記法の変更について

基本的にはGitHub Flavored Markdownに準拠しているので、詳しくは GitHub Flavored Markdown Spec をご確認ください。

以下では実際の記事で差分が多かった記法をいくつか紹介します。

【見出し】#の後にスペースがない場合、見出しとして判定されなくなる

今までは#の後にスペースがなくても見出しになっていましたが、今後はスペースが必要となります。

##これが見出しとして判定されなくなる

## スペースが入ることで見出しとなる

【HTMLブロック】Markdownにパースしたい場合は、間に空行が必要になる

detailsタグなどのHTMLタグを埋め込む際には、1行空行を入れるようにしてください。

<details><summary>サマリー</summary>

## 空行の後にMarkdownを記述できる

- Markdownのリスト

段落なども普通にパースされる。
</details>

この上にも空行が必要

その他にも数としては多くはなかったのですが、いくつか見られたものも記載します。

  • 【強調】強調記号の前後のスペースのありなしによって、意図しない強調がされる可能性がある
    • 適切に強調をしたい場合は 平文 **強調したいテキスト** 平文 のように前後にスペースを入れてください。
  • 【リスト】一つ上のレベルのリストと比べて スペース2つ の差が無いとインデントされなくなる
  • 【順序付きリスト】以下の bar と baz は順序付きリストと判定されなくなります。

    1. foo
    - bar
    - baz
    
  • 【引用ブロック】引用ブロックと引用ブロックの間に空行があると別の引用ブロックになる

    > 1つ目の引用ブロック
    ここも1つ目の引用ブロック
    
    > 2つ目の引用ブロックになる
    
  • 【テーブル】テーブルの後に改行が必要になる

    | カラム1 | カラム2 |
    |:--:|:--:|
    | テーブル内| テーブル内 |
    ここもテーブル内としてパースされるようになる
    
  • 【リンク、画像】途中で改行があるとリンク、画像として判定されなくなる

    # NG
    [Qiita]
    (https://qiita.com/)
    
    ![Qiita.png]
    (https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88/1deed096-f608-0037-d2c5-3015d6854212.png)
    
    # OK
    [Qiita](https://qiita.com/)
    
    ![Qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88/1deed096-f608-0037-d2c5-3015d6854212.png)
    
  • 【コードスパン】コードスパンで囲まれていると改行されなくなる

    • 以下のように書いた場合、fuga fugaの間で改行がなくなります。

      `hogehoge` and `fuga
      fuga`
      
  • 【コードブロック】フェンス(`や~)の始まりと終わりで別の記号を使えなくなる

    ~~~bash
    始まりと終わりの記号が一致しないとコードブロックの終わりが正しく認識されなくなる
    ```
    
    ここもコードブロックと認識されてしまう
    
  • 【文字】タブ文字がスペースに変換されていたが、そのままタブ文字として表示される

    • 今まではパーサーの設定により、タブ文字がスペースになっていましたが、タブ文字として表示されます。

疑問が解決しなかったら……

この記事や関連記事をご確認いただいても解決しなかった場合、サポートフォームよりリクエストを送信ください。