sensiolabs/ansi-to-html
Convert ANSI-colored console output into an HTML5 fragment. Supports themes (e.g., Solarized), inline styles or CSS classes, can export theme CSS, and includes a Twig extension for easy use in templates.
composer require sensiolabs/ansi-to-html), with no Laravel-specific constraints.<span class="ansi-color-red">), enabling:
Str::of() or DOM manipulation libraries (e.g., symfony/dom).inlineStyles = false) allows for dynamic theming via Laravel’s asset management.twig/twig (if using Twig).SolarizedTheme) align with Laravel’s existing design system?Blade::directive('ansi', function ($ansi) {
return "<?php echo (new \\SensioLabs\\AnsiConverter\\AnsiToHtmlConverter())->convert($ansi); ?>";
});
Usage: @ansi($logContent).AnsiExtension if Twig is the primary templating engine.// resources/js/app.js
const theme = new SolarizedTheme();
document.head.innerHTML += theme.asCss();
class ConvertAnsiJob implements ShouldQueue {
public function handle() {
$html = (new AnsiToHtmlConverter())->convert($this->ansiText);
Log::saveHtml($html); // Custom storage
}
}
font-family: 'Courier New', monospace).composer require sensiolabs/ansi-to-html.SolarizedTheme) in a service provider.bootstrap file) or dynamically per request.echo -e "\e[31mRed Text\e[0m").AppTheme extends SolarizedTheme).\e[31m for red text).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Malformed ANSI input | Broken HTML output | Validate input with regex or wrapper. |
| Large ANSI payloads | Slow response times | Queue jobs; implement size limits. |
| Browser CSS rendering issues | Styling inconsistencies | Test across browsers; provide fallbacks. |
| Package abandonment | No future |
How can I help you explore Laravel packages today?