Markdown में टिप्पणियाँ


1398

एक मार्कडाउन फ़ाइल में एक टिप्पणी संग्रहीत करने के लिए वाक्यविन्यास क्या है, जैसे फ़ाइल के शीर्ष पर CVS $ Id $ टिप्पणी? मुझे मार्कडाउन प्रोजेक्ट पर कुछ नहीं मिला ।


10
लाइनों के बीच पढ़ने से ऐसा लगता है कि आप मेटाडेटा को अपने मार्कडाउन में संलग्न करना चाहते हैं। उस कारण से, मेरा सुझाव है कि आप एक प्रीप्रोसेसर का उपयोग करें जो आपको हेडर जोड़ने की अनुमति देता है। एक उदाहरण के लिए, Jekyll के फ्रंट मैटर देखें । एक अन्य उदाहरण के लिए, देखें कि बैशो अपने दस्तावेज के लिए मिडिलमैन का उपयोग कैसे करता है । (नोट: यह सवाल का सीधा जवाब नहीं है, यही कारण है कि मैं इसे एक टिप्पणी के रूप में साझा कर रहा हूं।)
डेविड जे।


यहाँ Babelmark पर विभिन्न पार्सर्स के साथ विभिन्न प्रकारों की एक बेंचमार्क है ।
उलिंस बीएन

जवाबों:


1451

मेरा मानना ​​है कि सभी पहले से प्रस्तावित समाधान (उन लोगों के अलावा जिन्हें विशिष्ट कार्यान्वयन की आवश्यकता होती है) आउटपुट HTML में शामिल टिप्पणियों में परिणाम देते हैं, भले ही वे प्रदर्शित न हों।

यदि आप एक ऐसी टिप्पणी चाहते हैं जो आपके लिए कड़ाई से है (परिवर्तित दस्तावेज़ के पाठकों को इसे देखने में सक्षम नहीं होना चाहिए, यहां तक ​​कि "व्यू सोर्स" के साथ भी) तो आप लिंक लेबल्स का उपयोग कर सकते हैं (संदर्भ शैली लिंक के साथ उपयोग के लिए) मुख्य मार्कडाउन विनिर्देश में उपलब्ध है:

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)

अधिकतम पोर्टेबिलिटी के लिए, इस प्रकार की टिप्पणियों से पहले और बाद में एक रिक्त लाइन डालना महत्वपूर्ण है, क्योंकि कुछ मार्केडेशन पार्सर सही तरीके से काम नहीं करते हैं जब परिभाषाएं नियमित पाठ के खिलाफ ब्रश करती हैं। बैबलमार्क के साथ सबसे हालिया शोध से पता चलता है कि पहले और बाद में रिक्त लाइनें महत्वपूर्ण हैं। कुछ पार्सर टिप्पणी को आउटपुट करेंगे यदि पहले कोई रिक्त रेखा नहीं है, और कुछ पार्सर निम्न पंक्ति को बाहर कर देंगे यदि कोई रिक्त लाइन नहीं है।

सामान्य तौर पर, यह दृष्टिकोण ज्यादातर मार्काडाउन पार्सर के साथ काम करना चाहिए, क्योंकि यह मुख्य विनिर्देश का हिस्सा है। (भले ही व्यवहार जब कई लिंक परिभाषित किए गए हों, या जब कोई लिंक परिभाषित किया गया हो लेकिन कभी उपयोग नहीं किया जाता है, तो सख्ती से निर्दिष्ट नहीं किया जाता है)।


145
[//]: # "Comment"और [//]: # (Comment)कई प्रकार के कार्यान्वयन पर काम करना प्रतीत होता है, क्योंकि #एक मान्य सापेक्ष यूआरआई है। GitHub, उदाहरण के लिए, अस्वीकार करता है <>, और पूरी लाइन दिखाई देती है। यह भी ध्यान देने योग्य है कि लिंक लेबल्स को अक्सर रिक्त लाइन द्वारा अन्य सामग्री से अलग करने की आवश्यकता होती है।
Zenexer

6
अधिकांश प्लेटफ़ॉर्म-स्वतंत्र होने के लिए इसे टिप्पणी से पहले एक खाली लाइन की भी आवश्यकता होती है। परीक्षण देखें: stackoverflow.com/a/32190021/2790048
निक वॉल्किन

6
क्या यह बहुस्तरीय टिप्पणियों के लिए इस्तेमाल किया जा सकता है?
crypdick

4
@RovingRichard हाँ, कम से कम पंडोक में यह बहुस्तरीय टिप्पणियों के लिए काम करता है यदि टिप्पणी ब्लॉक में कोई खाली लाइनें नहीं हैं (सिंगल लाइन ब्रेक ठीक हैं)। मैं ब्लॉक टिप्पणियों के लिए मैग्नस के दृष्टिकोण का उपयोग करता हूं और इनलाइन टिप्पणियों के लिए chl का HTML दृष्टिकोण (हालांकि आमतौर पर केवल 2 डैश)। इस तरह से मैं पहले से ही इनलाइन HTML टिप्पणियों वाले पैराग्राफ को कमेंट को ब्लॉक कर सकता हूं।
जोएलोस्टब्लोम

4
सिर्फ FYI करें, लेकिन यदि आप पंडोक का उपयोग कर एक TOC बना रहे हैं, तो यह डुप्लिकेट लिंक संदर्भों के बारे में एक चेतावनी उत्पन्न करेगा। (ये सिर्फ चेतावनी हैं, टीओसी अभी भी बनाया जाएगा।)
कार्ल जाइज़िंग

995

मैं मानक HTML टैग का उपयोग करता हूं, जैसे

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

ट्रिपल डैश पर ध्यान दें। फायदा यह है कि यह TeX या HTML आउटपुट जेनरेट करते समय पैंडॉक के साथ काम करता है । अधिक जानकारी पंडोक-चर्चा समूह पर उपलब्ध है ।


73
अगर मैं सही तरीके से समझूं , तो ट्रिपल डैश पैंडोक बनाता है जब यह मार्कडाउन फाइल को पार्स करता है। लेकिन यदि आप एक और मार्कडाउन इंजन का उपयोग करते हैं, तो टिप्पणी उत्पन्न HTML में दिखाई देगी (और इस तरह "दृश्य स्रोत" के साथ दिखाई दे सकती है)। इसलिए आपको सावधान रहना होगा कि आपने उस टिप्पणी में क्या रखा है;)
cberzan

5
क्या आप बता सकते हैं कि पंडोक ट्रिपल डैश को डबल से अलग तरीके से कैसे मानते हैं? जब मैंने उनके साथ प्रयोग किया, तो वे उसी तरह से पेश आए। इसके अलावा, पंडोक उपयोगकर्ता के मार्गदर्शक का कहना है कि "कच्चे HTML को HTML, S5, Slidy, Slideous, DZSlides, EPUB, Markdown, और वस्त्र उत्पादन में अपरिवर्तित के माध्यम से पारित किया जाता है, और अन्य प्रारूपों में दबा दिया जाता है।" ट्रिपल डैश को दोहरे लोगों की तुलना में कोई अधिक विशेषाधिकार प्राप्त नहीं है।
dkim

1
ट्रिपल डैश के साथ @dkim टिप्पणियाँ HTML आउटपुट से अनदेखा और खारिज कर दी जाती हैं। यह HTML फ़ाइल में डाली गई डबल-धमाकेदार टिप्पणियों के साथ नहीं है। पंडोक (1.10) के नवीनतम संस्करण के मामले में अभी भी यही है।
chl

32
यदि ट्रिपल डैश महत्वपूर्ण है, तो ये "मानक HTML" टिप्पणियां नहीं हैं।
ट्रिपलए

17
Googlers के लिए ध्यान दें: यह दुर्भाग्य से GitHub Markdown में काम नहीं करता है, और मैंने मैग्नस के समाधान का उपयोग करके समाप्त किया।
डैनियल बकमास्टर

197

यह छोटा सा शोध मैग्नस द्वारा उत्तर को सिद्ध और परिष्कृत करता है

सबसे प्लेटफ़ॉर्म-स्वतंत्र सिंटैक्स है

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

दोनों ही स्थितियां महत्वपूर्ण हैं:

  1. #(और नहीं <>) का उपयोग करना
  2. टिप्पणी से पहले एक खाली लाइन के साथ । टिप्पणी के बाद खाली लाइन का परिणाम पर कोई प्रभाव नहीं पड़ता है।

सख्त मार्कडाउन स्पेसिफिकेशन कॉमनमैर्क केवल इस सिंटैक्स के उद्देश्य से काम करता है (और <>एक खाली लाइन के साथ और / या नहीं )

यह साबित करने के लिए हम जॉन मैकफर्लेन द्वारा लिखित बेबेलमार्क 2 का उपयोग करेंगे। यह उपकरण 28 मार्कडाउन कार्यान्वयन में विशेष स्रोत कोड के प्रतिपादन की जाँच करता है।

( +- परीक्षण -पास किया, ?- पास नहीं किया गया, - कुछ कचरा छोड़ दिया गया है जो प्रदान किए गए HTML में नहीं दिखाया गया है)।

इससे उपरोक्त कथन सिद्ध होता है।

ये कार्यान्वयन सभी 7 परीक्षणों में विफल होते हैं। उनके साथ बहिष्कृत-ऑन-रेंडर टिप्पणियों का उपयोग करने का कोई मौका नहीं है।

  • सीबी / मार्कडाउन 1.1.0
  • सीबीई / मार्कडाउन मार्कडेक्स्ट्रा 1.1.0
  • सीबीई / मार्कडाउन जीएफएम 1.1.0
  • s9e \ TextFormatter (फैटडाउन / पीएचपी)

3
बहुत बढ़िया, पूरी तरह से परीक्षण उपकरण! ऐसा लगता है कि आप सही हैं जो # सभी के लिए काम करता है लेकिन GFM और <> GFM के लिए काम करता है लेकिन कुछ और नहीं। बहुत बुरा GFM दोनों एक कोने का मामला है और एक बहुत लोकप्रिय स्वाद भी है।
होब्स

1
ऐसा लगता है कि s9e \ TextFormatter # 21 जनवरी, 2016 तक काम करता है। Cebe अभी भी इसे संभाल नहीं रहा है।
ट्रॉय डेनियल

1
अजीब बात है, अगर टिप्पणी (...)खुद के पास होती है तो वह इसे तोड़ देती है। कम से कम विजुअल स्टूडियो कोड 1.19 पर।
रॉय

1
और इस प्रकार विम उपयोगकर्ताओं के लिए जो एक ही बार में सभी फाइल पर टिप्पणी करना चाहते हैं:%s/^\(.*\)$/[comment]: # (\1)/g
साइमन सी।

यह मार्कडाउन के बारे में क्या कहता है कि Bablemark2 मौजूद है?
टीसी प्रॉक्टर

53

यदि आप Jekyll या ऑक्टोप्रेस का उपयोग कर रहे हैं, तो यह भी काम करेगा।

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

लिक्विड टैग {% comment %}पहले पार्स किए जाते हैं और मार्कडाउन प्रोसेसर से पहले हटा दिए जाते हैं। आगंतुक तब नहीं देखेंगे जब वे अपने ब्राउज़र से स्रोत को देखने का प्रयास करेंगे।


2
जिंजा 2 = {#यहां बहुस्तरीय टिप्पणियां#}
जॉन

29

एक विकल्प यह है कि स्टाइल किए गए HTML टैग में टिप्पणियां डालें। इस तरह, आप आवश्यकतानुसार उनकी दृश्यता को टॉगल कर सकते हैं। उदाहरण के लिए, अपने CSS स्टाइलशीट में एक टिप्पणी वर्ग को परिभाषित करें।

.comment { display: none; }

उसके बाद, निम्न MARKDOWN को बढ़ाया

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

एक BROWSER में निम्नानुसार दिखाई देता है

We do support comments


5
कॉपी / पेस्ट की संभावना "टिप्पणी" पाठ के साथ-साथ नियमित पाठ की नकल करते हुए समाप्त हो जाएगी ताकि इस का उपयोग करते समय सावधान रहें। यह आसानी से पाठ के ब्लॉक की नकल करने वाले किसी व्यक्ति के लिए अप्रत्याशित परिणाम दे सकता है।
ईलोन

4
@ ईलोन की पहुँच भी इसके लिए भयानक होगी
एथन

एक्सेसिबिलिटी सपोर्ट करने वाले इंजन ठीक से डिस्प्ले को छोड़ देंगे: कोई भी टेक्स्ट नहीं।
aredridel

28

यह GitHub पर काम करता है:

[](Comment text goes here)

परिणामी HTML ऐसा दिखता है:

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

जो मूल रूप से एक खाली लिंक है। जाहिर है आप पढ़े गए पाठ के स्रोत में पढ़ सकते हैं, लेकिन आप वैसे भी GitHub पर कर सकते हैं।


6
यह निश्चित रूप से है, लेकिन यह वास्तव में अब तक का एकमात्र उत्तर है जो हमेशा GitHub पर काम करता है, उदाहरण के लिए सूचियों में।
जोमो

मैं उसी समाधान पर पहुंचा। यह केवल एक है जिसे मैं इन-लाइन टिप्पणियों के लिए काम कर सकता हूं, जैसे some text [](hidden text) blah blah
c24w

3
यह नहीं रह गया है, 2019/03/08 के रूप में GitHub पर काम करता है के रूप में renders है[](Comment text goes here)
dogmatic69


18

क्रिटिकल मार्कअप भी देखें, मार्कडाउन टूल की बढ़ती संख्या द्वारा समर्थित।

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.

5
मुझे लगता है कि इस तरह के "छद्म"-समझने वाले लोगों में से एक समस्या यह है कि वे पोर्टेबल नहीं हैं। कुछ वेबसाइटों पर, यह सही काम करेगा, दूसरों पर, वे नहीं करेंगे।
विलेम वैन ओन्सेम

14

गैर-इकोल, गैर-इको आर ब्लॉक में टिप्पणियों को कैसे लगाया जाए? अर्थात,

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

मेरे लिए अच्छा काम करने लगता है।


2
इसके अलावा, cat("# Some Header")"टिप्पणी-बाहर" कोड ब्लॉक और उपयोग जैसी चीजों के लिए स्वतंत्र महसूस करें results = "asis", और आप अपने कोड में पूरे कमेंट-आउट सेक्शन जोड़ सकते हैं eval = FALSE, जिसे आर मूल्यांकन के पहले किए जाने के बाद से टॉगल करके / बंद करके फ़्लिप किया जा सकता है । पंडोक संकलन। विचार के लिए धन्यवाद!
माइकलक्रिको

11

प्रकटीकरण: मैंने प्लगइन लिखा।

चूँकि यह प्रश्न किसी विशिष्ट मार्कडाउन कार्यान्वयन को निर्दिष्ट नहीं करता है, मैं अजगर- मार्कडाउन के लिए टिप्पणियाँ प्लगइन का उल्लेख करना चाहूंगा , जो ऊपर उल्लेखित समान पंडोक टिप्पणी शैली को लागू करता है।


11
<!--- ... --> 

पंडोक मार्कडाउन (पंडोक 1.12.2.1) में काम नहीं करता है। टिप्पणियाँ अभी भी HTML में दिखाई देती हैं। निम्नलिखित ने काम किया:

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

फिर + फुटनोट एक्सटेंशन का उपयोग करें। यह अनिवार्य रूप से एक फुटनोट है जिसे कभी संदर्भित नहीं किया जाता है।


मुझे यह सबसे अच्छा लगता है, क्योंकि यह कोई आउटपुट उत्पन्न नहीं करता है। बिटबकेट के लिए यह उपसर्ग पर्याप्त है [#]: :।
छत

7

निम्नलिखित बहुत अच्छी तरह से काम करता है

<empty line>
[whatever comment text]::

यह विधि संदर्भ के माध्यम
से लिंक बनाने के लिए सिंटैक्स का लाभ उठाती है क्योंकि लिंक के साथ बनाई गई लिंक का [1]: http://example.orgप्रतिपादन नहीं किया जाएगा, इसी तरह निम्नलिखित में से किसी का भी प्रतिपादन नहीं किया जाएगा।

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

यह (पहले वेरिएंट का परीक्षण) Gitlab और GitHub केpandoc वर्तमान ऑनलाइन उदाहरणों के लिए काम करता है
Doak

5

पंडोक के लिए, टिप्पणी को ब्लॉक करने का एक अच्छा तरीका एक यम मेटाबलाक का उपयोग करना है, जैसा कि पंडोक लेखक ने सुझाव दिया है । मैंने देखा है कि यह अन्य प्रस्तावित समाधान के कई की तुलना में टिप्पणियों के अधिक उचित वाक्य रचना हाइलाइटिंग देता है मेरी वातावरण में कम से कम, ( vim, vim-pandoc, और vim-pandoc-syntax)।

मैं HTML- इनलाइन टिप्पणियों के साथ संयोजन में yaml ब्लॉक टिप्पणियों का उपयोग करता हूं, क्योंकि html-टिप्पणियों को नेस्टेड नहीं किया जा सकता है । दुर्भाग्य से, यम मेटाबलाक के भीतर ब्लॉक टिप्पणी का कोई तरीका नहीं है , इसलिए प्रत्येक पंक्ति को व्यक्तिगत रूप से टिप्पणी करनी होगी। सौभाग्य से, एक सॉफ्टवेरड पैराग्राफ में केवल एक लाइन होनी चाहिए।

मेरे में ~/.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

क्रैमडाउन- रूबी-आधारित मार्कडाउन इंजन जो जेकेल के लिए डिफ़ॉल्ट है और इस प्रकार गिटहब पेज- ने अपने एक्सटेंशन सिंटैक्स के माध्यम से अंतर्निहित टिप्पणी समर्थन दिया है :

{::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{:/}

इसमें इन-लाइन टिप्पणियों की अनुमति देने का लाभ है, लेकिन अन्य मार्काडाउन इंजनों के पोर्टेबल नहीं होने के कारण।


4

तुम कोशिश कर सकते हो

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

4

आप ऐसा कर सकते हैं (YAML ब्लॉक):

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

मैंने केवल लेटेक्स आउटपुट के साथ प्रयास किया, कृपया दूसरों के लिए पुष्टि करें।


यह HTML आउटपुट के साथ भी काम करता है।
पेटी

मुझे यकीन नहीं है कि अगर डैनियल की html आउटपुट की पुष्टि सही है। मैंने एक html आउटपुट फ़ाइल के साथ किया और "pandoc --bibliography paper.bib -o paper.html paper.md" चलाया और HTML ने टिप्पणी लाइनें दिखाईं।
मार्कगलासी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.