Files
zenith-cli/README.md
T

175 lines
5.2 KiB
Markdown

# zenith-cli
**zenith-cli** — консольная утилита для Linux-дистрибутивов, которая позволяет скачать изображение и автоматически создать на его основе несколько цветовых палитр.
## ✨ Возможности
- 🖼️ Скачивание изображений по ссылке
- 🎨 Автоматическая генерация цветовых палитр
- 🌑 Тёмная палитра
- ☀️ Светлая палитра
- 🌙 Тёмная пастельная палитра
- 🌸 Светлая пастельная палитра
- 📁 Сохранение изображения и палитр в указанные директории
## 🎨 Генерируемые палитры
Для каждого изображения `zenith-cli` создаёт четыре варианта цветовой схемы:
| Палитра | Описание |
| --- | --- |
| 🌑 Dark | Тёмная цветовая схема |
| ☀️ Light | Светлая цветовая схема |
| 🌙 Dark Pastel | Тёмная пастельная схема |
| 🌸 Light Pastel | Светлая пастельная схема |
Все сгенерированные палитры сохраняются в рабочую директорию или в путь, указанный пользователем.
## 📦 Зависимости
Перед сборкой убедитесь, что в системе установлены:
- **CMake**
- **GCC**
- **G++**
- **curl**
- **OpenCV**
### Ubuntu / Debian
```
sudo apt install cmake gcc g++ curl libopencv-dev
```
### Arch Linux
```
sudo pacman -S cmake gcc curl opencv
```
## 🔨 Сборка
Клонируйте репозиторий и запустите скрипт сборки:
```
git clone <https://zenithcode.duckdns.org/s13bby/zenith-cli.git>
cd zenith-cli
chmod +x build.sh
./build.sh
```
После успешной сборки будет доступна утилита:
```
./zenith-cli
```
## 🚀 Использование
Общий формат команды:
```
./zenith-cli --link="link" --scheme-output="path" --wall-output="path"
```
### Скачать изображение
Если передать пустую строку в `--wall-output`, изображение будет сохранено в директорию утилиты:
```
./zenith-cli \
--link="https://w.wallhaven.cc/full/gw/wallhaven-gwd313.jpg" \
--wall-output=""
```
### Указать директорию для обоев
```
./zenith-cli \
--link="https://w.wallhaven.cc/full/gw/wallhaven-gwd313.jpg" \
--wall-output="/home/ivan/"
```
Также можно использовать домашнюю директорию:
```
./zenith-cli \
--link="https://w.wallhaven.cc/full/gw/wallhaven-gwd313.jpg" \
--wall-output="~/"
```
### Указать директорию для палитр
```
./zenith-cli \
--link="https://w.wallhaven.cc/full/gw/wallhaven-gwd313.jpg" \
--scheme-output="/home/ivan/.config/zenith/"
```
## ⚙️ Аргументы
| Аргумент | Описание |
| --- | --- |
| `-h`, `--help` | Показать справку |
| `--link=<str>` | Ссылка на изображение с Wallhaven |
| `--scheme-output=<str>` | Директория для сохранения палитр |
| `--wall-output=<str>` | Директория для сохранения обоев |
## 💡 Пример
Допустим, необходимо скачать обои с Wallhaven и сохранить изображение в домашнюю директорию:
```
./zenith-cli \
--link="https://w.wallhaven.cc/full/gw/wallhaven-gwd313.jpg" \
--wall-output="~/"
```
После обработки `zenith-cli` сформирует несколько цветовых схем на основе изображения и сохранит их в соответствующую директорию.
## 🆘 Справка
Получить список доступных аргументов можно с помощью:
```
./zenith-cli --help
```
```
Usage:
-h, --help show this help message and exit
--link=<str> ссылка на изображение с сайта wallhave.cc
--scheme-output=<str> директория для сохранения палитр
--wall-output=<str> директория для сохранения обоев
```
## 📁 Структура проекта
```
zenith-cli/
├── main.cpp
├── libs/
│ ├── argparse.c
│ └── argparse.h
├── CMakeLists.txt
├── build.sh
├── LICENSE
├── README.md
└── .gitignore
```
## 🛠️ Технологии
- **C++** — основная логика приложения
- **OpenCV** — обработка изображений и генерация палитр
- **curl** — загрузка изображений
- **CMake** — система сборки
- **argparse** — обработка аргументов командной строки
## 📄 Лицензия
MIT
---