2016-03-01 29 views
1

我的personal site是通過Jekyll開發的。另外,我已經實現了active導航邏輯。所以,如果我點擊「日記」,它會帶我到列表頁面,您可以找到所有帖子。如何在導航鏈接中添加「主動」類,如果您在Jekyll的單個帖子頁面

導航項目:

  1. 首頁
  2. 雜誌
  3. 項目
  4. 關於
  5. 聯繫

現在我正在尋找一個解決方案,我可以給活躍類「雜誌」,而我在單個帖子頁面或閱讀帖子。

您可以考慮使用current-post-ancestor,current-menu-parentcurrent-post-parent在WordPress中發佈類以更好地理解此問題。

在此先感謝。

回答

1

每個帖子有一個page.path_posts/postName.md變量。所以,你的代碼,你可以使用page.path contains "_posts/"這樣的:

<li {% if page.url == '/journal/' or page.url == '/post.html/' or page.path contains "_posts/" %} class="active"{% endif %}> 
    <a href="{{ site.baseurl }}/journal">Journal</a> 
</li> 

注:似乎{% if page.url == '/journal/' || page.url == '/post.html/' || page.path contains "_posts/" %}不工作。

+0

謝謝@david,它爲我工作。我正在使用'||'。 –

1

如果'Journal'是頁面'mysite.com/journal',而您的帖子位於'mysite.com/journal/postdate/postname'上,則可以檢查URL的第一部分是否等於菜單項這樣的:

{% assign url_parts = page.url | split: '/' %} 
<li {% if url_parts[1] == 'journal' %}class="active"{% endif %}> ... </li> 

來源:http://jekyllcodex.org/basics/

這可能需要自定義固定鏈接。有關自定義固定鏈接的信息可以在same page上找到。

相關問題