Blaze Templating - 没有价值的属性

时间:2017-05-12 23:13:59

标签: haskell blaze-html

使用Blaze,如何编写没有值的属性?就像只有一个字符串的属性一样,没有=

例如,我想添加一个嵌入Blaze的YouTube,但我不知道如何添加allowfullscreen部分。 blaze-from-html工具只是出错并告诉我它在HTML5中是非法的,我不知道如何从文档中做到这一点。以下是HTML的外观:

<iframe width="560" height="315"
    src="https://www.youtube.com/embed/T4r91mc8pbo" 
    frameborder="0" allowfullscreen>
</iframe>

我尝试过创建像

这样的自定义元素
allowfullscreen :: AttributeValue -> Attribute
allowfullscreen = attribute "allowfullscreen" " allowfullscreen"

但无论如何它会附加等号 - allowfullscreen"="并且不允许使用全屏。

我正在使用blaze-html 0.8.1.1和blaze-markup 0.7.0.3。

1 个答案:

答案 0 :(得分:1)

  

布尔属性(HTML5 spec

     

如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格。

     

实施例

<label><input type=checkbox checked name=cheese disabled> Cheese</label>
<label><input type=checkbox checked=checked name=cheese disabled=disabled> Cheese</label>
<label><input type='checkbox' checked name=cheese disabled=""> Cheese</label>

另见HTML4

有一个Github issue for blaze-html

所以allowfullscreen="allowfullscreen"应该有用。