Skip to content

HTML Report Customization #47

@callendorph

Description

@callendorph

Hi,

First - this whole project is great. It took some time to get up to speed but super impressive what you have put together.

I would like to customize the output HTML report. Things I would like to do are:

  1. Add a header with a logo for branding the report.
    1. I'm imagining running the simulation in a Github Action and then posting the report to a Github Pages for that project.
    2. Then the results can be viewed nicely via the CI.
  2. Add a script that auto refreshes when the project builds
    1. For example, something like this: https://livejs.com/
  3. Customize the CSS for the report by including files in the head section.
  4. Sky is the limit honestly, I really like wavedrom for waveforms.

With the current implementation of Report2Html.tcl - I don't see a clear way to do that without modifying it and adding a bunch of code. Maybe I missed something ?

In my ideal world - I would be to keep these project specific customizations in the Parent project that is leveraging this repo as a submodule or library.

Have you considered using a template engine for generating the HTML? Coming from Python, there are several template engines for generating HTML content formats (for example, Jinja). They do a really nice job of separating out the presentation layer from the data.

I'm not an expert in TCL but google seems to indicate there are a couple of TCL-based template engine options:

  1. textutil::expander
    1. Seems to already be in tcllib (I've checked it is present in tcllib v1.20 package on ubuntu 22.04)
    2. Docs seem pretty sparse to me but what do I know.
  2. TemplaTCL
    1. I don't know where this is - I can't find it on github. Seems like this might just be a message board ?
    2. This would add a dependency which is probably not optimal.

Thoughts? Is this a reasonable path or have you tried this already and hic sunt dracones?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions