Cahe (Create Archive HTML Email) — это CLI инструмент для создания архивов HTML-рассылок. Он уменьшает размер HTML, переносит CSS-свойства в атрибут style HTML-элементов, обрабатывает изображения (сжатие, изменение размера, конвертация svg) и упаковывает всё в ZIP-файл. Так же есть возможность создать веб-версию письма. Подходит для работы с Unisender и другими похожими сервисами.
- Node.js
- Archiver
- Email-comb
- Juice
- Sharp
- Netlify
- Signale
- Extract-zip
- Clipboardy
- Dotenv
- Commander.js
- Encode-emojis
- ESLint
Перед использованием убедитесь, что у вас установлен Node.js.
- Склонируйте репозиторий:
git clone https://github.com/rastereo/cahe.git
- Перейдите в директорию проекта:
cd cahe
- Установите зависимости:
npm install
- Сделайте файл cahe.js исполняемым:
npm run init
Запустите скрипт в терминале, указав абсолютный путь к HTML-файлу:
cahe "C:\path\to\your\file.html"
Так же можно указать относительный путь:
cahe file.html
Архив .zip создастся в каталоге, где находится HTML-файл и путь к нему автоматически сохранится в буфер обмена.
Если нужно извлечь содержимое архива, укажите флаг -e после пути к HTML-файлу:
cahe file.html -e
Или просто укажите путь к ZIP-файлу:
cahe file.zip
Архива будет извлечен в каталог /build, где лежит HTML-файл.
Как автоматически изменять размер изображений
Добавьте в HTML элементу img атрибут data-width с нужной шириной в px.
<img src="images/banner.png" width="100%" data-width="600" />
Скрипт изменит разрешение фотографии, подгонит ширину в 600px и сохранит в архив, исходный файл не изменится.
Если нужно создать веб-версию письма:
- Зарегистрируйтесь на сайте Netlify и получите токен.
- В корне директории /cahe создайте файл .env.
- В файле .env укажите ваш ключ:
NETLIFY_KEY=ваш_ключ_api
- При необходимости можно также указать прокси:
PROXY=адрес_прокси
- В терминале укажите флаг -w после пути к HTML-файлу:
cahe file.html -w
Так же можно сразу указать путь до архива в формате .zip(другие форматы не подходят)
cahe file.zip -w
Файл config.json создастся в каталоге, где находится HTML файл. Внутри будет ссылка на веб-версию письма, а также в консоли при завершении. Последующие правки будут изменятся по той же ссылке. Если нужно создать новую ссылку, удалите config.json файл или удалите в нем строчку siteID