Markdown

Markdownは、文書を記述するための軽量マークアップ言語のひとつである。本来はプレーンテキスト形式で手軽に書いた文書からHTMLを生成するために開発されたものである。

※フレーバーが多いため、オリジナル記法とGithubMrkdownなどの独自記法、推奨されているルールを認識した上で使うようにしないと利用ライブラリやプラットフォームで差異が出るので注意

Reference

全般

  • 連続する空白行は1つにする(MD012)
  • 最後の行は改行文字で終える(MD047)
  • 文末に不要な空白を入れない≠改行のためのスペース(MD009)
  • HTMLを書かない(MD033)

テキスト

半角スペースを連続で使用しない

_* で囲むとemタグ(強調要素)≠イタリック体に変換
__** で囲むとstrongタグ(重要性要素)≠太字に変換

  • 文字の長さが80文字を超える場合は改行する(MD013)
  • セクションを区切るためにヘッダーの代わりとして強調を使わない(MD036)
  • 強調マーカーの前後にスペースを入れない(MD037)

リンク

  • 構文を逆にしない(MD011)
  • URLをそのまま記述する場合は<>で囲む(MD034)
  • リンクテキスト前後に空白を入れない(MD039)
  • 空リンクを指定しない(MD042)
<https://google.com/>
![text](url)

画像

  • 画像設定する場合は代替テキスト(ALT)設定を行う(MD045)
![alt](url)

favicon

ヘッダー

#の数に応じてh1~h6を出力

  • 見出しはh1->h2->h3のように一つずつ(MD001)
  • 同じドキュメント内で異なるヘッダースタイル(Ex.# Header #)を混同しない(MD003)
  • #の前には何も入れず、#の後は半角スペースを一つ入れる(MD010,MD018,MD019,MD020,MD021,MD023)
  • 同一のテキストを複数のヘッダーに指定しない(MD024)
  • ヘッダーの前後は空白行を入れる(MD022)
  • 一行目にだけ最上位のヘッダーを使う(MD002,MD025,MD041)
  • ヘッダーテキストの最後に.,;:!。,;:!の文字を使わない(MD026)
# Header1

## Header2

### Header3

#### Header4

##### Header5

###### Header6

リスト

  • 同階層のリスト記号は一致させる(MD004)
  • リストの初めの要素にインデントを付けない(MD006)
  • 階層のインデントは半角スペースx2で揃える(MD005,MD007,MD010)
  • 番号リストのプレフィックスは1からの番順にする(MD029)
  • リストのプレフィックス後は半角スペースx1(MD030)
  • 空白行を前後に入れる(MD032)
* Item 1
  + Item 2
  + Item 3
    - Item 4
    - Item 5
    - Item 6

1. Item A
2. Item B
3. Item C

コードスパン/ブロック

  • シェルコマンドなどのコードブロックで$を含めない(MD014)
  • 空白行を前後に入れる(MD031)
  • コードスパンのマーカー前後に空白を入れない(MD038)
  • コードブロックに言語指定を入れる(MD040)
  • コードブロックのマーカーに一貫性を持たせる(MD046,MD047)
`text`
```bash
echo "HelloWorld"
```

引用ブロック

  • >の後にスペースを入れない(MD027)
  • 複数の引用ブロックを空白行だけで区切らない(MD028)
>This is a blockquote
>which is immediately followed by

区切り線

  • 記述に一貫性を持たせる(MD035)
---

コメント

通常のHtmlコメント(非推奨)

<!--COMMENT-->

レンダーされないコメント

[comment]: <> (This is a comment, it will not be included)

MarkdownLint@20210219

  • MD001 Heading levels should only increment by one level at a time
  • MD002 First heading should be a top-level heading
  • MD003 Heading style
  • MD004 Unordered list style
  • MD005 Inconsistent indentation for list items at the same level
  • MD006 Consider starting bulleted lists at the beginning of the line
  • MD007 Unordered list indentation
  • MD009 Trailing spaces
  • MD010 Hard tabs
  • MD011 Reversed link syntax
  • MD012 Multiple consecutive blank lines
  • MD013 Line length
  • MD014 Dollar signs used before commands without showing output
  • MD018 No space after hash on atx style heading
  • MD019 Multiple spaces after hash on atx style heading
  • MD020 No space inside hashes on closed atx style heading
  • MD021 Multiple spaces inside hashes on closed atx style heading
  • MD022 Headings should be surrounded by blank lines
  • MD023 Headings must start at the beginning of the line
  • MD024 Multiple headings with the same content
  • MD025 Multiple top-level headings in the same document
  • MD026 Trailing punctuation in heading
  • MD027 Multiple spaces after blockquote symbol
  • MD028 Blank line inside blockquote
  • MD029 Ordered list item prefix
  • MD030 Spaces after list markers
  • MD031 Fenced code blocks should be surrounded by blank lines
  • MD032 Lists should be surrounded by blank lines
  • MD033 Inline HTML
  • MD034 Bare URL used
  • MD035 Horizontal rule style
  • MD036 Emphasis used instead of a heading
  • MD037 Spaces inside emphasis markers
  • MD038 Spaces inside code span elements
  • MD039 Spaces inside link text
  • MD040 Fenced code blocks should have a language specified
  • MD041 First line in a file should be a top-level heading
  • MD042 No empty links
  • MD043 Required heading structure
  • MD044 Proper names should have the correct capitalization
  • MD045 Images should have alternate text (alt text)
  • MD046 Code block style
  • MD047 Files should end with a single newline character
  • MD048 Code fence style