在中间人中使用全局变量?即网站标题
Using global variables in middleman? i.e. Website title
我正试图找到一种在中间人中使用全局变量的方法,即设置网站名称,并在当前页面没有标题或在<meta name="application-name" content="Site name">
等元中传递应用程序标题参数时将其用作后备,这样我就不必每次都手动编写。问题是,目前我只能获得像<%= current_page.data.title || "Site Name" %>
这样的当前页面标题,其中每个布局都不同,而不是"Site Name"
。我想传递一个全局变量,该变量存储在一个文件中的某个位置,每个页面都可以访问。
您可以使用数据文件。只需在项目根级别的data文件夹中创建一个名为site.json的文件。然后,您可以使用数据路径访问它。
例如:
data/site.json:
{
"title": "Foo Test"
}
部分/head.html.erb(或任何其他部分/布局/页面)
<title><%= current_page.data.title || data.site.title %></title>
我刚刚测试了这个,它对我使用Middleman 3.4有效。
我已经有一段时间没有使用Middleman了,但我认为这样做的方法是在config.rb
中使用set
,例如:
set :site_title, "Site Name"
然后在您的模板中,您可以使用settings
对象访问它:
<%= current_page.data.title || config.site_title %>
或者,您可以创建自定义扩展中描述的辅助方法,例如:
class MyFeature < Middleman::Extension
SITE_TITLE = "Site Name"
helpers do
def page_title
current_page.data.title || SITE_TITLE
end
end
end
在config.rb
中激活扩展后,您可以在模板中执行此操作:
<%= page_title %>
然后在您的模板中,您可以只使用
相关文章:
- 如何在标题上创建弹出框,当点击关闭按钮时,不使用jquery或php在网站中显示
- j查询网站标题问题
- 为网站的所有页面添加标题
- 优化的方法;标题“;只发送一次POST请求即可访问网站
- 如何从网站上的所有单独页面标题中删除不需要的杂物
- 我试图从这个网站获得标题(http://www.itslaw.com),它是通过JavaScript加载的
- 单击我的joomla网站上的模块标题以指向一篇文章
- “index.swf”嵌入在“index.html”中,在一个页面中显示同一网站两次.HTML 标题标签/属性也显示值“
- 在我的网站标题中加载脚本
- 如何使用 JavaScript 修改网站的标题
- 如果我的网站在iframe中,我不希望标题显示在任何页面中
- 网站内容在淡出的标题上滚动
- 当用户离开我的网站时,将标题附加到页面(他们也会这样做)
- 正确检索用户名和有用的值(网站标题、版权等)
- 在中间人中使用全局变量?即网站标题
- 当我的用户收到朋友的未读消息时,我如何切换我的网站标题
- 预加载网站标题横幅&将其添加到缓存
- Safari跳过网站标题,直接进入内容
- 获取网站标题
- 在Bootstrap网站标题中使用的图像类型