web-dev-qa-db-ja.com

Markdownでのコメント

マークダウンファイルにコメントを保存するための構文は何ですか。ファイルの先頭にCVS $ Id $コメントがありますか? マークダウンプロジェクト には何も見つかりませんでした。

1152
Betamos

私は、以前に提案されたすべての解決策(特定の実装を必要とするものを除く)が、表示されていなくても、出力HTMLにコメントが含まれる結果になると考えています。

自分だけのコメント(変換されたドキュメントの読者は「ソースを表示」を使っても表示できないはずです)が必要な場合は、(ab)リンクラベル(参照スタイルのリンクで使用)を使用できます。コアマークダウン仕様で利用可能です。

http://daringfireball.net/projects/markdown/syntax#link

あれは:

[comment]: <> (This is a comment, it will not be included)
[comment]: <> (in  the output file unless you use it in)
[comment]: <> (a reference style link.)

あるいは、さらに進むこともできます。

[//]: <> (This is also a comment.)

プラットフォームの互換性を向上させるため(そして1つのキーストロークを節約するため)、#の代わりに<>(これは正当なハイパーリンクターゲットです)を使用することも可能です。

[//]: # (This may be the most platform independent comment)

最大の移植性のためには、この種のコメントの前後に空白行を挿入することが重要です。なぜなら、定義が通常のテキストに対してブラッシュアップするとき、一部のMarkdownパーサは正しく動作しないからです。 Babelmarkに関する最新の調査によると、前後の空白行はどちらも重要です。前に空白行がない場合はコメントを出力するパーサーもあれば、後に空白行がない場合は次の行を除外するパーサーもあります。

一般に、これはコア仕様の一部であるため、このアプローチはほとんどのMarkdownパーサーで機能するはずです。 (複数のリンクが定義されている場合、またはリンクが定義されているが使用されていない場合の動作が厳密に指定されていない場合でも)。

1204
Magnus

私は標準のHTMLタグを使います。

<!---
your comment goes here
and here
-->

トリプルダッシュに注意してください。その利点は、TeXまたはHTML出力を生成するときに pandoc で機能することです。より詳しい情報は pandoc-discu グループにあります。

879
chl

この小さな研究は証明し、そして洗練させます マグナスによる答え

最もプラットフォームに依存しない構文は

(empty line)
[comment]: # (This actually is the most platform independent comment)

両方の条件が重要です。

  1. #を使用する(<>ではなく)
  2. コメントの前に空の行がある 。コメントの後の空行は結果に影響を与えません。

厳密なMarkdown指定 CommonMark はこの構文で意図したとおりにのみ機能します(<>や空行では機能しません)

これを証明するために、John MacFarlaneによって書かれたBabelmark2を使います。このツールは、28のMarkdown実装で特定のソースコードのレンダリングをチェックします。

+ - テストに合格、- - 不合格、? - レンダリングされたHTMLには表示されないゴミが残ります).

これは上記のことを証明しています。

これらの実装は7つのテストすべてに失敗します。レンダリング時にコメントを除外するコメントを使用することはできません。

  • cebe/markdown 1.1.0
  • cebe/markdown MarkdownExtra 1.1.0
  • cebe/markdown GFM 1.1.0
  • s9e\TextFormatter(Fatdown/PHP)
158
Nick Volynkin

Jekyllまたはoctopressを使用している場合は、以下の方法も有効です。

{% comment %} 
    These commments will not include inside the source.
{% endcomment %}

リキッドタグ{% comment %}は最初に解析され、MarkDownプロセッサが到達する前に削除されます。訪問者は自分のブラウザからソースを表示しようとしたときに表示されません。

50
uiroshan

別の方法は、定型化されたHTMLタグ内にコメントを入れることです。このようにして、必要に応じてそれらの可視性を切り替えることができます。たとえば、CSSスタイルシートにコメントクラスを定義します。

.comment { display: none; }

その後、次の強化されたMARKDOWN

We do <span class="comment">NOT</span> support comments

ブラウザに次のように表示されます。

We do support comments

33
Stu

これはGitHub上で動作します。

[](Comment text goes here)

結果のHTMLは以下のようになります。

<a href="Comment%20text%20goes%20here"></a>

これは基本的に空のリンクです。明らかにあなたはレンダリングされたテキストのソースでそれを読むことができます、しかしあなたはとにかくGitHubでそれをすることができます。

30
jomo

また、ますます多くのMarkdownツールでサポートされているCritic Markupもご覧ください。

http://criticmarkup.com/ /

Comment {>> <<}

Lorem ipsum dolor sit amet.{>>This is a comment<<}

Highlight+Comment {== ==}{>> <<}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. {==Vestibulum at orci magna. Phasellus augue justo, sodales eu pulvinar ac, vulputate eget nulla.==}{>>confusing<<} Mauris massa sem, tempor sed cursus et, semper tincidunt lacus.
17
Kerim

Vim - Instant-Markdown ユーザーは使う必要がある

<!---
First comment line...
//
_NO_BLANK_LINES_ARE_ALLOWED_
//
_and_try_to_avoid_double_minuses_like_this_: --
//
last comment line.
-->
14
alex

非eval、非echo Rブロックにコメントを入れてはどうでしょうか。すなわち

```{r echo=FALSE, eval=FALSE}
All the comments!
```

私にとってはうまくいくようです。

13
David Kaufman

開示:私はプラグインを書きました。

質問は特定のマークダウンの実装を指定していないので、私は コメントプラグイン for python-markdown について言及したいと思います。

11
Ryne Everett
<!--- ... --> 

Pandoc Markdown(Pandoc 1.12.2.1)では機能しません。コメントはまだHTMLに表示されています。以下はうまくいきました:

Blank line
[^Comment]:  Text that will not appear in html source
Blank line

次に+ footnoteという拡張子を使います。これは基本的には決して参照されない脚注です。

9
Brad Porter

Pandocの場合、コメントをブロックするのに良い方法はyamlメタブロック pandocの作者によって提案されたように を使うことです。少なくとも私の環境(vimvim-pandoc、およびvim-pandoc-syntax)では、これが他の提案された解決策の多くと比較してコメントのより適切な構文強調を与えることに気付きました。

html-commentsは入れ子にすることはできません なので、私はhtmlインラインコメントと組み合わせてyamlブロックコメントを使用します。残念ながら、 yamlメタブロック内でブロックコメントを書く方法はありません があるので、すべての行を個別にコメントする必要があります。幸い、ソフトトラップされた段落には1行しかありません。

私の~/.vimrcでは、ブロックコメントのカスタムショートカットを設定しました。

nmap <Leader>b }o<Esc>O...<Esc>{ji#<Esc>O---<Esc>2<down>
nmap <Leader>v {jddx}kdd

私は私の,-キーとして<Leader>を使っているので、,b,vはそれぞれパラグラフをコメントし、コメントを外します。複数の段落をコメントする必要がある場合は、j,bをマクロ(通常はQ)にマップし、<number-of-paragraphs><name-of-macro>を実行します(例:(3Q))。

5
joelostblom

kramdown - JekyllのデフォルトであるGitHub PagesのデフォルトであるRubyベースのマークダウンエンジン - はその拡張構文を通して組み込みコメントサポートを持っている

{::comment}
This text is completely ignored by kramdown - a comment in the text.
{:/comment}

Do you see {::comment}this text{:/comment}?
{::comment}some other comment{:/}

これにはインラインコメントを許可するという利点がありますが、他のMarkdownエンジンに移植できないという欠点があります。

5
vossad01

あなたが試すことができます

[](
Your comments go here however you cannot leave
// a blank line so fill blank lines with
//
Something
)
4
magaga

以下は非常にうまく機能します

<empty line>
[whatever comment text]::

このメソッドは 参照を介してリンクを作成する構文 を利用します
[1]: http://example.orgで作成されたリンク参照はレンダリングされないため、次のいずれも同様にレンダリングされません。

<empty line>
[whatever]::
[whatever]:whatever
[whatever]: :
[whatever]: whatever
3
anapsix

これをすることができます(YAMLブロック):

---
# This is a
# multiline
# comment
...

私はラテックス出力だけで試しました、他の人のために確かめてください。

0
Flo

Github README.md OR St​​ackoverflow回答

Github READMEまたはStackoverflowの回答には、私が使用します # インラインコメント。

例:


# clone the remote repository to your local machine

npm clone https://github.com/chebaby/echebaby.git

# change directory

cd echebaby

# install dependencies

yarn install
0
chebaby