モブログでMarkdownって使えるものなの?(その1:見出し)

連載で行ってみようと思う。


Markdownってなんだろう?

さらにTextwellがMarkdown+LaTeX対応ワープロになった MathJax
編集機能が付きました。「エディタ」っていうんだから、やっぱり編集できなきゃ。今度のバージョンでは、プレビュー画面のまま文章の追加や削除ができます。つまり「ワープロ」になっています。下記からインポートし...
TextwellでMathJaxアクションを組んでから考えています。「モブログMarkdownは使えるのだろうか」。モブログで本当に必要なもの、たとえば表を組んだり、自分のロジックを説明するとき、Markdownはその助けになるだろうか。それにはまず、Markdownの性格をつかまねばなりません。これは何を目指して作られた言語なのか。


<h1>-<h6>−HTML5タグリファレンス
<h1>・<h2>・<h3>・<h4>・<h5>・<h6>タグは、見出しを付ける際に使用します。 数値が小さいほど高いランクの見出しとなります。 <h1>が最も高位の大見出しで、<h6>が最も低位の小...
まず「#」から考えてみます。Heading、つまりhタグ。見出しを明示するマークアップです。実はこのブログではあまり使っていませんでした。でも意外と重要な役割があるんじゃないか。ネットで調べるとSEO対策の話が出てきます。Googleはこのhタグの内容を調べ、そのページのキーワードとするようです。つまり、Googleで検索するとき見出しの部分が優先的に参照される。でも、それだけのためにhタグを設定するのは勿体ない。


はてなダイアリーの見出しはどうなってるの?

そもそも使わないので、hタグがどう表示されるのか自分では知らないです。ここははてなダイアリーなので、はてながデフォルトでhタグのスタイルを用意しています。テーマごとに違う表示になります。もちろんstyle領域をカスタマイズして、オリジナルな設定をすることもできます。とりあえず、どんな風にブログに出るのか確かめてみましょう。
# 見出しレベル1
## 見出しレベル2
### 見出しレベル3
#### 見出しレベル4
##### 見出しレベル5
###### 見出しレベル6
####### 見出しレベル7

見出しレベル1

見出しレベル2

見出しレベル3

見出しレベル4

見出しレベル5
見出しレベル6
####### 見出しレベル7


いやあ、初めて知りました。単に文字サイズが変わるだけじゃなかったんだ。これがデフォルトであるということは、この順に見出しの深さを決めると美しい構成になるだろうという、はてな側の配慮です。モブログではあまり深く考えず、サーバー側の親切に甘えておきましょう。でも、見た目がいいのはレベル4だけだなあ。

さて、見出しレベルの7が変ですよね。何も変換されていません。Markdownのままになっています。hタグに関してはレベル6までしか用意されていません。


HTMLの起源はSGMLにある

しかし、なぜレベル6まででしょうか。その点について説明しているサイトを見つけられませんでした。hタグは、たぶんHTMLの黎明期からある古いタグだと思います。初期のHTMLタグは通信量を節約するために1文字だけになっています。電話回線でモデムを使っていた頃ですね。httpプロトコルが作られたとき、出来るだけ短い文字列でマークアップする必要があった。aタグやbタグのようにアルファベット1文字で修飾を表現したわけです。

するとプロトタイプ的には<h>だけの時代もあったかも知れません。見出しと本文を分けるだけで良かろう、と。調べてみると、HTMLの源泉は、その前の時代からあるSGML言語に遡ります。軍事マニュアルを制作する上でのガイドラインです。


Standard Generalized Markup Language - Wikipedia
Standard Generalized Markup Language(スタンダード ジェネラライズド マークアップ ランゲージ、略:SGML)、文書記述言語SGMLは、マークアップ言語を定義するた...
時代が進歩するごとにワープロのフォーマットが変わる。そのたびに中身の文章を打ち直していたのでは労力の無駄です。基本となるドキュメントのフォーマットを考えねばなりません。そのために作り出されたのがプレイン・テキスト形式です。いま、エディタで打つのに使っているデータ形式ですね。これなら、どのマシンを使っても編集できる。

このプレイン・テキストが発明されたとき、文章のレイアウトを切り離すことが考案されます。テキストの本文と、レイアウト構造を別々のファイルに保存しておく。レイアウト構造を別のものに替えれば、印刷するとき時代に応じたマニュアルを作成できます。

すると、レイアウト情報とは別に「文書構造」の情報も必要になります。これがSGML言語。テキストのタイトルは何か、文責は誰にあるか、制作日はいつか。それをプレイン・テキストのほうに保存しておく。そのときに「タグ」が使われたわけです。<title>〜</title>で囲んだ部分がこの文章のタイトルである、と。文書構造をもとにレイアウトは印刷時に指定すれば、紙サイズの異なるマニュアルを量産することができるし、著者名を表紙に載せることも、文末に置くこともできます。

HTMLタグもこの延長上にあります。ブラウザに従ってレイアウトが異なることはあっても、文章構造が変わることがないようにする。とくにhタグは、そこから別のセクションが始まることを明示する役割を負っています。見出しから見出しまでは「情報の塊」と見なす。その気になれば、この文書構造から目次を自動生成することができます。ブラウザが進化すれば、そうした機能もつくかもしれません。ブックマークレットでも作れそうな機能です。


モブログでは、そんなに深い階層は不要と思います。軍事マニュアルの見出しがレベル6まで必要だった、ということかも知れません。でも、セクションごとに区切る方法は、思いつきの羅列に「構造」を導入する上で必要だろうと思います。そう考えると、後からですかね。書き上げた後に「話題の塊」を見極め、その始まりに見出しを付けてみる。その用途にhタグを活用するのが筋かな。