在中间人中使用全局变量?即网站标题

Ilj*_*lja 3 javascript ruby static yaml middleman

我正在尝试找到一种在中间人中使用全局变量的方法,即设置网站名称并将其用作后备,如果当前页面没有标题或在元数据中传递应用程序标题参数时<meta name="application-name" content="Site name">,我不必这样做每次都手动写这个。问题是,目前我只能获取当前页面标题,例如<%= current_page.data.title || "Site Name" %>每个布局的不同之处,而不是"Site Name"我想传递一个全局变量,该变量存储在一个文件的某处并且每个页面都可以访问。

tor*_*sky 5

您可以使用数据文件。只需在项目根级别的数据文件夹中创建一个名为site.json的文件。然后您可以使用数据路径访问它。

例如:

数据/site.json:

{
  "title": "Foo Test"
}
Run Code Online (Sandbox Code Playgroud)

partials/head.html.erb(或任何其他部分/布局/页面)

<title><%= current_page.data.title || data.site.title %></title>
Run Code Online (Sandbox Code Playgroud)

我刚刚对此进行了测试,它使用 Middleman 3.4 对我有用。