Использование Inky (Foundation for Emails) и использование настраиваемых атрибутов

Мне нужно добавить некоторые настраиваемые атрибуты в мой скомпилированный код Foundation for Emails:

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

Когда я использую Inky, я могу написать такой код:

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

Но из финальной компиляции его убрали. Есть ли подсказка, которую я могу добавить в код, чтобы он был добавлен обратно в код dist?


person Nicho    schedule 21.07.2016    source источник


Ответы (1)


В последней версии Foundation for Email (2.2) это должно быть возможно.

Атрибуты HTML теперь можно передавать в строки и столбцы благодаря Брэндону Барринджеру - зафиксировать

Ссылка здесь: 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">
person Erik    schedule 27.07.2016