Я создаю блог Jekyll и столкнулся с проблемой постоянных ссылок.
Мои постоянные ссылки на сообщения в блоге установлены следующим образом в _config.yml:
permalink: /:page/:categories/:title
Это выводится при переходе к сообщению в блоге:
http://localhost:4000/blog/travel/netherlands-trip-prequesites/
У меня есть несколько статических страниц на сайте: Блог, Путешествия
Переменная page.url
выводит этот URL: /blog/travel/netherlands-trip-prequesites
Код, который моя панель навигации использует для выделения текущей страницы (предоставляя ей «активный» класс):
{% assign url = page.url|remove:'index.html' %}
{% for nav in site.navigation %}
{% if nav.href == url %}
<li class="active"><a href="{{nav.href}}">{{nav.name}}</a></li>
{% else %}
<li><a href="{{nav.href}}">{{nav.name}}</a></li>
{% endif %}
{%endfor%}
Он отлично работает при переходе к статическим страницам, однако, когда я нажимаю на сообщение в блоге, он не выделяет правильную статическую страницу. (например: если я перейду к сообщению в блоге с URL-адресом /blog/smth/title
, он должен автоматически выделить «Блог» в моей навигации. Когда я перейду к /travel/smth/title
, он должен выделить «Путешествие»)
Что я хотел бы сделать, так это разделить вывод page.url до его первой части. Например, я хотел бы вывести следующий вывод
/blog/travel/netherlands-trip-prequesites
вплоть до
/blog/
Почему? Поэтому я могу использовать его, чтобы проверить, к какой статической странице он принадлежит, и соответствующим образом выделить его.