etc./StackOverFlow

마크다운의 댓글

청렴결백한 만능 재주꾼 2022. 1. 5. 09:43
반응형

질문자 :Betamos


HTML 출력에서 렌더링되지 않는 텍스트와 같이 Markdown에서 주석을 어떻게 작성합니까? Markdown 프로젝트 에서 아무것도 찾지 못했습니다.



이전에 제안된 모든 솔루션(특정 구현이 필요한 솔루션 제외)은 표시되지 않더라도 주석이 출력 HTML에 포함된다고 생각합니다.

자신만을 위한 주석을 원하면(변환된 문서의 독자는 "소스 보기"를 사용하더라도 볼 수 없어야 함) 다음과 같은 링크 레이블(참조 스타일 링크와 함께 사용)을 사용할 수 있습니다. 핵심 Markdown 사양에서 사용 가능:

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.)

플랫폼 호환성을 개선하기 위해(그리고 하나의 키 입력을 절약하기 위해 <> # (합법적인 하이퍼링크 대상)을 사용할 수도 있습니다.

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

이식성을 극대화하려면 이러한 유형의 주석 앞뒤에 빈 줄을 삽입하는 것이 중요합니다. 정의가 일반 텍스트와 비교될 때 일부 Markdown 파서가 올바르게 작동하지 않기 때문입니다. Babelmark에 대한 가장 최근의 연구는 앞과 뒤의 공백 라인이 모두 중요하다는 것을 보여줍니다. 일부 파서는 앞에 빈 줄이 없으면 주석을 출력하고 일부 파서는 뒤에 빈 줄이 없으면 다음 줄을 제외합니다.

일반적으로 이 접근 방식은 핵심 사양의 일부이기 때문에 대부분의 Markdown 파서에서 작동해야 합니다. (여러 개의 링크가 정의된 경우 또는 링크가 정의되었지만 사용되지 않은 경우의 동작이 엄격하게 지정되지 않은 경우에도).


Magnus

다음과 같은 표준 HTML 태그를 사용합니다.

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

삼중 대시를 주목하십시오. 장점은 TeX 또는 HTML 출력을 생성할 때 pandoc 과 함께 작동한다는 것입니다. 더 자세한 정보는 pandoc-discuss 그룹에서 확인할 수 있습니다.


chl

이 작은 연구는 Magnus의 답변을 증명하고 개선합니다.

가장 플랫폼 독립적인 구문은 다음과 같습니다.

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

두 조건 모두 중요합니다.

  1. # 사용( <> 아님)
  2. 주석 앞에 빈 줄이 있습니다. 주석 뒤의 빈 줄은 결과에 영향을 미치지 않습니다.

엄격한 Markdown 사양 CommonMark 는 이 구문으로 의도한 대로만 작동합니다( <> 및/또는 빈 줄이 아닌 경우).

이것을 증명하기 위해 John MacFarlane이 작성한 Babelmark2를 사용할 것입니다. 이 도구는 28개의 Markdown 구현에서 특정 소스 코드의 렌더링을 확인합니다.

( + - 테스트 통과, - - 통과하지 못함, ? - 렌더링된 HTML에 표시되지 않는 일부 쓰레기를 남깁니다.)

이것은 위의 진술을 증명합니다.

이러한 구현은 7가지 테스트 모두에 실패합니다. 렌더링 시 제외 주석을 사용할 기회가 없습니다.

  • 세베/마크다운 1.1.0
  • cebe/markdown MarkdownExtra 1.1.0
  • 세베/마크다운 GFM 1.1.0
  • s9e\TextFormatter(팻다운/PHP)

Nick Volynkin

Jekyll 또는 octopress를 사용하는 경우 다음도 작동합니다.

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

Liquid 태그 {% comment %} 는 MarkDown 프로세서가 도달하기 전에 먼저 구문 분석되고 제거됩니다. 방문자는 브라우저에서 소스를 보려고 할 때 볼 수 없습니다.


uiroshan

이것은 GitHub에서 작동합니다.

 [](Comment text goes here)

결과 HTML은 다음과 같습니다.

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

기본적으로 빈 링크입니다. 분명히 렌더링된 텍스트의 소스에서 읽을 수 있지만 어쨌든 GitHub에서 읽을 수 있습니다.


jomo

대안은 양식화된 HTML 태그 내에 주석을 넣는 것입니다. 이런 식으로 필요에 따라 가시성을 전환할 수 있습니다. 예를 들어 CSS 스타일시트에 주석 클래스를 정의합니다.

.comment { display: none; }

그런 다음 다음과 같은 향상된 MARKDOWN

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

BROWSER에 다음과 같이 나타납니다.

We do support comments


Stu

Vim Instant-Markdown 사용자는 다음을 사용해야 합니다.

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

alex

다음은 매우 잘 작동합니다.

 <empty line> [whatever comment text]::

이 메서드는 구문을 활용하여 참조를 통해 링크를 생성합니다.
[1]: http://example.org 생성된 링크 참조가 렌더링되지 않기 때문에 다음 중 어느 것도 렌더링되지 않습니다.

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

anapsix

또한 점점 더 많은 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.

Kerim

<!--- ... -->

Pandoc Markdown(Pandoc 1.12.2.1)에서는 작동하지 않습니다. 댓글은 여전히 html로 표시됩니다. 다음이 작동했습니다.

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

그런 다음 +각주 확장자를 사용합니다. 그것은 본질적으로 결코 참조되지 않는 각주입니다.


Brad Porter

비평가, 비 에코 R 블록에 주석을 넣는 것은 어떻습니까? 즉,

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

저에게 잘 맞는 것 같습니다.


David Kaufman

공개: 플러그인을 작성했습니다.

질문이 특정 마크다운 구현을 지정하지 않기 때문에 위에서 언급한 것과 동일한 pandoc 주석 스타일을 구현하는 python-markdown주석 플러그인을 언급하고 싶습니다.


Ryne Everett

kramdown — Jekyll 및 GitHub 페이지의 기본값인 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 엔진으로 이식할 수 없다는 단점이 있습니다.


vossad01

pandoc의 경우 주석을 차단하는 좋은 방법 은 pandoc 작성자가 제안한 대로 yaml 메타블록을 사용하는 것입니다. vim , vim-pandocvim-pandoc-syntax )에서 제안된 다른 많은 솔루션과 비교하여 주석의 더 적절한 구문 강조 표시를 제공한다는 것을 알았습니다.

html-comments는 중첩될 수 없으므로 html-inline 주석과 함께 yaml 블록 주석을 사용합니다. 불행히도 yaml metablock 내에서 주석 처리를 차단할 수 있는 방법이 없으므로 모든 행을 개별적으로 주석 처리해야 합니다. 다행히도 소프트랩 단락에는 한 줄만 있어야 합니다.

~/.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 )를 실행합니다. 주석 해제에도 동일하게 작동합니다.


joelostblom

당신은 시도 할 수 있습니다

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

magaga

다음과 같이 할 수 있습니다(YAML 블록).

 ~~~ # This is a # multiline # comment ...

라텍스 출력으로만 해봤는데 다른분들은 확인 부탁드립니다.


Flo

사용하는 경우 mkdocs을 , 당신에 추가 mkdocs.yml :

 - pymdownx.striphtml: strip_comments: true strip_js_on_attributes: false

그런 다음 모든 마크다운 파일의 일반 HTML 주석은 다음과 같습니다.

 <!-- this is a comment -->

html 출력에서 제거됩니다.


Edouard Thiel

나는 내 텍스트에 추가하는 #omitbegin과 #omitend 마커 사이를 걸러내는 작은 awk 프로그램을 작성했습니다. awk를 사용하여 출력을 pandoc이 처리할 수 있는 임시 파일로 파이프합니다. 이렇게:

awk -f omitfilter.awk aim2_article.md >aim2_article_tmp.md

pandoc --pdf-engine=xelatex --lua-filter=pagebreak.lua --filter pandoc-crossref --citeproc aim2_article_tmp.md -o aim2_article.pdf

다음은 omit filter.awk .

 /#omitbegin/ { insideOmit = 1; } ! insideOmit { print $0 } /#omitend/ { insideOmit = 0; }

John Johnson

Pandoc Markdown의 경우 인라인 "코드" 구문과 같은 언어 comment 과 함께 백틱을 사용합니다.

 `here's a comment`{=comment}

이것은 모든 출력에서 자동으로 필터링됩니다. 코드 구문을 오버로드하고 여러 줄 주석에 대한 코드 블록에서도 작동합니다. 나는 시도하지 않았지만 이것이 비 Pandoc Markdown에서는 작동하지 않는다고 생각합니다.


Rico Picone

이 Markdown 주석은 Jekyll이 있는 GitHub 페이지 사이트에서 렌더링되지 않습니다.

 [whatever]: text

Alemens

출처 : http:www.stackoverflow.com/questions/4823468/comments-in-markdown

반응형