tautan internal penurunan harga jekyll


143

Jekyll menggunakan tautan berformat Markdown, tetapi bagaimana saya bisa menautkan ke konten internal?

[[link]] 

Jawaban:


249

Anda sekarang dapat memposting tautan internal dengan menggunakan yang berikut:

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

Ini juga dirujuk dalam Dokumentasi Jekyll .

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


17
Adakah yang tahu bagaimana cara menautkan secara internal ke suatu halaman?
— Dogweather

1
Sepertinya tidak mungkin untuk menautkan ke halaman. PR ini ditutup tanpa digabung: github.com/jekyll/jekyll/pull/369
— northben

1
Apakah mungkin untuk mendapatkan judul untuk ditampilkan dengan mudah, misalnya membuat [Title of post](/correct/permalink)dengan satu perintah? Saya hanya bisa melakukannya dengan penyaringan yang terlalu bertele-tele.
— Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Jika Anda memiliki subdir: [Teks Tautan] ({% post_url / dirname / 2010-07-21-post%})
— alexsalo

Satu kesalahan kecil: Jekyll Dokumentasi Ini post-urlbukanpost_url
— Han Qiu

40

Sekarang mungkin untuk menautkan ke halaman selain posting menggunakan linktag. linkberfungsi untuk posting, halaman, dokumen dalam koleksi, dan file.

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

Ingatlah untuk menyertakan ekstensi file saat menggunakan linktag. Untuk menggunakannya untuk membuat tautan:

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

Lihat Dokumentasi Jekyll .


2
Saya juga menemukan halaman dokumentasi ini bermanfaat - jekyllrb.com/docs/liquid/tags/#link
— David Douglas

2
Saya baru saja menemukan bahwa tidak perlu digunakan {{ site.baseurl }}karena menggandakan nilai baseurl dalam href yang dihasilkan. [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
— oleksa

Anda perlu menggunakan site.baseurl di Jekyll 3.x, tidak lagi diperlukan di 4.x. Namun Pages masih terjebak pada 3.x sebagai versi maksimal, AFAIK.
— Henry Schreiner

26

Untuk halaman, mereka memutuskan untuk tidak menambahkan page_urltag karena Anda harus mengetahui jalur halaman itu. Jadi, Anda hanya perlu menautkannya secara manual:

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

Atau Anda dapat melakukan sesuatu yang besar dan jelek seperti ini jika Anda ingin mendapatkan judul halaman secara terprogram:

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

14

Jika konten internal berada di halaman yang sama maka dimungkinkan untuk menautkannya menggunakan auto_idsfitur. Anda mengaktifkan ini di _config.yml:

kramdown:
    auto_ids: true

Dengan ini diaktifkan setiap heading mendapat idreferensi berdasarkan teks heading. Sebagai contoh

### My Funky Heading

akan menjadi

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

Anda dapat menautkan ini dari dalam dokumen yang sama dengan melakukan sesuatu seperti ini:

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

Anda dapat menetapkan id eksplisit jika Anda lebih suka:

### My Funky Heading
{: #funky }

dan tautan ke sana

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

Itu berfungsi bahkan jika Anda ingin merujuk elemen lain selain judul.
— Antonio Vinicius Menezes Medei

1
Ini persis apa yang saya cari. Terima kasih!
— Wimateeka

Solusi yang sangat elegan!
— Robur_131

Ini juga dapat diperpanjang untuk tautan di halaman lain. misalnya: [teks] (/ path / ke / file / # funky)
— Robur_131

8

Ada beberapa cara menghubungkan di Jekyll, beberapa di antaranya sekarang sudah ketinggalan zaman.

Dengan tag tautan

Cara yang disarankan untuk menautkan ke file internal adalah

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

Perhatikan bahwa ini akan menyebabkan kesalahan jika file bergerak atau terhapus.

Dengan permalinks

Untuk menautkan ke halaman tanpa menyebabkan kesalahan (tautan yang terputus):

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

Perhatikan bahwa di sini Anda perlu mengetahui permalink halaman dan meneruskannya melalui relative_urlfilter untuk memastikan bahwa diawali dengan url dasar situs.

Permalink suatu halaman tergantung pada permalinkpengaturan dalam file konfigurasi Anda dan permalinkkunci di bagian depan file tersebut.

Dengan jekyll-relative-links

Jika Anda ingin menggunakan jalur relatif (dan ingin tautan berfungsi dalam tampilan penurunan harga GitHub), Anda harus menggunakan jekyll-relative-links. Ini memungkinkan Anda menulis tautan seperti:

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

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

0

Bayangkan ini adalah direktori proyek Anda:

direktori proyek

Untuk menautkan "index.md" ke file di dalam folder "blog" bernama "20190920-post1.md", lakukan hal berikut:

  1. Buka file "index.md".
  2. Tambahkan yang berikut ini:

    [teks apa saja] (./ jalur relatif)

Sebagai contoh:

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

Keluaran:

masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.