जेकेल मार्कडाउन आंतरिक लिंक


143

जेकेल मार्कडाउन-स्वरूपित लिंक का उपयोग करता है, लेकिन मैं आंतरिक सामग्री से कैसे लिंक कर सकता हूं?

[[link]] 

जवाबों:


249

अब आप निम्नलिखित का उपयोग करके आंतरिक लिंक पोस्ट कर सकते हैं:

[Some Link]({% post_url 2010-07-21-name-of-post %})

यह भी Jekyll प्रलेखन में संदर्भित है ।

https://github.com/mojombo/jekyll/pull/369


17
किसी भी विचार को आंतरिक रूप से किसी पृष्ठ से कैसे जोड़ा जाए?
डॉगवेदर 1

1
ऐसा लगता है कि पेज से लिंक करना संभव नहीं है। इस PR को विलय किए बिना बंद कर दिया गया था: github.com/jekyll/jekyll/pull/369
Northben

1
क्या यह आसानी से दिखाने के लिए शीर्षक प्राप्त करना संभव है, उदाहरण के लिए [Title of post](/correct/permalink)एक ही आदेश के साथ प्रस्तुत करना ? मैं इसे केवल फ़िल्टरिंग के साथ कर सकता था जो बहुत अधिक क्रियात्मक है।
सिरो सेंटिल्ली 郝海东 冠状 i i 法轮功 14

यदि आपके पास उपखंड हैं: [लिंक का पाठ] ({% post_url / dirname / 2010-07-21-post%})
एलेक्स्सलो

एक छोटी सी गलती: Jekyll प्रलेखन यह post-urlनहीं हैpost_url
हान किउ

40

अब linkटैग का उपयोग करके पोस्ट के अलावा अन्य पृष्ठों से लिंक करना संभव है । linkएक संग्रह में पदों, पृष्ठों, दस्तावेजों के लिए काम करता है, और फ़ाइलें।

{{ site.baseurl }}{% link _collection/name-of-document.md %}
{{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %}
{{ site.baseurl }}{% link news/index.html %}
{{ site.baseurl }}{% link /assets/files/doc.pdf %}

linkटैग का उपयोग करते समय फ़ाइल एक्सटेंशन को शामिल करना याद रखें । लिंक बनाने के लिए इसका उपयोग करने के लिए:

[Link to a document]({{ site.baseurl }}{% link _collection/name-of-document.md %})
[Link to a post]({{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({{ site.baseurl }}{% link news/index.html %})
[Link to a file]({{ site.baseurl }}{% link /assets/files/doc.pdf %})

Jekyll प्रलेखन देखें ।


2
मुझे यह प्रलेखन पृष्ठ भी उपयोगी लगा - jekyllrb.com/docs/liquid/tags/#link
डेविड डगलस

2
मैंने अभी पाया है कि {{ site.baseurl }}उत्पन्न href में बेसल वैल्यू को दोगुना करने के लिए उपयोग करने की कोई आवश्यकता नहीं है । [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
ओलेका

आपको Jekyll 3.x पर site.baseurl का उपयोग करने की आवश्यकता है, यह अब 4.x में आवश्यक नहीं है। लेकिन पेज अभी भी अधिकतम संस्करण, AFAIK के रूप में 3.x पर अटके हुए हैं।
हेनरी श्रेनर

26

पृष्ठों के लिए, उन्होंने एक page_urlटैग नहीं जोड़ने का फैसला किया क्योंकि आपको वैसे भी पृष्ठ का मार्ग जानना होगा। तो आपको बस इसे मैन्युअल रूप से लिंक करना होगा:

[My page](/path/to/page.html)

या आप इस तरह से कुछ बड़ा और बदसूरत कर सकते हैं यदि आप प्रोग्राम को पेज का शीर्षक प्राप्त करना चाहते हैं:

{% for page in site.pages %}
  {% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
  {% endif %}
{% endfor %}

14

यदि आंतरिक सामग्री एक ही पृष्ठ पर है, तो auto_idsसुविधा का उपयोग करके इसे लिंक करना संभव है । आप इसे इसमें सक्षम करते हैं _config.yml:

kramdown:
    auto_ids: true

इस सक्षम के साथ प्रत्येक शीर्षक idको शीर्षक पाठ के आधार पर एक रेफरी मिलता है । उदाहरण के लिए

### My Funky Heading

हो जाएगा

<h3 id="my-funky-heading">My Funky Heading</h3>

आप कुछ ऐसा करके उसी दस्तावेज़ के भीतर से इसे लिंक कर सकते हैं:

The funky text is [described below](#my-funky-heading)

यदि आप चाहें तो आप एक स्पष्ट आईडी असाइन कर सकते हैं:

### My Funky Heading
{: #funky }

और इसे लिंक करें

The funky text is [described below](#funky)

यदि आप शीर्षकों के अलावा अन्य तत्वों को संदर्भित करना चाहते हैं तो भी यह काम करता है।
एंटोनियो विनीसियस मेनेजेस मेडी सेप

1
यही वह है जिसकी तलाश में मैं हूं। धन्यवाद!
वाटेकेका

ऐसा सुरुचिपूर्ण समाधान!
रोबुर_131

इसे अन्य पृष्ठों में लिंक के लिए भी बढ़ाया जा सकता है। उदाहरण: [पाठ] (/ पथ / से / फ़ाइल / # कायरता)
रोबूर_१३

8

Jekyll में लिंक करने के कई तरीके हैं, जिनमें से कुछ अब पुराने हो चुके हैं।

लिंक टैग के साथ

आंतरिक फ़ाइलों से लिंक करने का अनुशंसित तरीका है

[Link]({{ site.baseurl }}{% link path/to/file.md %})

ध्यान दें कि यदि फ़ाइल चलती है या नष्ट हो जाती है तो यह एक त्रुटि का कारण होगा।

पर्मलिंक के साथ

त्रुटियों (बिना टूटे लिंक) के पृष्ठ को लिंक करने के लिए:

[Link]({{ '/path/to/page/' | relative_url }})

ध्यान दें कि यहां आपको पृष्ठ की अनुमति को जानना होगा और यह relative_urlसुनिश्चित करने के लिए फ़िल्टर के माध्यम से पास करना होगा कि यह साइट के आधार यूआरएल के साथ उपसर्ग कर रहा है।

किसी पेज का permalinkपर्मलिंक आपकी कॉन्फिगर फाइल में सेटिंग और फाइल permalinkके फ्रंट में की पर निर्भर करता है ।

जेकेल-रिश्तेदार-लिंक के साथ

यदि आप रिश्तेदार पथ का उपयोग करना चाहते हैं (और गिटहब के मार्कडाउन दृश्य में काम करने के लिए लिंक चाहते हैं), तो आपको उपयोग करना चाहिए jekyll-relative-links। इससे आप लिंक लिख सकते हैं जैसे:

[Link](./path/to/file.md)

[Link to file in parent folder](../file.md)

0

कल्पना कीजिए कि यह आपकी परियोजना निर्देशिका है:

परियोजना निर्देशिका

फ़ोल्डर के अंदर "index.md" को "20190920-post1.md" नामक ब्लॉग से लिंक करने के लिए, निम्नलिखित करें:

  1. फ़ाइल "index.md" खोलें।
  2. निम्नलिखित जोड़ें:

    [कोई पाठ]] / / सापेक्ष पथ)

उदाहरण के लिए:

- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)

आउटपुट:

यहां छवि विवरण दर्ज करें

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