いものやま。

雑多な知識の寄せ集め

Markdownで書いてみた。(その2)

昨日に引き続き、はてなブログでのMarkdown記法の話。

Markdownと一言で言っても、基本的なものの他に拡張の入ったものもあるし、あと、はてなブログ独自の書き方もある。

はてなブログの場合、基本的な記法に加え、GitHubでの拡張であるGitHub Flavored Markdownも使える感じ。

それに、過去記事を埋め込んだり、動画を貼り付けたりと、はてなブログ独自の書き方も使える。 (なんと、 \TeXで数式を書くことも出来る!)

ということで、まずは基本的な記法と、GitHub Flavored Markdownについて、まとめてみた。

見出し

↑こんな感じで見出しを出したい場合、Markdownでは次のように書く。

Markdown

# 見出し1
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6
実際の見え方

見出し1

見出し2

見出し3

見出し4

見出し5
見出し6

ちなみに、よく使われる見出し1や見出し2については別の書き方も出来て、

Markdown

見出し1
=======

見出し2
-------

という書き方も可能。

プレーンテキストだと、この書き方の方が見やすいかも。

なお、はてなブログの場合、記事の見出しとしては見出し3以降を使うように設計されているっぽいので、見出し1や見出し2は使わない方がいいかもしれない。

改行と段落

改行の取り扱い

Markdownでは、普通に改行しただけでは、実際の見た目は改行されない。 (半角スペースが1つ入るっぽい)

Markdown

1行目。
2行目。
実際の見え方

1行目。 2行目。

これはおそらく、英文の特徴にあった仕様で、和文の場合、ちょっと微妙だなぁ、というのが個人的な感想。

というのも、和文の場合、漢字を使う関係上、文字の密度が高いので、文が改行されずにずっと続くと、ゴミゴミしているように見えるんだよね・・・ (Textileの場合、改行はちゃんと改行として表示されるので、すごく見やすいのだけど)

強制改行

なので、強制的に改行を行う場合、ちょっと特殊なことをしてあげないといけない。

Markdownで強制的に改行を行いたい場合、行末に半角スペースを2つ入れることになってる。

Markdown

1行目。␣␣
2行目。
(※␣は半角スペースの意味)
実際の見え方

1行目。
2行目。

ただ、正直なところ、Markdownのこの仕様だけはホントに嫌い。

半角スペースが入ってるかどうかなんてパッと見で分からないし、何よりも不自然。

いっそ、 \TeXのようにバックスラッシュ2つとかの方が、まだマシだと思う。

段落

Markdownで段落を新しくしたい場合、空行を一行以上入れることになってる。

Markdown

1段落目。

2段落目。
実際の見え方

1段落目。

2段落目。

Markdownで和文を書く場合、それがいいかどうかは別として、全部段落にしてしまった方が潔いかもしれない・・・ (文書の構造化とは、一体何だったのか・・・)

テキストの修飾

強調表示

テキストを強調したい場合、強調したいテキストをアスタリスク(*)で挟むか、アンダースコア(_)で挟む。

そうすると、通常は斜体で表示される。

Markdown

*テキストを強調*

_テキストを強調_
実際の見え方

テキストを強調

テキストを強調

より強い強調を表したい場合、アスタリスクやアンダースコアを2つにする。

そうすると、通常は太字で表示される。

Markdown

**テキストを強調**

__テキストを強調__
実際の見え方

テキストを強調

テキストを強調

さらに強い強調を表したい場合、アスタリスクやアンダースコアを3つにする。 (※これはGitHub Flavored Markdownによる拡張)

そうすると、通常は太字の斜体で表示される。

Markdown

***テキストを強調***

___テキストを強調___
実際の見え方

テキストを強調

テキストを強調

なお、アスタリスクとアンダースコアの使い分けに関しては特に取り決めはないのだけど、GitHub Flavored Markdownによる拡張では、プログラムでの変数を表現したりするときに便利なように、単語を繋ぐアンダースコアでは強調表示にならないようになってる。

これが地味に便利。

Markdown

send_message_buffer()メソッド

※参考
send*message*buffer()メソッド
実際の見え方

send_message_buffer()メソッド

※参考
sendmessagebuffer()メソッド

打ち消し線

GitHub Flavored Markdownによる拡張では、テキストを打ち消し線で消したい場合、打ち消したいテキストをチルダ(~)2つで挟む。

Markdown

~~打ち消し線~~
実際の見え方

打ち消し線

リンク

Markdownでリンクを貼りたい場合、次のようにする。

Markdown

[リンクのテキスト](リンクするアドレス)
実際の見え方

リンクのテキスト

なお、GitHub Flavored Markdownによる拡張では、URLを貼ると自動でリンクが貼られるようになっている。

Markdown

http://yamaimo.hatenablog.jp/
実際の見え方

http://yamaimo.hatenablog.jp/

リスト

順序なしリスト

箇条書きなどに使える順序なしリストを書くには、先頭にプラス(+)やマイナス(-)、あるいはアスタリスク(*)をつけ、空白に続けてリストのアイテムを書いていく。 (混ぜてもOK)

Markdown

+ foo
+ bar
+ baz

- foo
- bar
- baz

* foo
* bar
* baz

+ foo
- bar
* baz
実際の見え方

  • foo
  • bar
  • baz
  • foo
  • bar
  • baz
  • foo
  • bar
  • baz

なお、リストの前後には空行が必要なので、注意。

順序付きリスト

手順などを書くときなどに使える順序付きリストを書くには、先頭に数字とドット(.)を書き、空白に続けてリストのアイテムを書いていく。 (実は、数字はちゃんと順番になってなくてもいい)

Markdown

1. 一つ目
2. 二つ目
3. 三つ目

1. 一つ目
1. 二つ目
1. 三つ目
実際の見え方

  1. 一つ目
  2. 二つ目
  3. 三つ目
  1. 一つ目
  2. 二つ目
  3. 三つ目

入れ子のリスト

リストを入れ子にしたい場合、サブアイテムをインデントしてあげればいい。

Markdown

+ foo
   + foo_hoge
   + foo_huga
+ bar
   + bar_hoge
   + bar_huga
+ baz
   + baz_hoge
   + baz_huga

1. 一つ目
    1. 入れ子の1
    2. 入れ子の2
2. 二つ目
    1. 入れ子の1
    2. 入れ子の2
3. 三つ目
    1. 入れ子の1
    2. 入れ子の2

1. 一
   - いち
   - ひとつ
2. 二
   - に   
   - ふたつ
3. 三
   - さん
   - みっつ
実際の見え方


  1. 一つ目
    1. 入れ子の1
    2. 入れ子の2
  2. 二つ目
    1. 入れ子の1
    2. 入れ子の2
  3. 三つ目
    1. 入れ子の1
    2. 入れ子の2
    • いち
    • ひとつ
    • ふたつ
    • さん
    • みっつ

引用

引用をしたい場合、メールと同じで、>で行を始める。

そして、メールと同じで、二重にすれば入れ子の引用になる。

Markdown

>引用になる。
>>ここは入れ子の引用になる。
実際の見え方

引用になる。
ここは入れ子の引用になる。

水平線

3つ以上のハイフン(-)やアスタリスク(*)、アンダースコア(_)だけを並べると、水平線になる。 (あいだには空白を入れてもいい)

Markdown

---

* * *
実際の見え方



コード

インラインコード

インラインでコードを書きたい場合、バッククォート(`)で挟む。

Markdown

ここで`select()`を呼び出す。
実際の見え方

ここでselect()を呼び出す。

コードブロック

コードのかたまりを書きたい場合は、4つ以上の半角スペースを行頭に置く。

Markdown

    int main(void)
    {
        printf("Hello, world!\n")
        return 0;
    }
実際の見え方

int main(void)
{
    printf("Hello, world!\n")
    return 0;
}

GitHub Flavored Markdownによる拡張では、バッククォート(`)を3つ並べた行で挟むことで、コードブロックを書くことも出来るようになっている。

Markdown

```
int main(void)
{
    printf("Hello, world!\n")
    return 0;
}
```
実際の見え方

int main(void)
{
    printf("Hello, world!\n")
    return 0;
}

シンタックスハイライト

GitHub Flavored Markdownによる拡張を使った場合、コードブロックの開始を表すバッククォート3つの後ろに言語を指定することで、シンタックスハイライトがされるようになる。

Markdown

```c
int main(void)
{
    printf("Hello, world!\n")
    return 0;
}
```
実際の見え方

int main(void)
{
    printf("Hello, world!\n")
    return 0;
}

これは見やすくていいね。

表組みについてまだ書けてないけど、長くなったので今日はここまで!