vitexsoftware / digest-renderer
HTML rendering library for accounting digest reports
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/vitexsoftware/digest-renderer
Requires
- php: >=8.1
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-11-09 15:01:52 UTC
README
A standalone PHP library for rendering digest data as HTML reports and dashboards.
Overview
This library takes structured data (associative arrays or JSON) from DigestModules and generates HTML output including tables, charts, and summary reports. It's designed to be reusable across different accounting systems and digest implementations.
Features
- Multiple Output Formats: HTML pages, email-friendly HTML, PDF-ready markup
- Responsive Design: Bootstrap-based responsive templates
- Customizable Themes: Easy theme and styling customization
- Chart Support: Built-in chart generation for data visualization
- Email Integration: Optimized HTML for email clients
- Modular Renderers: Separate renderers for different module types
Installation
composer require vitexsoftware/digest-renderer
Basic Usage
use VitexSoftware\DigestRenderer\DigestRenderer; // Load data from DigestModules $digestData = json_decode(file_get_contents('digest_data.json'), true); // Create renderer $renderer = new DigestRenderer(); // Configure theme (optional) $renderer->setTheme('bootstrap'); // or 'email', 'print' // Render HTML $html = $renderer->render($digestData); // Save to file file_put_contents('digest.html', $html); // Or send by email $emailRenderer = new DigestRenderer(); $emailRenderer->setTheme('email'); $emailHtml = $emailRenderer->render($digestData);
Themes
Bootstrap Theme (Default)
- Responsive design
- Modern Bootstrap 5 components
- Interactive elements
- Chart.js integration
Email Theme
- Email client compatibility
- Inline CSS styles
- Table-based layouts
- Outlook compatibility
Print Theme
- Print-optimized styling
- Page break handling
- Monochrome-friendly colors
Module Renderers
Each module type has a dedicated renderer:
use VitexSoftware\DigestRenderer\Renderers\OutcomingInvoicesRenderer; use VitexSoftware\DigestRenderer\Renderers\DebtorsRenderer; // Render specific module $invoiceRenderer = new OutcomingInvoicesRenderer(); $html = $invoiceRenderer->render($moduleData);
Customization
Custom Themes
$renderer = new DigestRenderer(); $renderer->setCustomCss(' .digest-header { background: #custom-color; } .module-card { border: 1px solid #ccc; } ');
Custom Templates
$renderer = new DigestRenderer(); $renderer->setTemplate('custom_template.php');
Data Structure
The renderer expects data in this format:
{
"digest": {
"period": {"start": "2024-01-01", "end": "2024-02-01"},
"company": {"name": "Company Name"},
"timestamp": "2024-01-15T10:30:00Z"
},
"modules": {
"outcoming_invoices": {
"module_name": "outcoming_invoices",
"heading": "Outcoming Invoices",
"success": true,
"data": {...}
}
}
}
License
GPL-2.0-or-later