使用HAML

时间:2019-03-07 21:56:32

标签: javascript haml middleman

为了在网页生成中包含Google Analytics(分析)

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-135345611-1">

docs中找不到太多。然后我找到了this,但是它将我的HTML标记转换为

%script(:async => "", src="https://www.googletagmanager.com/gtag/js?id=UA-135345611-1")

导致中间人v4.2.1构建失败:

Invalid attribute list: "(:async => \"\", src=\"https://www.googletagmanager.com/gtag/js?id=UA-135345611-1\")".
partials/_header.html.haml:4

任何人都知道如何在HAML中编写此行以便正确解析吗?

2 个答案:

答案 0 :(得分:1)

您尝试过吗?

%script{:async => "", :src => "https://www.googletagmanager.com/gtag/js?id=UA-135345611-1"}

当我通过该站点运行您的代码时,它用方括号而不是括号括起来。也许这就是为什么它不能正确解析的原因?

另一方面,我个人使用https://html2haml.herokuapp.com/,因为它使用的是中间人使用的相同版本的haml。

答案 1 :(得分:0)

要呈现没有属性值的HTML属性,例如asyncselected,请滚动到http://haml.info/docs/yardoc/file.REFERENCE.html#attributes上的“布尔属性”。

因此,要包含您的GA代码,请使用:

%script{async: true, src: "https://www.googletagmanager.com/gtag/js?id=UA-135345611-1"}