Có bạn có thể làm điều này.
Để thực hiện điều này, chúng tôi sẽ tận dụng lợi thế của thực tế là trang hiện tại luôn được đại diện bởi biến lỏng: page
trong mẫu, và mỗi bài đăng / trang có một mã định danh duy nhất trong page.url
thuộc tính của nó .
Điều này có nghĩa là chúng tôi chỉ cần sử dụng một vòng lặp để xây dựng trang điều hướng của mình và bằng cách đó, chúng tôi có thể kiểm tra page.url
mọi thành viên của vòng lặp. Nếu nó tìm thấy một điểm trùng khớp, nó sẽ biết làm nổi bật yếu tố đó. Chúng ta bắt đầu:
{% for node in site.pages %}
{% if page.url == node.url %}
<li class="active"><a href="{{node.url}}" class="active">{{node.title}}</a></li>
{% else %}
<li><a href="{{node.url}}">{{node.title}}</a></li>
{% endif %}
{% endfor %}
Điều này hoạt động như mong đợi. Tuy nhiên, bạn có thể không muốn tất cả các trang của mình nằm trong thanh điều hướng. Để mô phỏng "nhóm" trang, bạn có thể làm như sau:
## Put the following code in a file in the _includes folder at: ./_includes/pages_list
{% for node in pages_list %}
{% if group == null or group == node.group %}
{% if page.url == node.url %}
<li class="active"><a href="{{node.url}}" class="active">{{node.title}}</a></li>
{% else %}
<li><a href="{{node.url}}">{{node.title}}</a></li>
{% endif %}
{% endif %}
{% endfor %}
{% assign pages_list = nil %}
{% assign group = nil %}
Bây giờ các trang có thể được "nhóm lại". Để cung cấp cho một nhóm trang, bạn cần chỉ định nó trong các trang YAML Front Matter:
---
title: blah
categories: blah
group: "navigation"
---
Cuối cùng, bạn có thể sử dụng mã mới của mình! Bất cứ nơi nào bạn cần điều hướng để đi trong mẫu của mình, chỉ cần "gọi" tệp bao gồm của bạn và chuyển nó một số trang và nhóm bạn muốn hiển thị:
<ul>
{% assign pages_list = site.pages %}
{% assign group = 'navigation' %}
{% include pages_list %}
</ul>
Ví dụ
Chức năng này là một phần của khuôn khổ Jekyll-Bootstrap . Bạn có thể xem tài liệu chính xác cho mã được nêu tại đây: http://jekyllbootstrap.com/api/bootstrap-api.html#jbpages_list
Cuối cùng, bạn có thể thấy nó hoạt động trong chính trang web. Chỉ cần nhìn vào điều hướng bên phải và bạn sẽ thấy trang hiện tại được đánh dấu màu xanh lục: Ví dụ liên kết điều hướng được đánh dấu