gpt4 book ai didi

ruby - 如何在 Middleman 中生成导航?

转载 作者:数据小太阳 更新时间:2023-10-29 06:50:01 25 4
gpt4 key购买 nike

我只是习惯了Middleman和一般的 ruby 。生成具有事件状态的导航的最佳方式是什么?

最佳答案

在当前版本的 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')

这样做的最终结果是在为此页面构建页面时将类“Active”添加到导航栏中的链接。 IE。如果页面是名为“index”的文件,则 @page_id 将为“index”,并且该链接将具有 Active 主题。

为了完成示例,这里是 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('stuff') 都与 i18n 的翻译功能有关。你可以忽略它。我不想通过删除它们来使示例在语法上出错。

希望这会有所帮助 - 另请参阅论坛 http://forum.middlemanapp.com/ .

关于ruby - 如何在 Middleman 中生成导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com