8xx8 (Андрей Кулаков)

Творческая мастерская

Плагин Link для Jekyll

| Comments

Нужно было для одного статического сайта сделать так, чтобы все ссылки которые ведут на текущую открытую страницу помечались классом current. Для того что бы пользователь по структуре меню мог определить, где он находится.

Я написал плагин для этого. https://github.com/Andrew8xx8/jekyll-link

Плагин добавляет новый тег link с помощью которого генерируется HTML код для ссылки, причём если адрес страницы в ссылке является частью или полностью совпадает с адресом той страницы на которой она расположена, то в неё добавится класс current.

Например, имеем такой шаблон с меню:

1
2
3
4
5
6
7
8
9
10
11

 <ul>
   <li>\{% link /blog Blog %\}
   <li>
     {% link /about About %}
     <ul>
       <li>{% link /about/author Author %}
     </ul>
   </li>
 </ul>

На странице с автором (/about/author) сгенерируется такой код:

1
2
3
4
5
6
7
8
9
10
11

 <ul>
   <li><a href="/blog">Blog</a></li>
   <li>
     <a href="/about" class="current">About</a>
     <ul>
       <li><a href="/about/author" class="current">Author</a>
     </ul>
   </li>
 </ul>

Смешно, но документация с примерами к плагину занимет больше строк чем сам код.

Comments