небольшое обновление
This commit is contained in:
@@ -1,13 +1,183 @@
|
||||
Конечно. Я бы оформил README в более «open-source» стиле: с кратким описанием, возможностями, установкой, использованием, примерами и структурой проекта.
|
||||
|
||||
README.md для zenith-cli
|
||||
|
||||
# zenith-cli
|
||||
|
||||
аргументы
|
||||
zenith-cli --link="link" -p/--pastel --scheme-output="path" --wall-output="path"
|
||||
**zenith-cli** — консольная утилита для Linux-дистрибутивов, которая позволяет скачать изображение и автоматически создать на его основе несколько цветовых палитр.
|
||||
|
||||
примеры использования
|
||||
Инструмент особенно удобен для тех, кто хочет быстро подобрать цветовую схему рабочего окружения под обои.
|
||||
|
||||
если передать пустую строку, то файл сохранится в директории утилиты
|
||||
./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\>
|
||||
@@ -8,12 +8,9 @@
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <opencv2/opencv.hpp>
|
||||
|
||||
|
||||
#include "curl/curl.h"
|
||||
|
||||
#include <curl/curl.h>
|
||||
extern "C" {
|
||||
#include "libs/argparse.h"
|
||||
#include <libs/argparse.h>
|
||||
}
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
@@ -234,14 +231,10 @@ int main(int argc, const char **argv) {
|
||||
const char* raw_scheme_path = nullptr;
|
||||
const char* raw_wall_path = nullptr;
|
||||
|
||||
int is_pastel = 0;
|
||||
|
||||
struct argparse_option options[] = {
|
||||
OPT_HELP(),
|
||||
OPT_STRING(0,"link", &link, \
|
||||
"ссылка на изображение с сайта wallhave.cc", NULL, 0, 0),
|
||||
OPT_BOOLEAN('p', "pastel", &is_pastel, \
|
||||
"создать пастельные палитры", NULL, 0, 0),
|
||||
OPT_STRING(0,"scheme-output", &raw_scheme_path,\
|
||||
"директория для сохранения палитр", NULL, 0, 0),
|
||||
OPT_STRING(0,"wall-output", &raw_wall_path, \
|
||||
|
||||
Reference in New Issue
Block a user