{{- /* Color preview rendering This function adds color visualization to code elements that contain ONLY color values. Supports HEX, RGB, and HSL color formats like GitHub's color preview feature. Examples: `#0969DA` -> displays a blue color preview circle `rgb(9, 105, 218)` -> displays a blue color preview circle `hsl(212, 92%, 45%)` -> displays a blue color preview circle But excludes: `` `#0969DA` `` -> renders as normal code (syntax example) `test #0969DA` -> renders as normal code (has leading text) ` #0969DA` -> renders as normal code (has leading space) `#0969DA ` -> renders as normal code (has trailing space) */ -}} {{- $content := . -}} {{- /* Only apply color preview to code elements that contain EXACTLY a color value and nothing else */ -}} {{- /* HEX color pattern: code must contain ONLY #RRGGBB (6 digits) */ -}} {{- $content = replaceRE `(#[0-9a-fA-F]{6})` `$1` $content -}} {{- /* HEX color pattern: code must contain ONLY #RGB (3 digits) */ -}} {{- $content = replaceRE `(#[0-9a-fA-F]{3})` `$1` $content -}} {{- /* RGB color pattern: code must contain ONLY rgb(r,g,b) */ -}} {{- $content = replaceRE `(rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\))` `$1` $content -}} {{- /* HSL color pattern: code must contain ONLY hsl(h,s%,l%) */ -}} {{- $content = replaceRE `(hsl\(\s*\d+\s*,\s*\d+%\s*,\s*\d+%\s*\))` `$1` $content -}} {{- return $content -}}