Markdownのコメント
Markdownには独自のコメント記法はありませんが、表示されたページから文字を隠す方法が2つあります。HTMLコメントと、どこからも参照されないリンク定義です。それぞれの書き方と使い分けを説明します。
要点
Markdownでコメントを書くには?
HTMLコメントで囲みます:<!-- メモ -->。表示されたページには出ませんが、ファイルには残ります。HTMLにも残したくない場合は、参照されないリンク定義を1行で書きます:[//]: # (メモ)。
Markdown
表示される文。
<!-- このメモは表示されません。 -->
[//]: # (これも表示されません。)
続きの文。表示結果
表示される文。
続きの文。
コメントの書き方と例
どちらのコメントも表示されたページからは消えます。違いは、文字がほかにどこへ残るかです。
HTMLコメント
表示されたページには出ません。Markdownファイルには残り、サイトによってはページのHTMLソースにも残ります。
Markdown
表示される文。
<!-- このメモは表示されません。 -->
続きの文。表示結果
表示される文。
続きの文。
複数行のコメント
HTMLコメントは何行にもまたがって書けます。
Markdown
<!--
TODO:スクリーンショットと
トラブル対処を追加する
-->
本文はここから続きます。表示結果
本文はここから続きます。
リンク定義を使う方法
どこからも参照されないリンク定義は何も出力せず、HTMLにも残りません。1行で書き、前に空行が必要です。
Markdown
表示される文。
[//]: # (このコメントはHTMLにも出ません。)
続きの文。表示結果
表示される文。
続きの文。
リンク定義のほかの書き方
ラベルとアドレスは何でもよく、コメントは括弧か引用符で囲んだタイトルの部分に書きます。
Markdown
[comment]: <> (空のアドレスで隠す)
[//]: # "引用符のタイトルで隠す"
この行だけが表示されます。表示結果
この行だけが表示されます。
段落ごとコメントアウトする
MarkdownをHTMLコメントで囲むと、削除せずに非表示にできます。
Markdown
## 変更履歴
<!--
## 以前のロードマップ
- ダークモード
-->
- ログインの不具合を修正表示結果
変更履歴
- ログインの不具合を修正
Obsidianのコメント
Obsidianでは %% で囲んだ文字が閲覧画面で非表示になります。ほかのアプリではパーセント記号ごと表示されます。
Markdown
表示される文 %%インラインのコメント%%
%%
複数行の
非表示ブロック
%%Obsidianだけの書き方です。ほかのMarkdownアプリでは表示が異なるため、プレビューはありません。
各サービスでの対応状況
Markdownファイルを表示するアプリは、どちらのコメントも非表示にします。チャットツールにはコメントがありません。
| サービス | 対応 | 補足 |
|---|---|---|
| GitHub / GitLab | 対応 | ファイル、Issue、PRでHTMLコメントと [//]: # が非表示になります。 |
| Obsidian | 対応 | HTMLコメントと %%文字%% が非表示になります。 |
| VS Code / Typora | 対応 | プレビューではどちらも非表示です。 |
| Qiita / Zenn | 違いあり | どちらもHTMLコメントは表示されません。Zennは1行に収まるコメントだけに対応しています。 |
| Discord / Slack | 非対応 | コメントはなく、入力した文字がそのまま投稿されます。 |
よくある質問
HTMLコメントは読者に見えますか?
表示されたページには出ません。ただしMarkdownファイルを開けば誰でも読めますし、サイトによってはページのHTMLソースに残ります。パスワードや非公開のメモは書かないでください。
[//]: # は何を意味しますか?
[//]: # は何を意味しますか?ラベルが
//、アドレスが # のリンク定義です。どこからも参照されないため何も出力されず、続く括弧の中の文字がコメントとして働きます。コメントが表示されてしまうのはなぜですか?
リンク定義の方法は、前に空行が必要で、1行に収める必要があります。HTMLコメントは
--> で閉じる必要があり、閉じていないとそれ以降の内容がすべて消えることがあります。GitHubでコメントは使えますか?
使えます。GitHubはファイル、Issue、プルリクエストでHTMLコメントと
[//]: # を非表示にします。IssueやプルリクエストのテンプレートではHTMLコメントで記入方法を書くのが一般的です。段落をまとめて非表示にできますか?
できます。隠したい部分の前の行に
<!--、後の行に --> を書くと、その間のMarkdownは表示されません。コードブロックの中にコメントを書けますか?
コードブロックの中はすべて表示されるため、Markdownのコメントもそのまま文字として出ます。コードの言語のコメント記法を使います。
Obsidianでコメントを書くには?
%% で囲みます:%%非表示%%。編集画面では見え、閲覧画面では非表示になります。PDFやWordに書き出すとコメントは残りますか?
残りません。どちらのコメントも何も出力しないため、Markdown PDF 変換とMarkdown Word 変換では取り除かれます。