небольшое обновление
This commit is contained in:
@@ -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\>
|
||||||
@@ -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, \
|
||||||
|
|||||||
Reference in New Issue
Block a user