From 1134dc18d1f246b9d384cdbdf0fd53b30a5affca Mon Sep 17 00:00:00 2001 From: s13bby Date: Sat, 5 Sep 2026 05:43:22 +0600 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++--- main.cpp | 11 +--- 2 files changed, 180 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 5a2e33a..40964e2 100644 --- a/README.md +++ b/README.md @@ -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="~/" \ No newline at end of file + - 🖼️ Скачивание изображений по ссылке +- 🎨 Автоматическая генерация цветовых палитр +- 🌑 Тёмная палитра +- ☀️ Светлая палитра +- 🌙 Тёмная пастельная палитра +- 🌸 Светлая пастельная палитра +- 📁 Сохранение изображения и палитр в указанные директории + + ## 🎨 Генерируемые палитры + + Для каждого изображения `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 +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=` | Ссылка на изображение с Wallhaven | +| `--scheme-output=` | Директория для сохранения палитр | +| `--wall-output=` | Директория для сохранения обоев | + + ## 💡 Пример + + Допустим, необходимо скачать обои с 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= ссылка на изображение с сайта wallhave.cc + --scheme-output= директория для сохранения палитр + --wall-output= директория для сохранения обоев +``` + + ## 📁 Структура проекта + +``` +zenith-cli/ +├── main.cpp +├── lib/ +│ ├── argparse.c +│ └── argparse.h +├── CMakeLists.txt +├── build.sh +├── LICENSE +├── README.md +└── .gitignore +``` + + ## 🛠️ Технологии + +- **C++** — основная логика приложения +- **OpenCV** — обработка изображений и генерация палитр +- **curl** — загрузка изображений +- **CMake** — система сборки +- **argparse** — обработка аргументов командной строки + + ## 📄 Лицензия + +MIT + +--- + + \

Made for Linux 🐧 \ \ No newline at end of file diff --git a/main.cpp b/main.cpp index d615337..c7fe215 100644 --- a/main.cpp +++ b/main.cpp @@ -8,12 +8,9 @@ #include #include #include - - -#include "curl/curl.h" - +#include extern "C" { - #include "libs/argparse.h" + #include } 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, \