Использование 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">
Другие вопросы по тегам