Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2021, 19:26   #1
awilum
Форумчанин
 
Аватар для awilum
 
Регистрация: 23.12.2008
Сообщений: 102
По умолчанию Стилизация консольных приложений на базе Symfony, Laravel, Yii и других фреймворков c помощью Termage

Доброго Времени Суток!
Разрешите представить один свой небольшой опенсурс проект для консольных приложений - Termage (Terminal Mage)

Предыстория

В августе я начал работать над задачей, которая была на мне - это сделать CLI APP для функционала моей CMSки (https://github.com/flextype/flextype/issues/543).

Для реализации консольного приложения взял Symfony Сonsole. Функционал Symfony Сonsole показался мне крайне бедным и неудобным для стилизации и форматирования вывода.

Ранее я уже засматривался на проект от лиги выдающихся джентельменов - CLImate (https://climate.thephpleague.com) он богаче Symfony Сonsole по функционалу стилизации и форматированию, но по умолчанию не совместим с Symfony Сonsole, да и проект CLImate честно говоря давно уже не развивается и просто стоит на месте.

Принял решение сделать свою библиотеку, которая была бы совместима с Symfony Сonsole приложениями. Назвал свою библиотку CLIrad - но немного позже перименовал CLIrad в Termage (Terminal Mage).

Цель проекта Termage - это предоставить богатый и удобный функционал для стилизации и форматирования вывода любого, текста, html, markdown или логов в консольных приложениях любого фреймворка.

Вдохновители проекта Termage:
Для PYTHON есть библиотека Rich https://github.com/willmcgugan/rich
Для .NET есть библиотека SpectreConsole https://spectreconsole.net/
Для GO есть библиотека PTerm https://pterm.sh/

Подобных библиотек и с таким богатым функционалом для PHP нет! Termage будет PHP аналогом таких библиотек как Rich (PYTHON), SpectreConsole (.NET), PTerm(GO).

Termage ceгодня:
  • независимый от PHP фреймворка рендеринг.
  • 230+ страниц документации, которую я постоянно улучшаю.
  • 12 базовых элементов (Div, Span, Anchor, Alert, Chart, Paragraph и др)
  • 10 базовых стилей (Italic, Bold, Underline, Strikethrough и др)
  • fluent api, магические методы и pipeline классы.
  • шорткоды.

Репозиторий: https://github.com/termage/termage
Документация: https://digital.flextype.org/termage

Планы на ближайшее будущее:
  • улучшать документацию
  • улучшать покрытие тестов.
  • написать конвертор/парсер HTML в ANSI
  • написать конвертор/парсер MARKDOWN в ANSI
  • написать парсер логов
  • добавить новые элементы
https://github.com/Awilum - Open Source Evangelist
awilum вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор фреймворка для одного проекта - laravel, codeigniter, yii и библиотеки или самописанный glorsh66 PHP 0 09.07.2017 10:03
Переход с консольных приложений на объектные. Руслан555 Visual C++ 3 06.06.2012 15:02
Как отойти от консольных приложений? jallvar Свободное общение 11 01.11.2010 16:22
CreateProcess. Существуют тонкости в запуске консольных приложений? st01en Win Api 10 12.05.2009 11:50