मल्टिमार्कडाउन में नामित एंकर से कैसे लिंक करें?


573

मैं आंतरिक लिंक / नामित एंकर के लिए मल्टीमैर्कडाउन के समर्थन के कई उल्लेखों पर आया हूं, लेकिन मैं वास्तव में इसे कैसे करना है, इसका एक भी उदाहरण नहीं पा रहा हूं।

तो, नामित एंकर को निरूपित करने के लिए वाक्यविन्यास क्या है, और इसे किसी अन्य URL से लिंक करने के लिए (केवल इसके बजाय #foo का उपयोग करके http://....) जोड़ने के लिए वाक्यविन्यास क्या है ?


यदि आप ऐसा करने के लिए सामग्री की तालिका बनाने के लिए ऐसा कर रहे हैं, तो मैं इसे स्वचालित करने के लिए doctoc की सिफारिश करूंगा ( नोडJs की आवश्यकता है )। Doctoc मार्कडाउन कोड उत्पन्न करता है, इसलिए यह एक उदाहरण प्रदान करेगा कि कैसे पूरे दस्तावेज़ में शीर्षकों से लिंक किया जाए (जैसा कि @ user1789493 के उत्तर में वर्णित है)।
जेम्स ओनर्स

जवाबों:


659

मानक मार्कडाउन में, एक एंकर रखें <a name="abcd"></a>जहाँ आप इसे उसी पेज पर लिंक करना चाहते हैं[link text](#abcd)

(यह उत्तर में वर्णित कारणों के लिए उपयोग करता है name=और नहीं ।)id=

दूरस्थ संदर्भ [link text](http://...#abcd)बेशक उपयोग कर सकते हैं ।

यह एक सपने की तरह काम करता है, बशर्ते आपके पास स्रोत और लक्ष्य ग्रंथों पर नियंत्रण हो। लंगर भी एक शीर्षक में दिखाई दे सकता है, इस प्रकार:

### <a name="head1234"></a>A Heading in this SO entry!

पैदा करता है:

इस SO प्रविष्टि में एक शीर्षक!

और हम इसे लिंक भी कर सकते हैं:

and we can even [link](#head1234) to it so:

(SO पर, लिंक काम नहीं करता क्योंकि लंगर छीन लिया गया है।)


11
@ jj1bdx मैं अभी करता हूं - <a id="id"></a>फॉर्म सबसे अच्छा है। इस SO प्रश्न / उत्तर को देखें ।
स्टीव पॉवेल

स्टीव के अलावा अच्छा है। मैं इस सवाल के अलावा जवाब के रूप में चिह्नित करना चाहते थे मल्टीमर्कडाउन के बारे में। जाहिर है कि लोगों के वोट संकेत दे रहे हैं कि यह एक मददगार जोड़ था। तो धन्यवाद।
मासूकॉमी

3
फ़ि: जीथब मार्कडाउन से आपको आईडी के बजाय नाम का उपयोग करने की उम्मीद है, ऐसा लगता है।
डाइटर

@ पीटर: name=एक्सएचटीएमएल में पदावनत कर दिया गया था, लेकिन अब मुझे पता चला id=है कि एचटीएमएल 5 में इसका साइड-इफेक्ट है, इसलिए मैं name=इस जवाब पर भरोसा कर रहा हूं ।
स्टीव पॉवेल

3
जीथब-फ्लेवर्ड-
मार्कडाउन

461

यदि आपके पास मार्कडाउन फाइलों में हेडर हैं, तो आप उन्हें सीधे फाइल में लिंक कर सकते हैं।

मार्कडाउन हैडर -

## The Header

यह एक अंतर्निहित आईडी उत्पन्न करेगा #the-header(आंतरिक रिक्त स्थान को हाइफ़न के साथ बदलें और लोअरकेस बनाएं)।

इस आईडी पर नेविगेट करने के लिए, आप इस तरह लिंक बना सकते हैं:

[Link to Header](#the-header)

यह इसके बराबर है:

<a href="#the-header">Link to Header</a>

कृपया ध्यान दें कि संदर्भ का नाम एक निचला मामला है #header


30
BitBucket "मार्कडाउन-हेडर-" के साथ एंकर आईडी को उपसर्ग करने लगता है। तो अगर आपका हेडर है ## This Header ##, तो लिंक होगा [To This Header](#markdown-header-this-header)। यदि आप सुनिश्चित नहीं हैं कि आपके हेडर की आईडी क्या है, तो HTML मान देखने के लिए पृष्ठ निरीक्षक का उपयोग करें।
विननी केली

पांडोक विस्तारित मार्कडाउन में मेरे लिए काम नहीं किया, कहीं और काम कर सकते हैं।
ज़ेल्फिर कल्टस्टाल

9
@ सौरभ यह केवल तभी काम करेगा जब html कन्वर्टर में आपका मार्कडाउन मानक के अनुरूप न हो। मानक एंकर टैग नहीं बनाता है। अब, कई का पालन नहीं करते हैं, लेकिन आपको कहीं भी काम करने की उम्मीद नहीं करनी चाहिए ।
मैसुकुमी

9
क्यों ओह क्यों हम की क्या ज़रूरत थी मानकीकरण के रूप में कुछ में मानक-कम और आधे पके हुए Markdown के रूप में। AsciiDoc का नेतृत्व करने के लिए इंतजार नहीं कर सकता।
हमीज़ेल ने

1
GitHub हेडर के नाम से पहले उपयोगकर्ता-सामग्री जोड़ता है:[Link](user-content-the-header)
मेल्विन विट्टे

137

मल्टिमार्कडाउन यूजर गाइड से लिया गया (इसे इंगित करने के लिए ट्विटर पर @MultiMarkdown के लिए धन्यवाद)

[Some Text][]"कुछ पाठ"
जैसे हेडर से लिंक होगा उदा

### Some Text ###

आपके चयन का एक वैकल्पिक लेबल उन मामलों को खंडित करने में मदद करता है जहां कई शीर्षक एक ही शीर्षक हैं:

### Overview [MultiMarkdownOverview] ##

यह आपको इस अनुभाग को विशेष रूप से संदर्भित करने के लिए [MultiMarkdownOverview] का उपयोग करने की अनुमति देता है, न कि अवलोकन नामक एक अन्य अनुभाग। यह atx- या सेटटेक्स्ट-स्टाइल हेडर के साथ काम करता है।

यदि आपने पहले से ही एक हेडर का उपयोग करके एक एंकर को परिभाषित किया है जो हेडर द्वारा उपयोग किया जाता है, तो परिभाषित एंकर पूर्वता लेता है।

दस्तावेज़ के भीतर हेडर के अलावा, आप छवियों और तालिकाओं के लिए लेबल प्रदान कर सकते हैं जो तब क्रॉस-संदर्भों के लिए भी उपयोग किया जा सकता है।


FWIW, यह 23.4.1 के रूप में emacs के मार्कडाउन-मोड के साथ काम नहीं करता है।
अटिला लेंदवई

5
मार्कडाउन फुटनोट्स का समर्थन नहीं करता है। जैसे कि यह अधिकांश "मार्काडाउन" मोड में काम नहीं करेगा। मल्टीमर्कडाउन हालांकि, कई एक्सटेंशन का समर्थन करता है जो लेखकों के लिए जीवन को आसान बनाते हैं।
मसुकोमी

11
Github हेडर में लेबल का समर्थन नहीं करता है?
andig

1
हेडर में ':' होने पर यह काम नहीं करता है (कम से कम कोडपीनो पर)।
जिओ पेंग - ZenUML.com

2
यह लिंक उस व्यक्ति द्वारा प्रलेखन है, जिसने मल्टीमर्कडाउन लिखा था। निश्चित नहीं है कि आप codepen.io में क्या कर रहे हैं, लेकिन मुझे विश्वास है कि डॉक्स सटीक हैं। ध्यान रखें MULTI Markdown Not Markdown।
मासुकॉमी

100

मैंने कुछ समय के लिए जीथब फ्लेवर्ड मार्कडाउन का परीक्षण किया और चार नियमों के साथ सारांशित कर सकता हूं :

  1. विराम चिह्नों को हटा दिया जाएगा
  2. प्रमुख सफेद स्थान गिरा दिए जाएंगे
  3. ऊपरी मामले को निचले में बदल दिया जाएगा
  4. अक्षरों के बीच रिक्त स्थान में परिवर्तित हो जाएगा -

उदाहरण के लिए, यदि आपके अनुभाग का नाम यह है:

## 1.1 Hello World

इस तरह से एक लिंक बनाएँ:

[Link](#11-hello-world)

क्या होगा अगर नाम में हाइफ़न हैं? यह किस में परिवर्तित होता है? ध्यान दें, शब्दों और हाइफ़न के बीच रिक्त स्थान हैं। उदाहरण: `` `- [मेरा - हैडर] (# मेरा --- हैडर) # मेरा - हेडर` `क्या यह सही होगा?
स्पेंसर पोलक

इस शैली पर शब्दावली के लिए stackoverflow.com/a/17820138/2908724 मैं "कबाब-केस" पसंद करता हूं।
बिशप

22

आंतरिक लिंक बनाने का सबसे अच्छा तरीका (अनुभागों से संबंधित) सूची बनाना है, लेकिन लिंक के बजाय # हेडर या # सेक्शन-टाइटल डालें यदि हेडर में रिक्त स्थान शामिल हैं।

---- MARKDOWN ------------------------

Go to section
* [Hello](#hello)  
* [Hello World](#hello-world)
* [Another section](#new-section)    <-- it's called 'Another section' in this list but refers to 'New section'


## Hello
### Hello World
## New section

---- सूची पूर्वावलोकन ------------------------

Go to section
Hello              <-- [Hello](#hello)                 -- go to `Hello` section
Hello World        <-- [Hello World](#hello world)     -- go to `Hello World` section
Another section    <-- [Another section](#new-section) -- go to `New section`

---- HTML ------------------------

<p>Go to section</p>
<ul>
<li><a href="#hello">Hello</a><br />
</li>
<li><a href="#hello-world">Hello World</a></li>
<li><a href="#new-section">Another section</a> &lt;– it’s called ‘Another section’ in this list but refers to ‘New section’</li>
</ul>
<h2 id="hello">Hello</h2>
<h3 id="hello-world">Hello World</h3>
<h2 id="new-section">New section</h2>

इससे कोई फर्क नहीं पड़ता कि यह h1, h2, h3, आदि हैडर है, आप हमेशा इसे केवल एक का उपयोग करके देखें #
अनुभाग सूची के सभी संदर्भों को पाठ के निचले भाग में परिवर्तित किया जाना चाहिए क्योंकि यह ऊपर दिए गए उदाहरण में दिखाया गया है।

सेक्शन का लिंक लोअरकेस होना चाहिए। दूसरे तरीके से यह काम नहीं करेगा।
यह तकनीक सभी मार्कडाउन वेरिएंट, मल्टीकर्डडाउन के लिए बहुत अच्छी तरह से काम करती है।

वर्तमान में मैं दस्तावेज़ प्रारूप को परिवर्तित करने के लिए पंडोक का उपयोग कर रहा हूं । यह मल्टीमर्कडाउन से काफी बेहतर है।
यहां पंडो का परीक्षण करें


6
जैसा कि अन्य टिप्पणियों में यहां दिया गया है। यह किसी भी मार्कडाउन में काम नहीं करेगा -> HTML कनवर्टर जो वास्तव में मानक का पालन करता है। शीर्षकों में एंकर टैग बनाना केवल कुछ कन्वर्टर्स में होता है। Furthemore, वे सभी स्थानों को डैश में परिवर्तित नहीं कर रहे हैं। यह नहीं गिना जा सकता है।
मैसुकुमी

1
मैं एटम कोड संपादक में GitHub Markdown का उपयोग कर रहा हूं जिसमें "Markdown पूर्वावलोकन" नामक एक अंतर्निहित पैकेज है। पूर्वावलोकन मोड से मैं संदर्भ मेनू "HTML के रूप में सहेजें ..." का उपयोग करके एक HTML फाइलें बनाता हूं।
रफ्र 3

हां, मेरा कहना यह है कि आप अपनी तकनीक पर कहीं और काम कर सकते हैं, और न ही सवाल, और न ही आपका जवाब एटम में मार्कडाउन के बारे में है। सवाल मार्कडाउन के बारे में भी नहीं है, यह मल्टीमार्केड के बारे में है।
मासूकॉमी 19

मैं इस लिंक विधि का उपयोग कर रहा हूं लेकिन यह मेरे लिए काम नहीं कर रहा है। सेक्शन / उस हेडर पर स्लाइडिंग नहीं।
टॉम कुस्टरमैन

केस सेंसिटिव तक सिर दें। यदि आप परिभाषित करते हैं ## Helloतो आपको इसे संदर्भित करना चाहिए[Whatever you want](#Hello)
विक्टर ऑगस्टो

9

Mdcharm में यह इस प्रकार है:

* [Descripción](#descripcion)
* [Funcionamiento](#funcionamiento)
* [Instalación](#instalacion)
* [Configuración](#configuracion)

### Descripción {#descripcion}
### Funcionamiento {#funcionamiento}
### Instalación {#instalacion}
### Configuración {#configuracion}

2

यहाँ मेरा समाधान है ( SaraubhMउत्तर से व्युत्पन्न )

**Jump To**: [Hotkeys & Markers](#hotkeys-markers) / [Radii](#radii) / [Route Wizard 2.0](#route-wizard-2-0)

जो आपको देता है:

पर कूदना : हॉटकी और मार्कर / रेडी / रूट विजार्ड 2.0

लिंक से और ., -और साथ ही नुकसान को भी नोट करें &

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.