マークダウン (Markdown) 記法

インライン HTML 自動エスケープ バックスラッシュエスケープ 段落・改行 見出し 引用 リスト タスクリスト 定義リスト コードブロック シンタックスハイライト 水平罫線 リンク 自動リンク 強調・重要 削除部分 脚注 略語 インラインコード イメージ

メモ

マークダウン (Markdown) の構文一覧

一部詳細は省略の為、動作不備の場合は各項目のリンク先参照

構文記法・説明仕様JSDocDoxygen
インライン HTMLHTML5 リファレンス メモ
HTMLHTMLタグは利用可能 
E
G
タグの無効化下記のHTMLタグは先頭の < を &lt; に変換して無効化
<title>
<textarea>
<style>
<xmp>
<iframe>
<noembed>
<noframes>
<script>
<plaintext>
 G
ブロック要素の制限ブロック要素 (<div>・<table>・<pre>・<p> 等) は、
前後に空白行が必要
開始タグと終了タグはコードブロックと認識される為、インデント不可
 
G
ブロック要素の制限ブロック要素の開始タグはコードブロックと認識される為、インデント不可 E
スパン要素内のMarkdownスパン要素 (<span>・<cite>・<del> 等) 内のMarkdown構文は有効<span>__STRONG__</span>
E
G
ブロック要素内のMarkdownブロック要素 (<div>・<table>・<pre>・<p> 等) 内のMarkdown構文は無効<div>__NOT STRONG__</div>
ブロック要素内のMarkdownブロック要素内のMarkdown構文は markdown="1" 属性を指定することにより有効
<td>【表のデータセル】に対しては markdown="block" を指定
<div markdown="1">__STRONG__</div>E
ブロック要素内のMarkdownブロック要素内のMarkdown構文は無効
タグとの間に空白行を入れることで有効化
<div>
(空白行)
__STRONG__
(空白行)
</div>
G
ブロック要素内のMarkdownブロック要素内のMarkdown構文は有効<div>__STRONG__</div>
コメントHTML のコメントは有効 (<!--~-->【コメント】)<!-- コメント -->
E
G
自動エスケープ
自動エスケープ<・&・> は自動的に文字参照の&lt;・&amp;・&gt; に変換
> の変換有無は実装依存
(HTML タグ・引用を除く)
x < y && z > y

x &lt; y &amp;&amp; z &gt; y

E
G
バックスラッシュエスケープ
文字のエスケープ意味を持つ文字をバックスラッシュでエスケープ 次の文字が対象
\  (バックスラッシュ)
`  (バッククォート)
*  (アスタリスク)
_  (アンダーライン)
{  }  (波括弧)
[  ]  (角括弧)
(  )  (丸括弧)
#  (ハッシュマーク・シャープ)
+  (プラス記号)
-  (マイナス記号・ハイフン)
.  (ドット)
!  (エクスクラメーション・マーク)
\_\_NOT STRONG\_\_
\\
\`
\*
\_
\{  \}
\[  \]
\(  \)
\#
\+
\-
\.
\!

E
G
文字のエスケープ (表用)| (垂直バー) をバックスラッシュでエスケープ\|E
G
文字のエスケープ (定義リスト用): (コロン) をバックスラッシュでエスケープ\:E
段落改行<p>【段落】<br>【改行】
段落1つ以上の空白行(スペース・タブを含む)で区切り
スペース・タブでのインデントなし (参照:コードブロック)
段落1

段落2

G
改行行末に2個以上のスペース改行ありの行 (2個以上)
改行行末に \ (バックスラッシュ)改行ありの行\G
見出し<h1>~<h6>【見出し】
レベル1見出しの次の行に2個以上の =見出し1
=======

G
レベル2見出しの次の行に2個以上の - (ハイフン)見出し2
-------
レベル1~61~6個の連続した # と見出し文字列
見出しレベル1~6に対応
末尾の連続した # はカット
# 見出し1
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6

### 見出し3 ###
id 付け見出しレベル1~4の後ろに {#【id】} としてid付けが可能
[【リンクテキスト】](#【id】)でリンク
見出し1 {#header1}
=======
## 見出し2 {#header2}

[見出し1へ](#header1)
[見出し2へ](#header2)
E
目次[TOC] で id付き見出しの目次作成[TOC]
引用<blockquote>【長い引用】
引用> 【引用】> 引用
G
引用の入れ子> > 【引用】> > 引用
引用内の見出し> #~# 【見出し】> ## 見出し
引用内のリスト> 【リスト構文】> 1. リスト項目1
> 2. リスト項目2
引用内のコードブロック> 【コードブロック構文】> (5個以上)コードブロック
リスト<ul>【項目番号なしリスト】<ol>【項目番号ありリスト】<li>【リスト項目】
項目番号なしリスト*・+・- の1つ【リスト項目】
インデント(1~3個のスペース )で入れ子
* 項目A
* 項目B
  + 項目B-1
  + 項目B-2
  + 項目B-3
- 項目C

G
項目番号ありリスト【数値】.【リスト項目】
新規のリストは【数値】に関係なく先頭からの連番
インデント(1個以上のスペース )で入れ子

(【数値】. をそのまま表現するには、【数値】\. )
1. 項目1
2. 項目2
3. 項目3

2001\. 2001年

G
項目番号 (拡張)【数値】)【リスト項目】1) 項目1
2) 項目2
G
項目番号 (拡張)-#【リスト項目】-# 項目1
-# 項目2
項目番号ありリスト (開始番号)1以外で開始されているリスト項目は開始番号指定10. 項目10
11. 項目11
E
G
項目番号 (順不同)【数値】は無視10. 項目 (1つ目のリスト)
20. 項目 (1つ目のリスト)
1. 項目 (1つ目のリスト)
1. 項目 (1つ目のリスト)
項目番号 (昇順指定)直前の【数値】以下の場合、新規リスト10. 項目 (1つ目のリスト)
20. 項目 (1つ目のリスト)
1. 項目 (2つ目のリスト)
1. 項目 (3つ目のリスト)
リスト内の引用4個のスペース または 1つのタブのインデントが必要+   項目
(空白行)
    > 引用
リスト内のコードブロック8個のスペース または 2つのタブのインデントが必要+   項目
(空白行)
        コードブロック
リスト種類の切替 (継続)項目番号の有無が切り替わってもリスト種類は継続1. 項目 (項目番号あり)
+  項目 (継続:項目番号あり)
リスト種類の切替 (切替)項目番号の有無が切り替わるとリスト種類は切替1. 項目 (項目番号あり)
+  項目 (切替:項目番号なし)
タスクリスト<input>【汎用入力コントロール】
タスクリストリスト項目に記述してチェックボックスを作成 (リストの入れ子可能)
(0個以上)[【チェック状態】](1個以上)

【チェック状態】チェックボックス
チェックなし
x (小文字エックス)チェック有
X (大文字エックス)チェック有
- [ ] チェックなし
- [x] チェック有
- [X] チェック有
  • チェックなし
  • チェック有
  • チェック有
G
定義リスト<dl>【定義リスト】<dt>【定義リストの用語】<dd>【定義リストの説明】
定義リスト(空白行)
【用語 (複数指定可)】
(0~3個):(1個以上・タブ)【説明 (複数指定可)】
(空白行)
用語1
:   用語1の説明
(空白行)
用語A
用語B
:   用語ABの説明1
:   用語ABの説明2
E
コードブロック<pre>【整形済みテキスト】<code>【ソースコード】
コードブロックインデント (4個以上のスペース・タブ) (4個)CODE
⇒ <pre><code>CODE</code></pre>

G
エンコードコードブロック内の &・<・> は自動的にエンコード (4個)<input>
⇒ <pre><code>&lt;input&gt;</code></pre>
シンタックスハイライト
フェンスドコードブロック3個以上の同数の ~ (チルダ) または ` (バッククォート) の行で囲む~~~
コードブロック
~~~
E
G
シンタックスハイライトフェンスドコードブロックの開始行の後に .【クラス名】 または {.【クラス名】}

対応言語は実装依存
~~~{.c}
int add(int x, int y)
{
    return x + y;
}
~~~
E
シンタックスハイライトフェンスドコードブロックの開始行の後に 【言語】
class="language-【言語】" (lang-) 属性追加

対応言語は実装依存
~~~c
int add(int x, int y)
{
    return x + y;
}
~~~
G
シンタックスハイライトフェンスドコードブロックの開始行の後に {.【拡張子】}

対応言語は実装依存
~~~{.c}
int add(int x, int y)
{
    return x + y;
}
~~~
水平罫線<hr>【段落区切り (水平罫線)】
水平罫線 3個以上の下記文字 (間にスペース使用可)
- (ハイフン)
* (アスタリスク)
_ (アンダーライン)

(上記の見出し2を除く)
-----
*****
_____
- - -

*  *  *
_ _ _

G
リンク [【リンクテキスト】](【URL】 ["【タイトル】"])

<a href="【URL】" title="【タイトル】">【リンクテキスト】</a>
[グーグル](https://www.google.co.jp "Google")

[ヤフー](https://www.yahoo.co.jp "Yahoo!")

G
参照リンク ・リンクの記述
[【リンクテキスト】] (0個以上)[【識別子】]


・リンク定義の記述 (任意の位置)
[【識別子】]: (1個以上・タブ)【URL】[ "【タイトル】" ]

【識別子】:文字 (大文字・小文字の区別なし)・数字・スペース・句読点
"【タイトル】":'【タイトル】'・(【タイトル】) でも可
[グーグル][GOOGLE]

[ヤフー][YAHOO]

[GOOGLE]: https://www.google.co.jp "Google"

[YAHOO]: https://www.yahoo.co.jp "Yahoo!"

G
URL
(山括弧)
URLを山括弧で囲む
<【URL】>
⇒ <a href="【URL】">【URL】</a>
<https://www.google.co.jp>
G
Eメールアドレス
(山括弧)
Eメールアドレスを山括弧で囲む
<【Eメールアドレス】>
⇒ <a href="mailto:【Eメールアドレス】">
但し、16進文字列に変換する等スパムボットによるEメールアドレスの取得をできるだけ回避 (実装依存)
<address@example.com>
URL
Eメールアドレス
(山括弧なし)
URL・Eメールアドレス は、山括弧なしで自動的にリンクhttps://www.google.co.jp
address@example.com
G
強調重要<em>【強調】<strong>【重要】
強調・重要* (アスタリスク) または _ (アンダーライン) で囲むと<em>【強調】に変換
2個 (** または __) で囲むと<strong>【重要】に変換
通常の文字とするには、\* 等 (バックスラッシュエスケープ)
*Emphasis*
__Strong__

E
G
単語内の指定 (有効)単語内の指定も有効Y_Emphasis_Y Y**Strong**Y
⇒ YEmphasisY YStrongY
単語内の指定 (条件付き有効)単語内の指定も有効 (_・__ は除外)N_NotEmphasis_N Y**Strong**Y
⇒ N_NotEmphasis_N YStrongY
E
G
単語内の指定 (条件付き有効)単語内の指定も有効 (_ は除外)N_NotEmphasis_N Y__Strong__Y
⇒ N_NotEmphasis_N YStrongY
単語内の指定 (無効)単語内の指定は無効N_NotEmphasis_N N**NotStrong**N
⇒ N_NotEmphasis_N N**NotStrong**N
削除部分<del>【削除部分】
削除部分2個の ~ (チルダ) で囲むと削除部分に変換~~DELETE~~
DELETE
G
脚注<a>【ハイパーリンク】
脚注・【脚注】へのリンク
【テキスト】[^【識別子】]

・【脚注】定義 (どこにでも定義可)
[^【識別子】]: 【脚注】

【識別子】:HTMLのid 属性で有効な文字の組合せ
【脚注】:ブロックレベル要素 (複数の段落・リスト・ブロッククォート 等) の指定が可能
テキスト[^1] テキスト[^a2]

[^1]: 脚注1
[^a2]: 脚注2


テキスト1 テキスト2
  1. 脚注1 ↩︎

  2. 脚注2 ↩︎

E
略語<abbr>【略語】
略語定義された略語が自動的に対象 (どこにでも定義可)

*[【略語 (大文字・小文字の区別有)】]: 【省略前の語】
*[WWW]: World Wide Web
WWW とは?

<abbr title="World Wide Web">WWW</abbr> とは?
E
インラインコード<code>【ソースコード】
インラインコードコード部分を ` (バッククォート) で囲む
` をインラインコード内で表示するには、2個のバッククォートで囲む
`CODE`
⇒ <code>CODE</code>

``CODE ` CODE``
⇒ <code>CODE ` CODE</code>

G
ダミースペースバッククォートをインラインコード内の先頭・末尾に表示可能にする為、インラインコードの開始・終了位置に変換時に削除されるスペースの記述が可能`````
⇒ <code>`</code>

```CODE```
⇒ <code>`CODE`</code>
エンコードインラインコード内の &・<・> は自動的にエンコード`<input>`
⇒ <code>&lt;input&gt;</code>
イメージ<img>【画像】
イメージ ![【代替テキスト】](【リソースURL】 ["【タイトル】"])

<img src="【リソースURL】" title="【タイトル】">
![代替テキスト](image/image.png "タイトル")
G
参照イメージ・イメージの記述
![【代替テキスト】] (0個以上)[【識別子】]

・イメージ定義の記述 (任意の位置)
[【識別子】]: (1個以上・タブ)【リソースURL】[ "【タイトル】" ]

【識別子】:文字 (大文字・小文字の区別なし)・数字・スペース・句読点
"【タイトル】":'【タイトル】'・(【タイトル】) でも可
![代替テキスト][image]

[image]: ../image/image.png "タイトル"

G
<table>【表】
各セルは | で区分け:左右に半角スペース可・表の左右は省略可
1行目:ヘッダセル
2行目:テキスト配置の指定 ( - は1個以上)
未指定- ~ -
左寄せ:- ~ -
中央寄せ:- ~ -:
右寄せ- ~ -:
3行目以降:データセル (Markdown構文有効)
|Non     |Left    |Center  |Right   |
|--------|:-------|:------:|-------:|
|Data (N)|Data (L)|Data (C)|Data (R)|
|Data    |__Data__|_Data_  |Data    |

⇒ (出力例:実装依存)
NonLeftCenterRight
Data (N)Data (L)Data (C)Data (R)
DataDataDataData
E
G
セルの結合セルに ^ (キャレット) を指定すると上のセルと結合
セル内容を省略すると左側のセルと結合
Header1|Header2|Header3|Header4
-------|-------|-------|-------
Data   |Data   |Data   |Data
^      |Data   |Data   |Data
^      |Data   |||

⇒ (出力例:実装依存)
Header1Header2Header3Header4
DataDataDataData
DataDataData
Data

仕様
Daring Fireball Markdown Main
EPHP Markdown Extra
GGitHub Flavored Markdown Spec (GFM)
JSDoc・Doxygen
サポート
その他
外部リンク明示的な仕様には外部リンクを設定