From 6573a54c50738e455b2b0d4863498b916046a466 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Mon, 6 Oct 2025 09:28:43 +0200 Subject: Simpler perf charts --- layouts/shortcodes/perf-chart.html | 89 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 layouts/shortcodes/perf-chart.html (limited to 'layouts/shortcodes/perf-chart.html') diff --git a/layouts/shortcodes/perf-chart.html b/layouts/shortcodes/perf-chart.html new file mode 100644 index 0000000..8c1734a --- /dev/null +++ b/layouts/shortcodes/perf-chart.html @@ -0,0 +1,89 @@ +{{/* Performance chart shortcode for consistent chart styling */}} +{{- $title := .Get "title" -}} +{{- $labelsRaw := .Get "labels" -}} +{{- $datasetsRaw := .Get "datasets" -}} +{{- $xAxisLabel := .Get "xAxisLabel" | default "Time (ms)" -}} + +{{/* Load chart configuration */}} +{{- $config := site.Data.chart_presets -}} +{{- $defaults := $config.defaults -}} +{{- $colors := $config.colors -}} + +{{/* Parse labels - split by comma */}} +{{- $labels := split $labelsRaw "," -}} + +{{/* Parse datasets parameter: "Label:color:values" */}} +{{- $parsedDatasets := slice -}} +{{- if $datasetsRaw -}} + {{- $datasetList := split $datasetsRaw "|" -}} + {{- range $datasetList -}} + {{- $parts := split . ":" -}} + {{- if ge (len $parts) 3 -}} + {{- $label := index $parts 0 -}} + {{- $preset := index $parts 1 -}} + {{- $valuesStr := index $parts 2 -}} + {{- $values := split $valuesStr "," -}} + {{- $colorRgb := index $colors $colorName -}} + {{- if $colorRgb -}} + {{- $backgroundColor := printf "rgba(%s, %.1f)" $colorRgb $defaults.backgroundOpacity -}} + {{- $borderColor := printf "rgba(%s, %.1f)" $colorRgb $defaults.borderOpacity -}} + {{- $dataset := dict + "label" $label + "data" $values + "backgroundColor" $backgroundColor + "borderColor" $borderColor + "borderWidth" $defaults.borderWidth + "barThickness" $defaults.barThickness -}} + {{- $parsedDatasets = $parsedDatasets | append $dataset -}} + {{- end -}} + {{- end -}} + {{- end -}} +{{- end -}} + +{{/* Generate unique ID */}} +{{- $id := printf "chart-%d" (now.UnixNano) -}} + +
+ +
+ + + + + -- cgit v1.3