Node.js 0.12 or greater
- npm install
- Изменить example.config.json
- Переименовать example.config.json в config.json
- npm start
###Resourses
Run npm start
to kick off the build process. A new browser tab will open with a server pointing to your project files.
Run npm run build
to inline your CSS into your HTML along with the rest of the build process.
Run npm run litmus
to build as above, then submit to litmus for testing. AWS S3 Account details required (config.json)
Run npm run mail
to build as above, then send to specified email address for testing. SMTP server details required (config.json)
Run npm run zip
to build as above, then zip HTML and images for easy deployment to email marketing services.
##Description
Вёрстка писем основана на фрэймворке Foundation for Emails.
Каждый шаблон письма находится в /src/pages
.
Т.к. бэк использует шаблонизатор erb, пришлось сделать костыль. Причины:
-
При использовании
<%= params[:price] %>
в шаблоне письма, после билдинга это превратится в<% = params[:price] %>
. -
Можно было бы работать с сбилденным шаблоном письма и вставлять вручную
<%= params[:price] %>
, но это неудобно т.к. файл с инлайн-стилями + минифицированный. -
{{{ <%= params[:price] %> }}}
не решает проблему http://handlebarsjs.com
Допустим нужно вывести цену в шаблоне /src/pages/client_offer_updated.html
-
Нужно создать хэлпер в
/src/helpers
под названиемprice.js
В
price.js
:module.exports = function(options) { var price = "<% = @params[:price] %>"; return price; }
-
При билдинге мнемоники
<
,>
,%
, конвертятся в символы. По другому вывести<%= params[:client_name] %>
в сбилденную версию не получилось. -
В шаблоне там где цена, нужно вывести хэлпер
price.js
Например в теге:
<p>{{price}}</p>
-
Перезапустить сборку
-
В сбилденном файле
/dist/client_offer_updated.html
это превратится в:<%= @params[:price] %>
-
Готово! Можно использовать
/dist/client_offer_updated.html
-
Создать шаблон в
/src/pages
-
Сверстать
-
Протестировать шаблон
npm run mail
<img src="{{#image_path}}file_name.png{{/image_path}}">