0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Markdown(マークダウン)の存在意義を理解する、ついでに .md ファイルの意味も

Last updated at Posted at 2024-09-29

書き方やツールの話はしない。

「そもそも何者?」「何の意味があんの?」あたりの話をする。

Markdown とは

文書を書いたり生成したりするためのフォーマットの一つ。

より専門的に言えば「軽量マークアップ言語の一つ」との説明になるが、よくわからんので掘り下げていく。

掘り下げる旅

コンピュータで文書を書くとはどういうことか――。

Markdown の意義を知るまで掘り下げてみるとしよう。

1: テキスト

リアルだとペンで紙に書いたりするが、デジタルでは少し違う。

キーボードやスマホなどで書く。最近は音声入力もあったりするし、音声を認識して文字起こししたりもできる。もちろん、プログラムの力で生成させることもできる。ChatGPT とかもそうで、内部的にプログラムが文章を生成している。

コンピュータ上で書いた文章を テキスト(Text) と呼ぶ。

2: テキストの表現方法は 2 種類

テキストには 2 種類ある。これはそういう仕様なので受け入れるしかない。

2-1: プレーンテキスト

まずは、キーボードなどで書いた文章を素のままで扱う プレーンテキスト(Plain Text)。プレーンとは「素の」といった意。

プレーンテキストは素の情報なので扱いやすい。どの PC やスマホで書こうが、プログラムで生成しようが、どこででも読める。一方で、何の装飾情報もないので読みづらいし、扱いづらい。たとえば太字にすることすらできない。素の文字情報しか扱ってないので、太字という概念はない。

2-2: リッチテキスト

次に、太字をつけたり文字色を変えたり、あるいは表や画像や動画を貼り付けたりしたテキストが リッチテキスト(Rich Text)。私たちが普段画面ごしに見ているのは、たいていはリッチテキスト。その名のとおり、プレーンと比べるとリッチだ。

リッチテキストのからくりは、プログラミング言語と同じようなもの。「こういう表記で書かれたものを太字と解釈します」みたいなルールがあって、私たちはそのルールに従ってプレーンテキストで書く。で、これをプログラムに読ませる。すると、プログラムはそのとおり、太字の表記で書かれた部分を太字とみなして、太字で表示する。

しかし、そんな難しそうなことなんていちいちやってられない。素人にプログラミング言語書かせるのか?ひえー。……なので普通は Microsoft Word みたいな専用ソフトを使う。このソフトは「ルールに基づいたプレーンテキストの記述」と「それを解釈してちゃんと表示」を上手く隠蔽して、まるで直接リッチテキストを編集できているように見せる。スライドをつくる Powerpoint とかも同じ。

3: リッチテキストをもっと楽につくりたい……

プログラマーやライターなど、書くことを生業とした人にとって、Word のような専用ソフトはだるい

だるい理由その1、行き来がだるい。いちいちキーボードとマウスを行き来しなきゃいけないのがだるい。文字入力して、太字にしたいところを範囲選択して、ツールバーにある B のアイコンをクリックして……みたいなことを何度も何度もしないといけない。やってられない。キーボードから手を離さずにガリガリ書きたいよね。

だるい理由その2、管理や連携がしづらい。リッチテキストはその仕組み上、「表記ルールとそれを解釈するプログラム」のセットがたくさんできる。Word でスライドはつくれないし、Powerpoint で文書はつくれない。Word でつくった .docx ファイルを、Powerpoint で編集することはできない。これは「Word におけるセット」と「Powerpoint におけるセット」が違うからだ。もちろん Microsoft だけじゃなくて、セットはもっとある。かといって世の中の全員に Microsoft Word を使わせることもできない。統一的に扱えるのはプレーンテキストだけだ

そこで生まれたのが マークアップ言語 である。これは「人間が直接書ける程度に単純化された表記」と思えば良い。最も有名なのは Web ページを表示する HTML で、HTML では太字は <b>太字</b> と書く。<b></b> で囲めばいいのだ。いちいち <b></b> で囲むのは面倒くさいけど、これでもだいぶかんたんになった。ともかく、HTML が想定するルールどおりに書けば、あとはプログラム(もっというと Chrome や Edge や Safari などのブラウザ)が読み取ってちゃんと太字とか表示してくれる。

マークアップ言語自体はプレーンテキストで書けば良い。だから書くのが生業の人でもバリバリ書ける。<b></b> とかは正直書きづらいし、覚えないといけないけど……。

4: もっと楽に書けるマークアップ言語が欲しい……

まあすぐわかることだが、<b></b> みたいなのをいちいち書くのは正直つらい。もっと簡単にできねえのか?

そうして生まれたのが 軽量マークアップ言語 であり、Markdown はこのカテゴリに属する。

Markdown では太字は **太字** と書く。アスタリスク二個で囲むだけだ。ずいぶんと簡単である。他にも見出しとか、箇条書きとか、リンクとかも比較的かんたんに書ける。慣れたらサクサク書けるし、今この記事を書いている私もサクサク書いている。HTML よりはだいぶマシだし、愛用できる程度にはよくできている。

ただし、ブラウザが直接読み取ってくれるわけではない。ブラウザが読み取ってくれるのはあくまでも HTML だけ。なので、Markdown で書いたものをリッチテキストで読みたければ、Markdown → HTML と変換して、変換した HTML をブラウザで開く、なんてことになる。他にも変換例はあって、Markdown → PDF や Markdown → Docx もできる。

5: Markdown マジで便利

書くことが生業じゃない人にはわかりづらいだろうが、Markdown はかなり楽なのである。

実際、IT エンジニアの世界でもかなり使われている。Qiita を見る層は、おそらくすでに縁があるのではないか。一方で、SIer など専用ソフトで書く世界もまだまだあるし、まだまだ圧倒的多数派(そもそも Microsoft Office が強すぎる)だったりする。

まとめ: Markdown とは

  • プレーンテキストとリッチテキストがある
  • リッチテキストは Word など専用ソフトで書くが、書くことが生業の人達にはつらい
  • Q: プレーンテキストでリッチテキスト書きたいんだけど?
    • Ans: よりかんたんに書ける表記を考案すればいい!
  • ソリューション1: マークアップ言語。HTML とか
    • 問題点: 言うて結構だるい
  • ソリューション2: 軽量マークアップ言語。Markdown とか
    • だいぶいける
    • いけるので、ITエンジニアの世界でもかなり使われている

.md ファイル

Markdown の意義は理解できたが、ついでに .md ファイルも見ておく。

ファイルの種類をもって区別する

先ほど「表記ルールとそれを解釈するプログラムのセット」の話をしたが、このセットは ファイルの種類 で区別する。

  • Word のファイルは .docx
  • Powerpoint のファイルは .pptx
  • Excel のファイルは .xlsx
    • で、マクロがある場合は .xlsm

同様に、

  • HTML ファイルは .html
  • Markdown ファイルは .md

以上。

Markdown ファイルの種類は .md で表現する、と決まっているので受け入れるしかない。仮に退職届を Markdown で書くとしたら「退職届.md」になるだろう。

拡張子

この .xxx を 拡張子 という。

解釈するプログラムは、ファイル名についてるこの拡張子をもとに、それがどんな種類のファイルであるかを見る。退職届.docx だったら Word で書かれたファイルだし、退職届.md だったらプレーンテキストの Markdown で書かれたものだ。

関連付け

内部的には、拡張子ごとに自動でこれこれのプログラムを使え、との紐づけがある。退職届.docx を開いたときに Word で開かれるのはそのためだ。すでに「.docx ファイルは Word で開け」的な設定がされている。これを 関連付け という。

ちなみに関連付けは、必ずされているとは限らない。特に Linux ではされていない方が多いだろう。この場合、「解釈するプログラム」に対して「これを読み込め」と私たちが与える必要がある。たとえば、以下のようにして開くだろう。

$ vi 退職届.md

上記は、vi というプログラムに、退職届.md というファイルを与えている。vi さんに「この退職届.mdを開け」と言っているわけだ。

おわりに

Markdown の存在意義と、ついでに .md ファイルの意味を押さえた。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?