Использование Inky (Foundation for Emails) и использование пользовательских атрибутов
Мне нужно добавить некоторые пользовательские атрибуты в мой скомпилированный код Foundation for Emails:
<div class="row" customAttribute="value" customAttributeName="value" customAttributeId="value">
Когда я использую Inky, я могу написать такой код:
<row class="xyz" customAttribute="value">
Но это вырезано из окончательной компиляции. Есть ли подсказка, которую я могу добавить к коду, чтобы он был добавлен обратно в код dist?
1 ответ
В последней версии Foundation for Email (2.2) это должно быть возможно.
Атрибуты HTML теперь можно передавать в строки и столбцы благодаря Brandon Barringer - commit
Ссылка здесь: http://zurb.com/article/1439/foundation-for-emails-2-2-what-a-ruby-gem
История этого запроса объясняется Брэндоном в этом обсуждении с хорошим примером для добавления 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">