我剛剛習慣了Middleman和Ruby。用活動狀態生成導航的最佳方式是什麼?如何在Middleman中生成導航?
回答
在當前版本的MM(2.x,儘管3.0已關閉)中,您可以在config.rb
中添加以下內容並在您的導航文件中進行一些調整。這裏是a working version的情況下,我忽略了一些關鍵位:
首先創建一個輔助函數:
helpers do
def nav_active(page)
@page_id == page ? {:class => "Active"} : {}
end
end
然後,在nav bar include file(在這種情況下,它是一個HAML文件),您可以使用nav_active
助手爲如下:
#HeaderNavigationBar
%ul
%li{nav_active("index")}= link_to t('top_navigation.home'), t('paths.index')
%li{nav_active("pricing")}= link_to t('top_navigation.pricing'), t('paths.pricing')
%li{nav_active("faq")}= link_to t('top_navigation.faq'), t('paths.faq')
這樣做的最終結果是對類「活動」添加到鏈接的導航欄時頁面大樓建成了這個網頁。即如果頁面是一個名爲「index」的文件,那麼@page_id
將是「索引」,並且該鏈接將具有活動主題。
爲了完成這個例子,這裏是從定義活躍的scss style partial摘錄:
&.Active {
font-weight: bold;
}
在頭文件的後續版本,我們實際上在活動頁面上刪除時的鏈接。它看起來是這樣 - 這可以清楚地收拾,但FWIW:d:
%li{nav_active("index")}
-if "index" == @page_id
= t('top_navigation.home')
-else
= link_to t('top_navigation.home'), root()
... (etc)
注意,所有的T(「東西」),具有與國際化翻譯功能做。你可以忽略它。我不想通過嘗試刪除它們來使該示例語法錯誤。
希望這有助於 - 也可以在http://forum.middlemanapp.com/看到論壇。
我這樣做,如果我知道頁面類將保持不變 :class =>(page_classes ===「index」)? 「主動」:「」 – 2013-04-21 14:33:24
下面是用於標記在中間人與aria-current
當前鏈路(然後你就可以用它來關閉的風格)的一個新的寶石:https://github.com/thoughtbot/middleman-aria_current
- 1. Middleman 3.0.4不會生成
- 2. 如何在MIddleman中鏈接動態生成的頁面?
- 3. Middleman 3.0 - 簡單導航寶石
- 4. 如何訪問php生成的導航
- 5. 你如何生成網站導航?
- 6. 導航項導航控制器在界面生成器
- 7. 如何鏈接ReadTheDocs導航欄中生成的索引頁?
- 8. 如何禁用Linqpad中生成的導航屬性?
- 9. 從列表中生成導航以生成頁面
- 10. 如何在Middleman生成的靜態頁面中支持嵌入式Ruby
- 11. 如何在xamarin導航標題替換導航圖標形成
- 12. 使用Nokogiri在Slate/Middleman中生成靜態頭列表
- 13. 如何維護組件的狀態,同時在原生導航中導航
- 14. 如何在umbraco中導航
- 15. 如何在ul中導航?
- 16. 防止在實體框架中生成導航屬性代碼生成工具
- 17. Harp.js:爲我的網站生成導航
- 18. 導航郵件生成無效URL
- 19. Flash生成器代碼導航失敗
- 20. 堆棧導航生成2個標頭
- 21. 如何將javascript包含在middleman 4中?
- 22. 如何在middleman中添加變量html
- 23. 如何在瀏覽器中生成「您確定要從此頁面導航?」嗎?
- 24. Middleman單個新聞文章添加活動類導航
- 25. JSDuck指南:如何生成子部分導航?
- 26. 如何從數據庫生成嵌套導航菜單
- 27. 如何自動生成導航包含實體?
- 28. 如何從xml動態生成導航抽屜項目?
- 29. 如何更改自動生成的導航欄Xcode
- 30. 如何導航到Windows生成的控件?
見托馬斯[magic_link_to](https://github.com/middleman/ middleman/issues/303#issuecomment-4362124)Middleman 3的助手。request.path表示當前的URL路徑。 – sam 2012-11-30 07:21:47
堆棧溢出已變得如此悲傷,以至於您可以詢問任何在手冊中有答案的問題,但您無法再提出有用的問題。不是一個真正的問題?我不認爲這意味着你的想法。 – 2014-04-21 15:15:36