Jekyll ใช้ลิงค์ที่มีการจัดรูปแบบมาร์กอัป แต่ฉันจะลิงก์ไปยังเนื้อหาภายในได้อย่างไร
[[link]]
Jekyll ใช้ลิงค์ที่มีการจัดรูปแบบมาร์กอัป แต่ฉันจะลิงก์ไปยังเนื้อหาภายในได้อย่างไร
[[link]]
คำตอบ:
ตอนนี้คุณสามารถโพสต์ลิงก์ภายในโดยใช้สิ่งต่อไปนี้:
[Some Link]({% post_url 2010-07-21-name-of-post %})
นี้จะอ้างอิงในเอกสาร Jekyll
[Title of post](/correct/permalink)
ด้วยคำสั่งเดียว? ฉันสามารถทำได้ด้วยการกรองซึ่ง verbose เกินไป
ตอนนี้คุณสามารถลิงก์ไปยังหน้าอื่น ๆ นอกเหนือจากโพสต์โดยใช้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
{{ site.baseurl }}
เพราะมันเพิ่มค่า baseurl เป็นสองเท่าใน href ที่สร้างขึ้น [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
สำหรับหน้าเว็บพวกเขาตัดสินใจที่จะไม่เพิ่ม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 %}
หากเนื้อหาภายในอยู่ในหน้าเดียวกันคุณสามารถลิงก์ไปยังเนื้อหานั้นได้โดยใช้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)
คุณสามารถกำหนด ID ที่ชัดเจนได้หากคุณต้องการ:
### My Funky Heading
{: #funky }
และลิงก์ไปยังมัน
The funky text is [described below](#funky)
มีหลายวิธีในการเชื่อมโยงใน Jekyll ซึ่งบางวิธีก็ล้าสมัยแล้ว
วิธีที่แนะนำในการลิงก์ไปยังไฟล์ภายในคือ
[Link]({{ site.baseurl }}{% link path/to/file.md %})
โปรดทราบว่านี่จะทำให้เกิดข้อผิดพลาดหากไฟล์ย้ายหรือถูกลบ
วิธีเชื่อมโยงไปยังหน้าโดยไม่ทำให้เกิดข้อผิดพลาด (ลิงค์เสีย)
[Link]({{ '/path/to/page/' | relative_url }})
โปรดทราบว่าที่นี่คุณจำเป็นต้องทราบลิงก์ของหน้าและส่งผ่านrelative_url
ตัวกรองเพื่อให้แน่ใจว่ามีการเติมคำนำหน้าด้วย url พื้นฐานของเว็บไซต์
ลิงก์ถาวรของหน้าขึ้นอยู่กับการpermalink
ตั้งค่าในไฟล์กำหนดค่าของคุณและpermalink
ปุ่มที่อยู่ด้านหน้าของไฟล์
หากคุณต้องการที่จะใช้เส้นทางญาติ (และต้องการเชื่อมโยงไปยังการทำงานในมุมมองของ markdown GitHub) jekyll-relative-links
คุณควรใช้ วิธีนี้ช่วยให้คุณสามารถเขียนลิงก์เช่น:
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
ลองนึกภาพนี่เป็นไดเรกทอรีโครงการของคุณ:
หากต้องการลิงก์ "index.md" ไปยังไฟล์ที่อยู่ในโฟลเดอร์ "บล็อก" ชื่อ "20190920-post1.md" ให้ทำดังต่อไปนี้:
เพิ่มรายการต่อไปนี้:
[ข้อความใด ๆ ] (./ เส้นทางสัมพัทธ์)
ตัวอย่างเช่น:
- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)
เอาท์พุท: