Skip to content

コードブロックの言語指定に続けて情報文字列があると意図したシンタックスハイライトが行われない #357

@lempiji

Description

@lempiji

事象

ZennCLIのプレビューで、Markdown上のコードブロックに言語名のあとスペース分けで情報文字列が付いていると、スペース以降もハイフン区切りで言語名の一部と認識される。結果、GitHubとは異なる言語指定となってしまい、目的のハイライトにすることができない。

たとえば、

```d single
```

という記述で言語が d-single として扱われ、意図したハイライトが行われない。

markdown-itの解析やCommonMarkの仕様でこういった扱いはないと思われるが、原因は不明。

これができないと、記事用のMarkdownを他のツールで処理する際に付けたい情報が付与できないことがある。
(これを使って2021年のアドベントカレンダーの記事を書こうと思っています)

なお確認用の記事は投稿しておらず、実際の記事で同様の現象が起きるかどうかは確認していません。

発生した画面のスクリーンショット

image

ZennCLIでpreviewしているときのコンソール表示

image

再現方法

以下のブロックをそのままMarkdownとして保存すると確認することができます。
GitHubでは両方ともハイライトされることが確認できています。

# 1

```d
import std;
```

# 2

```d single
import std;
```

環境

  • Zenn CLI: 0.1.99

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions