Câu trả lời:
Bây giờ bạn có thể đăng liên kết nội bộ bằng cách sử dụng như sau:
[Some Link]({% post_url 2010-07-21-name-of-post %})
Điều này cũng được tham chiếu trong Tài liệu Jekyll .
[Title of post](/correct/permalink)
với một lệnh duy nhất? Tôi chỉ có thể làm điều đó với bộ lọc quá dài dòng.
Bây giờ có thể liên kết đến các trang khác ngoài các bài đăng bằng link
thẻ. link
hoạt động cho bài viết, trang, tài liệu trong một bộ sưu tập và tập tin.
{{ 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 %}
Nhớ bao gồm phần mở rộng tập tin khi sử dụng link
thẻ. Để sử dụng nó để tạo một liên kết:
[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 %})
Xem Tài liệu Jekyll .
{{ site.baseurl }}
vì nó nhân đôi giá trị cơ bản trong các href được tạo. [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
Đối với các trang, họ quyết định không thêm page_url
thẻ vì dù sao bạn cũng phải biết đường dẫn của trang. Vì vậy, bạn chỉ cần liên kết với nó bằng tay:
[My page](/path/to/page.html)
Hoặc bạn có thể làm một cái gì đó lớn và xấu như thế này nếu bạn muốn lập trình lấy tiêu đề của trang:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Nếu nội dung bên trong cùng một trang thì có thể liên kết với nó bằng auto_ids
tính năng này. Bạn kích hoạt tính năng này trong _config.yml
:
kramdown:
auto_ids: true
Với tính năng này, mỗi tiêu đề sẽ có một tham chiếu id
dựa trên văn bản tiêu đề. Ví dụ
### My Funky Heading
sẽ trở thành
<h3 id="my-funky-heading">My Funky Heading</h3>
Bạn có thể liên kết đến điều này từ trong cùng một tài liệu bằng cách thực hiện một cái gì đó như thế này:
The funky text is [described below](#my-funky-heading)
Bạn có thể chỉ định một id rõ ràng nếu bạn thích:
### My Funky Heading
{: #funky }
và liên kết với nó
The funky text is [described below](#funky)
Có nhiều cách liên kết trong Jekyll, một số trong đó hiện đã lỗi thời.
Cách được đề xuất để liên kết đến các tệp nội bộ là
[Link]({{ site.baseurl }}{% link path/to/file.md %})
Lưu ý rằng điều này sẽ gây ra lỗi nếu tệp di chuyển hoặc bị xóa.
Để liên kết đến một trang mà không gây ra lỗi (thay vào đó là các liên kết bị hỏng):
[Link]({{ '/path/to/page/' | relative_url }})
Lưu ý rằng ở đây bạn cần biết permalink của trang và chuyển qua relative_url
bộ lọc để đảm bảo rằng nó được thêm tiền tố với url cơ sở của trang web.
Permalink của một trang phụ thuộc vào permalink
cài đặt trong tệp cấu hình của bạn và permalink
khóa trong vấn đề chính của tệp.
Nếu bạn muốn sử dụng các đường dẫn tương đối (và muốn các liên kết hoạt động trong chế độ xem đánh dấu của GitHub), bạn nên sử dụng jekyll-relative-links
. Điều này cho phép bạn viết các liên kết như:
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
Hãy tưởng tượng đây là thư mục dự án của bạn:
Để liên kết "index.md" với một tệp trong thư mục "blog" có tên "20190920-post1.md", hãy làm như sau:
Thêm những điều sau:
[bất kỳ văn bản] (./ đường dẫn tương đối)
Ví dụ:
- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)
Đầu ra: