https://github.com/rastereo/cahe
Create Archive HTML Email
https://github.com/rastereo/cahe
cli email html image letters minify nodejs typescript unisender
Last synced: 5 months ago
JSON representation
Create Archive HTML Email
- Host: GitHub
- URL: https://github.com/rastereo/cahe
- Owner: rastereo
- License: mit
- Created: 2024-03-23T14:27:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-21T11:27:49.000Z (5 months ago)
- Last Synced: 2025-01-21T12:26:17.705Z (5 months ago)
- Topics: cli, email, html, image, letters, minify, nodejs, typescript, unisender
- Language: TypeScript
- Homepage:
- Size: 444 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Create Archive HTML Email
![]()
Cahe (**C**reate **A**rchive **H**TML **E**mail) — это CLI инструмент для создания архивов HTML-рассылок. Он уменьшает размер HTML, проверяет ссылки(href), переносит CSS-свойства в атрибут style HTML-элементов, обрабатывает изображения (сжатие, изменение размера, конвертация svg) и упаковывает всё в ZIP-файл. Так же есть возможность создать веб-версию письма. Подходит для работы с [Unisender](https://www.unisender.com/) и другими похожими сервисами.
## 🛠 Технологии:
- [Node.js](https://nodejs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Archiver](https://www.archiverjs.com/)
- [Email-comb](https://codsen.com/os/email-comb)
- [Juice](https://github.com/Automattic/juice)
- [Sharp](https://sharp.pixelplumbing.com/)
- [Signale](https://github.com/klaudiosinani/signale)
- [Extract-zip](https://github.com/max-mapper/extract-zip)
- [Clipboardy](https://github.com/sindresorhus/clipboardy)
- [Dotenv](https://github.com/motdotla/dotenv)
- [Commander.js](https://github.com/tj/commander.js)
- [Encode-emojis](https://github.com/simbo/encode-emojis)## 💾 Установка:
Перед использованием убедитесь, что у вас установлен Node.js.
1. Склонируйте репозиторий:
```bash
git clone https://github.com/rastereo/cahe.git
```2. Перейдите в директорию проекта:
```bash
cd cahe
```3. Установите зависимости:
```bash
npm install
```4. Чтобы собрать проект, воспользуйтесь следующей командой:
```bash
npm run build
```5. Сделайте файл cahe.js исполняемым:
```bash
npm run init
```## 🤖Использование:
Запустите скрипт в терминале, указав абсолютный путь к HTML-файлу:
```bash
cahe "C:\path\to\your\file.html"
```Так же можно указать относительный путь:
```bash
cahe file.html
```Архив .zip создастся в каталоге, где находится HTML-файл и путь к нему автоматически сохранится в буфер обмена.
**Если нужно извлечь содержимое архива, укажите флаг **-e** после пути к HTML-файлу:**
```bash
cahe file.html -e
```Или просто укажите путь к ZIP-файлу:
```bash
cahe file.zip
```Архива будет извлечен в каталог /build, где лежит HTML-файл.
**Как автоматически изменять размер изображений**
Добавьте в HTML элементу img атрибут data-width с нужной шириной в px.
```html
![]()
```Скрипт изменит разрешение фотографии, подгонит ширину в 600px и сохранит в архив, исходный файл не изменится.
**Если нужно создать веб-версию письма:**
1. В корне директории /cahe создайте файл .env.
2. В файле .env укажите ваш ключ:```env
WEBLETTER_TOKEN=ваш_токен
WEBLETTER_URL=путь_до_сервера
```4. При необходимости можно также указать прокси:
```env
PROXY=адрес_прокси
```5. В терминале укажите флаг **-w** после пути к HTML-файлу:
```bash
cahe file.html -w
```Так же можно сразу указать путь до архива в формате .zip(другие форматы не подходят)
```bash
cahe file.zip -w
```Файл config.json создастся в каталоге, где находится HTML файл. Внутри будет ссылка на веб-версию письма, а также в консоли при завершении.
Последующие правки будут изменятся по той же ссылке. Если нужно создать новую ссылку, удалите config.json файл или удалите в нем строчку **siteID**## 🧾[MIT Licensed](https://github.com/rastereo/cahe/blob/main/LICENSE)