jekyll markdown dahili bağlantılar


143

Jekyll Markdown biçimli bağlantıları kullanır, ancak dahili içeriğe nasıl bağlanabilirim?

[[link]] 

Yanıtlar:


249

Artık aşağıdakileri kullanarak dahili bağlantıları gönderebilirsiniz:

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

Bu, Jekyll Belgeleri'nde de belirtilmektedir .

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


17
Bir sayfaya dahili olarak nasıl bağlantı verileceği hakkında bir fikriniz var mı?
Dogweather

1
Bir sayfaya bağlantı kurulamıyor gibi görünüyor. Bu Halkla İlişkiler birleştirilmeden kapatıldı: github.com/jekyll/jekyll/pull/369
northben

1
Başlığın kolayca gösterilmesini sağlamak mümkün müdür, örneğin [Title of post](/correct/permalink)tek bir komutla render etmek ? Sadece çok ayrıntılı olan filtreleme ile yapabilirdim.
Ciro Santilli 法轮功 14 病 六四 事件 法轮功

Alt dizinleriniz varsa: [Link's Text] ({% post_url / dirname / 2010-07-21-post%})
alexsalo

Küçük bir hata: Jekyll Belgeleri Bu post-urldeğilpost_url
Han Qiu

40

Artık linketiketi kullanarak yayınlar dışındaki sayfalara bağlanmak mümkündür . linkyayınlar, sayfalar, bir koleksiyondaki belgeler ve dosyalar için çalışır.

{{ 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 %}

linkEtiketi kullanırken dosya uzantısını eklemeyi unutmayın . Bir bağlantı oluşturmak üzere kullanmak için:

[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 %})

Bkz. Jekyll Belgeleri .


2
Bu dokümantasyon sayfasını da yararlı buldum - jekyllrb.com/docs/liquid/tags/#link
David Douglas

2
Ben sadece {{ site.baseurl }}oluşturulan href baseurl değerini iki katına beri kullanmaya gerek olmadığını buldum . [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
oleksa

Jekyll 3.x üzerinde site.baseurl kullanmanız gerekir, artık 4.x'te gerekli değildir. Ancak Pages, en yüksek sürüm olan AFAIK olarak 3.x'te kalmıştır.
Henry Schreiner

26

Sayfalar için, etiket eklememeye karar verdilerpage_url , çünkü yine de sayfanın yolunu bilmek zorunda kalacaksınız. Yani sadece manuel olarak bağlantı vermelisiniz:

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

Veya sayfanın başlığını programlı olarak almak istiyorsanız böyle büyük ve çirkin bir şey yapabilirsiniz:

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

14

Eğer iç içerik aynı sayfada o zaman kullanarak ona bağlamak mümkündür auto_idsözelliğini. Bunu şu durumlarda etkinleştirirsiniz _config.yml:

kramdown:
    auto_ids: true

Bu etkinleştirildiğinde her başlık id, başlık metnine göre bir ref alır . Örneğin

### My Funky Heading

Olacak

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

Buna, aynı belge içinden aşağıdakine benzer bir şey yaparak bağlantı verebilirsiniz:

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

İsterseniz açık bir kimlik atayabilirsiniz:

### My Funky Heading
{: #funky }

ve link ver

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

Başlıklardan başka öğelere başvurmak isteseniz bile bu işe yarar.
Antonio Vinicius Menezes Medei

1
Tam da aradığım şey buydu. Teşekkürler!
Wimateeka

Böyle zarif bir çözüm!
Robur_131

Bu, diğer sayfalardaki bağlantılar için de genişletilebilir. örneğin: [metin] (/ path / to / file / # funky)
Robur_131

8

Jekyll'de bağlantı kurmanın birkaç yolu var, bazıları şimdi modası geçmiş.

Bağlantı etiketleri ile

Dahili dosyalara bağlanmanın önerilen yolu

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

Dosya hareket ederse veya silinirse bunun hataya neden olacağını unutmayın.

Kalıcı bağlantılar ile

Bir sayfaya hataya neden olmadan bağlantı vermek için (bunun yerine bozuk bağlantılar):

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

Burada, sayfanın kalıcı bağlantısını bilmeniz relative_urlve sitenin temel URL'si ile önek olarak eklendiğinden emin olmak için filtreden geçirmeniz gerektiğini unutmayın.

Sayfanın kalıcı bağlantısı, permalinkyapılandırma dosyanızdaki ayara ve dosyanın permalinkön kısmındaki anahtara bağlıdır .

Jekyll-relative-links ile

Göreli yolları kullanmak istiyorsanız (ve bağlantıların GitHub'ın işaretleme görünümünde çalışmasını istiyorsanız) kullanmalısınız jekyll-relative-links. Bu, aşağıdaki gibi bağlantılar yazmanıza olanak tanır:

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

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

0

Bunun proje dizininiz olduğunu düşünün:

proje dizini

"İndex.md" dosyasını "blog" klasörünün içindeki "20190920-post1.md" adlı bir dosyaya bağlamak için aşağıdakileri yapın:

  1. "İndex.md" dosyasını açın.
  2. Aşağıdakileri ekleyin:

    [herhangi bir metin] (./ göreli yol)

Örneğin:

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

Çıktı:

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.