使用Inky(电子邮件基础)和使用自定义属性

时间:2016-07-21 00:18:06

标签: email zurb-foundation inky

我需要在编译的Foundation for Emails代码中添加一些自定义属性:

<div class="row" customAttribute="value" customAttributeName="value" customAttributeId="value">

当我使用Inky时,我可以编写如下代码:

<row class="xyz" customAttribute="value">

但它最终编译被剥夺了。是否有一个提示我可以添加到代码中,以便它被添加回dist代码?

1 个答案:

答案 0 :(得分:0)

在最新版的电子邮件基金会(2.2)中,这应该是可行的。

  

现在可以通过Brandon Barringer - commit

将HTML属性传递到行和列

从这里引用:http://zurb.com/article/1439/foundation-for-emails-2-2-what-a-ruby-gem

布兰登in this discussion解释了拉取请求的背景,并提供了添加bgcolor属性的好例子。

在node_modules / inky / lib / componentFactory.js中,在底部你会看到:

// <wrapper>
case this.components.wrapper:
 var classes = ['wrapper'];
      if (element.attr('class')) {
   classes = classes.concat(element.attr('class').split(' '));
 }
 return format('<table class="%s" align="center" ><tr><td class="wrapper-inner">%s</td></tr></table>', classes.join(' '), inner);

在看到

时构建表结构

添加一些代码以查找属性bgcolor =“#XXXXXX”。如果找到它,它会将值添加到它输出的HTML中。如果它没有找到值,它将恢复为var的默认值,即bgcolor =“”。如果您有默认颜色,也可以在其中放置一个值。

// <wrapper>
case this.components.wrapper:
 var classes = ['wrapper'];
 var bgcolor = ""; // corey add this line
 if (element.attr('class')) {
   classes = classes.concat(element.attr('class').split(' '));
 }
 // corey added the following statement
 if (element.attr('bgcolor')) {
   bgcolor = (element.attr('bgcolor'));
 } // stop new statement

 return format('<table class="%s" align="center" bgcolor="'+bgcolor+'"><tr><td class="wrapper-inner">%s</td></tr></table>', classes.join(' '), inner);

墨水降价可以这样写:

<wrapper bgcolor="#b9cd98">