マークダウン(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個以上の =
3個以下のスペースのインデント可で複数行可 GFM
見出し1
========

G
レベル2見出しの次の行に2個以上の - (ハイフン)
3個以下のスペースのインデント可で複数行可 GFM
見出し2
--------
レベル1~61~6個の連続した # と見出し (見出しレベル1~6に対応)
# の後に1個以上のスペースが必要 GFM
末尾の連続した # はカット
前後のホワイトスペースはカット GFM (他の仕様は暗黙で実装)
# 見出し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-言語" でクラス追加

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

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

(上記の見出し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個の ~ (チルダ) で囲むと削除部分に変換 1.8.5~~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

記法・説明
GFMGFM のみ対応
GFM x.xGFM のバージョン x.x で対応 (特記なし:0.28)
仕様
Daring Fireball Markdown Main 対応
EPHP Markdown Extra 対応
GGitHub Flavored Markdown Spec (GFM) 対応
JSDoc・Doxygen
サポート
その他
外部リンク明示的な仕様には外部リンクを設定

外部リンク