Skip to content

About

HTML rendering library for digest analytics - converts JSON data to themed HTML with Bootstrap and Email themes

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

49 Commits

Folders and files

Repository files navigation

DigestRenderer

License: MIT Packaging: deb

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'); // see DigestRenderer::availableThemes()

// 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

Ten built-in themes (select via setTheme() / MultiFlexi THEME):

Id Label
bootstrap Bootstrap (default)
email Email
green Green
rainbow Rainbow
nordic-blue Nordic Blue
violet-garden Violet Garden
amber-sunset Amber Sunset
ocean-teal Ocean Teal
graphite Graphite
crimson-ledger Crimson Ledger

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

About

HTML rendering library for digest analytics - converts JSON data to themed HTML with Bootstrap and Email themes

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages