Ascii Art
ASCII-арт: pyfiglet, cowsay, boxes, image-to-ascii.
Метаданные навыка
| Источник | Встроенный (установлен по умолчанию) |
| Путь | skills/creative/ascii-art |
| Версия | 4.0.0 |
| Автор | 0xbyt4, VibeOS |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | ASCII, Art, Banners, Creative, Unicode, Text-Art, pyfiglet, figlet, cowsay, boxes |
| Связанные навыки | excalidraw |
Справочник: полный SKILL.md
Ниже приведено полное описание навыка, которое VibeOS загружает при его активации. Это те инструкции, которые видит агент, когда навык активен.
Навык ASCII Art
Несколько инструментов для различных задач ASCII-арта. Все инструменты — локальные CLI-программы или бесплатные REST API — никаких ключей API не требуется.
Инструмент 1: Текстовые баннеры (pyfiglet — локальный)
Преобразует текст в крупные ASCII-баннеры. 571 встроенный шрифт.
Установка
pip install pyfiglet --break-system-packages -q
Использование
python3 -m pyfiglet "ВАШ ТЕКСТ" -f slant
python3 -m pyfiglet "ТЕКСТ" -f doom -w 80 # Установка ширины
python3 -m pyfiglet --list_fonts # Список всех 571 шрифтов
Рекомендуемые шрифты
| Стиль | Шрифт | Для чего лучше |
|---|---|---|
| Чистый и современный | slant | Названия проектов, заголовки |
| Жирный и блочный | doom | Титулы, логотипы |
| Крупный и читаемый | big | Баннеры |
| Классический баннер | banner3 | Широкие дисплеи |
| Компактный | small | Подзаголовки |
| Киберпанк | cyberlarge | Технические темы |
| 3D-эффект | 3-d | Заставки |
| Готический | gothic | Драматичный текст |
Советы
- Покажите 2–3 шрифта и дайте пользователю выбрать понравившийся
- Короткий текст (1–8 символов) лучше всего смотрится с детализированными шрифтами вроде
doomилиblock - Длинный текст лучше работает с компактными шрифтами, такими как
smallилиmini
Инструмент 2: Текстовые баннеры (API asciified — удалённый, без установки)
Бесплатный REST API, преобразующий текст в ASCII-арт. Более 250 FIGlet-шрифтов. Возвращает обычный текст напрямую — парсинг не требуется. Используйте, когда pyfiglet не установлен, или как быструю альтернативу.
Использование (через curl в терминале)
# Базовый текстовый баннер (шрифт по умолчанию)
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello+World"
# С определённым шрифтом
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Slant"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Doom"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Star+Wars"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=3-D"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Banner3"
# Список всех доступных шрифтов (возвращает JSON-массив)
curl -s "https://asciified.thelicato.io/api/v2/fonts"
Советы
- Кодируйте пробелы в URL как
+в параметре text - Ответ — это обычный ASCII-арт в виде текста, без JSON-обёртки, готов к отображению
- Названия шрифтов чувствительны к регистру; используйте конечную точку fonts для получения точных названий
- Работает из любого терминала с curl — не требует Python или pip
Инструмент 3: Cowsay (Сообщения-арт)
Классический инструмент, оборачивающий текст в облачко речи с ASCII-персонажем.
Установка
sudo apt install cowsay -y # Debian/Ubuntu
# brew install cowsay # macOS
Использование
cowsay "Hello World"
cowsay -f tux "Linux rules" # Пингвин Tux
cowsay -f dragon "Rawr!" # Дракон
cowsay -f stegosaurus "Roar!" # Стегозавр
cowthink "Hmm..." # Облачко мыслей
cowsay -l # Список всех персонажей
Доступные персонажи (50+)
beavis.zen, bong, bunny, cheese, daemon, default, dragon,
dragon-and-cow, elephant, eyes, flaming-skull, ghostbusters,
hellokitty, kiss, kitty, koala, luke-koala, mech-and-cow,
meow, moofasa, moose, ren, sheep, skeleton, small,
stegosaurus, stimpy, supermilker, surgery, three-eyes,
turkey, turtle, tux, udder, vader, vader-koala, www
Модификаторы глаз/языка
cowsay -b "Borg" # Глаза =_=
cowsay -d "Dead" # Глаза x_x
cowsay -g "Greedy" # Глаза $_$
cowsay -p "Paranoid" # Глаза @_@
cowsay -s "Stoned" # Глаза *_*
cowsay -w "Wired" # Глаза O_O
cowsay -e "OO" "Msg" # Пользовательские глаза
cowsay -T "U " "Msg" # Пользовательский язык
Инструмент 4: Boxes (Декоративные рамки)
Рисует декоративные ASCII-рамки вокруг любого текста. Более 70 встроенных дизайнов.
Установка
sudo apt install boxes -y # Debian/Ubuntu
# brew install boxes # macOS
Использование
echo "Hello World" | boxes # Рамка по умолчанию
echo "Hello World" | boxes -d stone # Каменная рамка
echo "Hello World" | boxes -d parchment # Свиток из пергамента
echo "Hello World" | boxes -d cat # Рамка с кошкой
echo "Hello World" | boxes -d dog # Рамка с собакой
echo "Hello World" | boxes -d unicornsay # Единорог
echo "Hello World" | boxes -d diamonds # Узор из ромбов
echo "Hello World" | boxes -d c-cmt # Комментарий в стиле C
echo "Hello World" | boxes -d html-cmt # HTML-комментарий
echo "Hello World" | boxes -a c # Центрирование текста
boxes -l # Список всех 70+ дизайнов
Комбинация с pyfiglet или asciified
python3 -m pyfiglet "VIBEOS" -f slant | boxes -d stone
# Или без установленного pyfiglet:
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=VIBEOS&font=Slant" | boxes -d stone
Инструмент 5: TOIlet (Цветной текстовый арт)
Как pyfiglet, но с ANSI-цветами и визуальными фильтрами. Отлично подходит для украшения терминала.
Установка
sudo apt install toilet toilet-fonts -y # Debian/Ubuntu
# brew install toilet # macOS
Использование
toilet "Hello World" # Базовый текстовый арт
toilet -f bigmono12 "Hello" # Определённый шрифт
toilet --gay "Rainbow!" # Радужная раскраска
toilet --metal "Metal!" # Металлический эффект
toilet -F border "Bordered" # Добавление рамки
toilet -F border --gay "Fancy!" # Комбинированные эффекты
toilet -f pagga "Block" # Блочный шрифт (уникальный для toilet)
toilet -F list # Список доступных фильтров
Фильтры
crop, gay (радуга), metal, flip, flop, 180, left, right, border
Примечание: toilet выводит ANSI-escape-последовательности для цветов — работает в терминалах, но может не отображаться в некоторых контекстах (например, в текстовых файлах, некоторых чат-платформах).
Инструмент 6: Изображение в ASCII-арт
Преобразует изображения (PNG, JPEG, GIF, WEBP) в ASCII-арт.
Вариант A: ascii-image-converter (рекомендуемый, современный)
# Установка
sudo snap install ascii-image-converter
# ИЛИ: go install github.com/TheZoraiz/ascii-image-converter@latest
ascii-image-converter image.png # Базовое
ascii-image-converter image.png -C # Цветной вывод
ascii-image-converter image.png -d 60,30 # Установка размеров
ascii-image-converter image.png -b # Символы Брайля
ascii-image-converter image.png -n # Негатив/инверсия
ascii-image-converter https://url/image.jpg # Прямой URL
ascii-image-converter image.png --save-txt out # Сохранение в текст
Вариант B: jp2a (лёгкий, только JPEG)
sudo apt install jp2a -y
jp2a --width=80 image.jpg
jp2a --colors image.jpg # Цветной
Инструмент 7: Поиск готового ASCII-арта
Поиск подобранного ASCII-арта из интернета. Используйте terminal с curl.
Источник A: ascii.co.uk (рекомендуется для готового арта)
Большая коллекция классического ASCII-арта, организованная по темам. Арт находится внутри HTML-тегов <pre>. Загрузите страницу через curl, затем извлеките арт с помощью небольшого Python-скрипта.
Шаблон URL: https://ascii.co.uk/art/{тема}
Шаг 1 — Загрузка страницы:
curl -s 'https://ascii.co.uk/art/cat' -o /tmp/ascii_art.html
Шаг 2 — Извлечение арта из тегов pre:
import re, html
with open('/tmp/ascii_art.html') as f:
text = f.read()
arts = re.findall(r'<pre[^>]*>(.*?)</pre>', text, re.DOTALL)
for art in arts:
clean = re.sub(r'<[^>]+>', '', art)
clean = html.unescape(clean).strip()
if len(clean) > 30:
print(clean)
print('\n---\n')
Доступные темы (используйте как путь в URL):
- Животные:
cat,dog,horse,bird,fish,dragon,snake,rabbit,elephant,dolphin,butterfly,owl,wolf,bear,penguin,turtle - Объекты:
car,ship,airplane,rocket,guitar,computer,coffee,beer,cake,house,castle,sword,crown,key - Природа:
tree,flower,sun,moon,star,mountain,ocean,rainbow - Персонажи:
skull,robot,angel,wizard,pirate,ninja,alien - Праздники:
christmas,halloween,valentine
Советы:
- Сохраняйте подписи/инициалы художников — это важный этикет
- На странице может быть несколько артов — выберите лучший для пользователя
- Надёжно работает через curl, JavaScript не требуется
Источник B: GitHub Octocat API (забавный пасхальный элемент)
Возвращает случайного GitHub Octocat с мудрой цитатой. Авторизация не требуется.
curl -s https://api.github.com/octocat
Инструмент 8: Забавные ASCII-утилиты (через curl)
Эти бесплатные сервисы возвращают ASCII-арт напрямую — отлично для развлечения.
QR-коды в виде ASCII-арта
curl -s "qrenco.de/Hello+World"
curl -s "qrenco.de/https://example.com"
Погода в виде ASCII-арта
curl -s "wttr.in/London" # Полный отчёт о погоде с ASCII-графикой
curl -s "wttr.in/Moon" # Фаза Луны в ASCII-арте
curl -s "v2.wttr.in/London" # Детальная версия
Инструмент 9: Пользовательский арт от LLM (Запасной вариант)
Когда перечисленные инструменты не дают нужного результата, генерируйте ASCII-арт напрямую, используя эти символы Unicode:
Палитра символов
Рисование рамок: ╔ ╗ ╚ ╝ ║ ═ ╠ ╣ ╦ ╩ ╬ ┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼ ╭ ╮ ╰ ╯
Блочные элементы: ░ ▒ ▓ █ ▄ ▀ ▌ ▐ ▖ ▗ ▘ ▝ ▚ ▞
Геометрические фигуры и символы: ◆ ◇ ◈ ● ○ ◉ ■ □ ▲ △ ▼ ▽ ★ ☆ ✦ ✧ ◀ ▶ ◁ ▷ ⬡ ⬢ ⌂
Правила
- Максимальная ширина: 60 символов в строке (безопасно для терминала)
- Максимальная высота: 15 строк для баннеров, 25 для сцен
- Только моноширинный шрифт: вывод должен корректно отображаться в шрифтах фиксированной ширины
Порядок принятия решений
- Текст в виде баннера → pyfiglet, если установлен, иначе API asciified через curl
- Оборачивание сообщения в забавный арт с персонажем → cowsay
- Добавление декоративной рамки → boxes (можно комбинировать с pyfiglet/asciified)
- Арт конкретного объекта (кошка, ракета, дракон) → ascii.co.uk через curl + парсинг
- Преобразование изображения в ASCII → ascii-image-converter или jp2a
- QR-код → qrenco.de через curl
- Погода/арт Луны → wttr.in через curl
- Что-то кастомное/креативное → генерация LLM с палитрой Unicode
- Любой инструмент не установлен → установить его или перейти к следующему варианту