Markdownについて

Hugoでサイトを作っていますが、md(マークダウン)ファイルが出てきます。はてなブログやQiitaで便利に記事が書ける記法、ぐらいにしか分かっていませんでした。

少し詳しく知ろうと思います。

参考サイト

https://neos21.hatenablog.com/entry/2018/06/28/080000

}[NAbv¾êÆÍ - Markup LanguageÌíÞÆ»Ìðj | }CirNGC^[

https://webliker.info/54111/

第12回『テキストファイルとバイナリファイル』『HTMLソースを見てみよう』 | SaekoSensei

Markdownは軽量マークアップ言語

「マークダウン」というのにマークアップ言語の一種です(名前の由来はちゃんとありそう)。

これまで調べてきた言語中心にまとめるとこのような感じです。

コンピューター言語
マークアップ言語・・・HTML、XMLMarkdown(軽量マークアップ言語)
プログラミング言語・・・スクリプト言語コンパイル言語(以前調べました
┗ データベース言語・・・SQL(データ定義言語、データ操作言語、データ制御言語)

Markdownについて詳しく見てみます。
まずマークアップについて。

マークアップ
文章の各部分を「タグ」を使って意味づけすること。
「ここは見出し」「ここは参照(リンク)」など。
文書構造の表現が目的。

そしてマークダウンについて。

Markdown
純粋に文章を書く際にはHTMLなどのマークアップ言語では非効率。
効率的に書けるように考えられた言語がMarkdown

Markdown の特徴

  • プレーンテキストで記述できる
    • 記号と空行の組合せで、見出しや強調、リンクなどを示す
    • テキストファイルなので、Word や Excel のようなバイナリ形式のファイルよりバージョン管理がしやすい
  • HTML 形式に変換できる
    • CSS との組合せ次第で見栄えを調整できる
    • ドキュメントを配布する時に相手の環境やソフトを問わない (誰でもすぐ読める)
  • たとえ HTML 形式に変換しなくとも、プレーンな Markdown ファイルそのままでも読みやすくなるよう、構文が工夫されている

用語についてくわしく

上の説明から、理解の浅い用語・内容について調べました。

プレーンテキストとは?

プレーンテキスト - Wikipedia

プレーンテキストには文字情報以外の情報は一切含まず、テキストデータのみで構成されている。バイナリデータや文字の整形情報を持たないので、最低限の機能しか持たないテキストエディタや表示用のソフトウェアで扱えると言う点で利便性が高い。

ウェブページからWordなどにテキストをコピペすると、文字のフォントやサイズがウェブページと同じだったりします。これが「文字情報以外の情報」です。
Gmailにもメール作成で「プレーン テキスト モード」にするかどうかの設定ができ、プレーンテキストモードの作成メールに貼り付けたテキストは、純粋な文字情報のみのテキストになっています。

ちなみに、プレーンテキストで貼り付けするショートカットキーがあります。
Control + Shift + V
便利!
GoogleドキュメントのプレビューからテキストをAtomにコピペする際、謎の改行がついてしまいます。これだけはどうにもなりませんでした。そもそもAtomに貼り付けた時点でプレーンテキストになるはずなのに、謎です)

ファイルの種類

脱線してきていますがもう少し。
ファイルの種類は2種類に分けられます。

ファイル
┗ テキストファイル ・・・HTMLファイルなど。メモ帳で開いて読めるファイル
┗ バイナリファイル・・・実行形式のプログラム、画像、動画ファイルなど。メモ帳で開いて読めないファイル

「世の中には2種類のファイルしかいない...」
ですね。

このファイルの種類は何で、どんな言語か、をファイルを扱う際に意識していきたいです。

Word、Excelファイルはバイナリファイル?

バイナリファイルと書かれているページが多くありましたが、テキストファイルもあるようです。 特にExcelファイルは、保存するファイル形式がたくさんあり、拡張子の種類も14あります。
深入りするとややこしそうなので、「テキストファイルもある」と覚えておこうと思います。

HTML 形式に変換できる仕組み

ここが一番気になっていました。

色々ありました

肝心のHugoは Blackfriday というGo言語でできたツールを使ったものです。
他にもPandoc というコマンドラインツールやPythonでできている markdown が見つかりました。

mdファイル→htmlファイルに変換するプログラムがあって、それがHugoやはてなブログやエディターでも、見えないところで処理されていたのですね。

Markdownエディタもいろいろ

はてなブログの投稿画面のように、Markdownで書きながらプレビューが見られるエディタがありました。
Atomでもできるようなので、Hugo記事投稿時に使ってみます。

***

便利なMarkdown。エンジニア以外でも記事を書く時に使えたらとても効率よく投稿できそうです。

WordPressとかでも使えるのだろうか。

あとずっと気になっていたWYSIWYGエディタというものの存在。また直面するときに調べようと思います!