небольшое обновление

This commit is contained in:
2026-09-05 05:43:22 +06:00
parent 4d459313db
commit 1134dc18d1
2 changed files with 180 additions and 17 deletions
+178 -8
View File
@@ -1,13 +1,183 @@
Конечно. Я бы оформил README в более «open-source» стиле: с кратким описанием, возможностями, установкой, использованием, примерами и структурой проекта.
README.md для zenith-cli
# zenith-cli # zenith-cli
аргументы **zenith-cli** — консольная утилита для Linux-дистрибутивов, которая позволяет скачать изображение и автоматически создать на его основе несколько цветовых палитр.
zenith-cli --link="link" -p/--pastel --scheme-output="path" --wall-output="path"
примеры использования Инструмент особенно удобен для тех, кто хочет быстро подобрать цветовую схему рабочего окружения под обои.
если передать пустую строку, то файл сохранится в директории утилиты ## ✨ Возможности
./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` создаёт четыре варианта цветовой схемы:
| Палитра | Описание |
| --- | --- |
| 🌑 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
├── lib/
│ ├── argparse.c
│ └── argparse.h
├── CMakeLists.txt
├── build.sh
├── LICENSE
├── README.md
└── .gitignore
```
## 🛠️ Технологии
- **C++** — основная логика приложения
- **OpenCV** — обработка изображений и генерация палитр
- **curl** — загрузка изображений
- **CMake** — система сборки
- **argparse** — обработка аргументов командной строки
## 📄 Лицензия
MIT
---
\<p align="center"\> Made for Linux 🐧 \</p\>
+2 -9
View File
@@ -8,12 +8,9 @@
#include <algorithm> #include <algorithm>
#include <cmath> #include <cmath>
#include <opencv2/opencv.hpp> #include <opencv2/opencv.hpp>
#include <curl/curl.h>
#include "curl/curl.h"
extern "C" { extern "C" {
#include "libs/argparse.h" #include <libs/argparse.h>
} }
namespace fs = std::filesystem; namespace fs = std::filesystem;
@@ -234,14 +231,10 @@ int main(int argc, const char **argv) {
const char* raw_scheme_path = nullptr; const char* raw_scheme_path = nullptr;
const char* raw_wall_path = nullptr; const char* raw_wall_path = nullptr;
int is_pastel = 0;
struct argparse_option options[] = { struct argparse_option options[] = {
OPT_HELP(), OPT_HELP(),
OPT_STRING(0,"link", &link, \ OPT_STRING(0,"link", &link, \
"ссылка на изображение с сайта wallhave.cc", NULL, 0, 0), "ссылка на изображение с сайта wallhave.cc", NULL, 0, 0),
OPT_BOOLEAN('p', "pastel", &is_pastel, \
"создать пастельные палитры", NULL, 0, 0),
OPT_STRING(0,"scheme-output", &raw_scheme_path,\ OPT_STRING(0,"scheme-output", &raw_scheme_path,\
"директория для сохранения палитр", NULL, 0, 0), "директория для сохранения палитр", NULL, 0, 0),
OPT_STRING(0,"wall-output", &raw_wall_path, \ OPT_STRING(0,"wall-output", &raw_wall_path, \