मार्कडाउन में, एक पेज के टुकड़े यानी #some_id से लिंक करने का सबसे अच्छा तरीका क्या है?


127

मैं यह पता लगाने की कोशिश कर रहा हूं कि मार्काडाउन के साथ पृष्ठ के किसी अन्य क्षेत्र को कैसे संदर्भित किया जाए। अगर मैं एक जोड़ दूं तो मैं इसे काम में ला सकता हूं

<div id="mylink" /> 

और लिंक के लिए करें:

[My link](#mylink)

लेकिन मेरा अनुमान है कि मार्कडाउन में इन-पेज लिंक करने का कोई और तरीका है जिसमें सीधे अप divटैग शामिल नहीं है ।

कोई विचार?


मैंने हमेशा उन्हें सिर्फ उसी तरह किया है जैसे आपने यहाँ किया है।
जो मार्टिनेज

1
<div/>पृष्ठ के बाकी हिस्सों के लिए फ़ॉर्मेटर को परेशान कर सकता है। का उपयोग करें <a id="ident"/>। मेरा जवाब देखिए।
स्टीव पॉवेल


इसके बजाय मल्टीमार्कडाउन का उपयोग करने पर विचार करें। यह ऐसा [anchor][]करने के लिए सिंटैक्स प्रदान करता है । github.com/fletcher/MultiMarkdown/wiki/…
jwpfox

जवाबों:


165

इस जवाब को देखें ।

संक्षेप में, के साथ एक गंतव्य बनाते हैं

<a name="sometext"></a>

आपके मार्कशीट मार्कअप में कहीं भी डाला गया (उदाहरण के लिए हेडर में:

## heading<a name="headin"></a>

और मार्कडाउन लिंकेज का उपयोग करके इसे लिंक करें:

[This is the link text](#headin)

या

[some text](#sometext)

उपयोग न करें <div>- यह कई रेंडरर्स के लिए लेआउट को गड़बड़ कर देगा।

(मैं बदल दिया है id=करने के लिए name=ऊपर। देखें इस सवाल का जवाब थकाऊ विवरण के लिए।)


7
+1, धन्यवाद। यह दुखद है कि यह स्वचालित रूप से ऐसा नहीं करता है। बहुत गीला IMHO।
मार्क-एंड्रे लाफ्यून

यह बदसूरत है जब आपको इसे एक पाठ संपादक में पढ़ना होगा, लेकिन, यह काम करता है । निश्चित नहीं कि यह स्वीकृत उत्तर क्यों नहीं है।
kayleeFrye_onDeck 22

पुरानी शैली के एंकरों <a name="..." />को परिभाषित करना अप्रचलित है लेकिन बाद के HTML विनिर्देशों में अनुरूप है। यदि <div>एक बाधित ब्लॉक के रूप में प्रस्तुत किया जा सकता है (शायद अज्ञात कारणों से सीएसएस एक आकार दे रहा है) हो सकता है <span>(इनलाइन तत्व) चाल हो सकता है?
जेवियर

25

मुझे लगता है कि यह इस बात पर निर्भर करता है कि आप अपने मार्कडाउन से html उत्पन्न करने के लिए क्या उपयोग कर रहे हैं। मैंने देखा, उस jekyll (यह डिफ़ॉल्ट रूप से gihub.io पृष्ठों द्वारा उपयोग किया जाता है) स्वचालित रूप से आईडी = "" विशेषता को html में शीर्षकों में जोड़ता है।

उदाहरण के लिए यदि आप मार्कडाउन हैं

My header
---------

परिणामी HTML इस तरह दिखेगा:

<h2 id="my-header">My header</h2>

तो आप इसे बस द्वारा लिंक कर सकते हैं [My link](#my-header)


यह सबसे अच्छा और साफ जवाब है। मार्कडाउन वास्तव में अच्छा है। यह वास्तव में तेजी से ब्लॉगिंग करने में मदद करता है। ^ _ ^
अशोक एमए

16

मार्कडाउन के PHP संस्करण के साथ , आप यहां दिए गए दस्तावेज़ों की तरह सिंटैक्स का उपयोग करके पृष्ठ के भीतर टुकड़े पहचानकर्ताओं को हेडर भी लिंक कर सकते हैं, जैसा कि यहां पर प्रलेखित है

Header 1            {#header1}
========

## Header 2 ##      {#header2}

और फिर

[Link back to header 1](#header1)
[Link back to header 2](#header2)

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


3

HTML पेज में लिंक के लिए गंतव्य एंकर एक idविशेषता वाला कोई भी तत्व हो सकता है । W3C साइट पर लिंक देखें । यहाँ प्रासंगिक अनुभाग से एक उद्धरण है:

HTML दस्तावेजों में गंतव्य एंकर या तो ए तत्व (नाम विशेषता के साथ नामकरण), या किसी अन्य तत्व (आईडी विशेषता के साथ नामकरण) द्वारा निर्दिष्ट किया जा सकता है।

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

<p id="mylink">Lorem ipsum dolor sit amet...</p>

फिर अपने मानक Markdown [My link](#mylink)का उपयोग टुकड़ा एंकर के लिए एक लिंक बनाने के लिए करें। यह आपके HTML को साफ रखने में मदद करेगा, क्योंकि अतिरिक्त मार्कअप की कोई आवश्यकता नहीं है।


<p>मार्कडाउन में टैग का उपयोग करते हुए मेरे अनुभव में सीएसएस एक नियमित पैराग्राफ को छीन सकता है। मैं कहता हूं कि सावधानी के साथ उपयोग करें, मैं मार्कडाउन के लिए नया हूं, लेकिन इसमें कुछ विचित्रताएं हैं।
2rs2ts

@ user691859 मुझे यकीन नहीं है कि "मार्कडाउन में <p>टैग का उपयोग करके आप एक नियमित पैराग्राफ के सीएसएस को छीन सकते हैं"। मार्कडाउन <p>टैग में पैराग्राफ लपेटता है , और उन लोगों को अनदेखा करता है जिनके पास पहले से ही <p>टैग हैं। मैं यह नहीं देख सकता कि यह CSS को कैसे प्रभावित करेगा ...
माइक

व्यवहार मेरे लिए अनिश्चित है। Tumblr पर, <p> (हमेशा नहीं) का उपयोग करके मेरे द्वारा निर्दिष्ट विशिष्ट व्यवहार के अलावा सभी व्यवहार को छीन सकता है। मुझे नहीं पता क्यों। <div> ALWAYS हालांकि यही करता है।
2rs2ts

3

किसी के लिए विजुअल स्टूडियो टीम फाउंडेशन सर्वर (टीएफएस) 2015 का उपयोग करें, यह वास्तव में एम्बेडेड <a>या <div>तत्वों को पसंद नहीं करता है , कम से कम हेडर में। यह भी हेडर में इमोजी पसंद नहीं करता है:

### 🔧 Configuration 🔧

Lorem ipsum problem fixem.

हो जाता है अनुवाद:

<h3 id="-configuration-">🔧 Configuration 🔧</h3>
<p>Lorem ipsum problem fixem.</p>

और इसलिए लिंक को या तो उपयोग करना चाहिए id(जो विजुअल स्टूडियो में इस और अन्य पूर्वावलोकन एक्सटेंशन को तोड़ता है ), या इमोजी को हटा दें:

Here's [how to setup](#-configuration-) //🔧 Configuration 🔧
Here's [how to setup](#configuration) //Configuration

जहां बाद वाला संस्करण टीएफएस में और विजुअल स्टूडियो के मार्कडाउन पूर्वावलोकन में दोनों ऑनलाइन काम करता है ।

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