Skip to content

html

html packages a project HTML file as a cached output. Rime does not render the page during the run; it injects a JSON payload, writes the HTML artifact, and lets the generated report embed it in an iframe.

Use it when the report needs a custom browser-side visualization or interactive narrative, but the data and cache boundary should still be owned by the DAG.

FieldRequiredNotes
sourceyesProject-relative HTML file, usually under reportsDir/ such as reports/chart.html.
innoNamed slot map: slot name to nodeId, nodeId.output, or params.name.
inputsderivedSynthesized from in: for DAG traversal; do not write it by hand.
metadata.reportnotrue by default; set false when you want the artifact on disk but out of the auto report.

in is a named map from payload slot to a node ref, named output ref, or params.name scalar. Table refs become arrays of row objects; scalar params keep their scalar values.

The runtime injects one inert JSON script tag into the HTML: <script type="application/json" id="rime-inputs">...</script>. Browser-side code reads and parses that tag when the report or artifact opens.

  • default is an html_artifact written to outputs/<nodeId>/default.html.
  • Auto reports render the artifact in an iframe output cell.
  • The HTML source file is part of the cache key, so editing markup, CSS, or browser-side JS reruns the node.
  • Use rime build alone when the standard DAG report is enough.
  • Use a JavaScript language node when the HTML itself must be generated programmatically from code instead of authored as a file.
  • Use an external browser test when you need accessibility, visual regression, or screenshot assertions; Rime only writes the artifact.
- id: site_chart
kind: html
source: reports/site_chart.html
in:
rows: by_site
caption: params.caption
  • HTML output - report output paths and JavaScript-generated alternatives
  • Reports - how html_artifact outputs render in reports
  • Outputs & caching - where artifact files are written