title | emoji | type | topics | published | published_at | |
---|---|---|---|---|---|---|
知らなかった Markdown のあれこれ |
📝 |
idea |
|
true |
2023-10-28 15:06 |
タイトル通り、Markdown に関して僕が「あ、そうだったんだ」「こういうのあったんだ」と思ったことを、トリビアの泉形式でただただ綴っていきます。
文法の詳しい解説とかは省略しています。各公式ページ見た方が分かりやすいと思いますし。(え?いや、サボりとかじゃないですよそんな・・・)
新たな発見があったら、追加したりしなかったりするかもしれません。
オリジナルは、John Gruber (ジョン・グルーバー) という方のプロジェクト。
@card
指定の (しかし単純な) 文法で書かれたテキストを HTML に変換してくれる Perl スクリプトを開発されました。この Perl スクリプトおよびそのプロジェクトが Markdown、そしてその文法が皆さんご存知 Markdown 文法のオリジナルなのです。
狭義の Markdown は、この個人開発によって作られた Perl スクリプトのことを指すと言えそうです。
:::message 補足トリビア
このオリジナルの Markdown の文法は、規定がとても曖昧です。それ故、各所で Markdown パーサが実装されるにあたり、細かな動作の違いが多々発生することになりました。(そもそもこんな広く使われるのは想定していなかったんでしょう・・・。)
そんな状況を改善すべく、John Gruber とは別の方により、CommonMark という厳密な Markdown 規格が作られました。
@card :::
さて、上の Web ページを読んだ方は気付いたかもしれません。「あれ、テーブルの文法は?」「打ち消し線は?」
| Column 1 | Column 2 |
| --- | --- |
| Content 1-1 | Content 2-1 |
| Content 1-2 | Content 2-2 |
~~Strikethrough~~
ここで GitHub Flavored Markdown の文法を見てみましょう。
@card
Tables と Strikethrough に (extension) の表示が。
そう、テーブルの規定は拡張仕様なんです。多くのサービスが GitHub Flavored Markdown ベースの Markdown を実装しているようで、テーブルや打ち消し線が使えるところは多いですね。
おかげでてっきり標準規定かと・・・。
:::message
ここで言う補足というのは、このようなテキスト枠のこと。
:::
:::message ここで言う補足というのは、このようなテキスト枠のこと。 :::
Qiita では :::note
が同等の機能。
一度や二度は見かけたことはあったはずが、僕はそれをすっかり忘れて代わりに引用表記をよく使っていました (at Qiita)。
ちなみに引用表記はコレのこと
@card
@card
割と最近 (2022/05/19)、GitHub にも似たようなものが追加されました (公式 Docs では警告と呼ばれている)。
> [!NOTE]
> Any note here
@card
@card
:::message 補足トリビア
VSCode 拡張の Markdown Preview Enhanced にも同様の機能があります。こちらはより充実していて、Note だけでなく Question とか Bug とか色々あります。
@card
Material for MkDocs という Markdown 静的サイトジェネレータの機能を利用しているようです。 :::
```diff c
+ printf("Hello\n");
- printf("World\n");
return 0;
```
+ printf("Hello\n");
- printf("World\n");
return 0;
これを知らずに、よくコメントアウトで // 追加
とか書いてました。(でも場合によってはコメントアウトの方が便利かも?コピペ前提で貼るときとか。)
@card
@card
Markdown Lint に規定が、それから Zenn の Markdown チートシートにも推奨事項として記載されています。
@card
@card
それから、Qiita の Markdown チートシートのページの Markdown ソースも見てみると、ここも第 2レベル以下の見出しが使われているのが分かります。
@card
たまに仕様書とか公式リファレンスとか読んでみると、「あ、そんな機能あったんだ」なんていう発見が割とあります。ここでは Markdown チートシートがそれにあたります。
知ってる言語やソフトも、たまには再入門してみると良いかもしれません。