add initial implementation of divineRGBVal

pull/716/head
Wolf Noble 2023-11-22 21:22:22 -06:00
parent 18e1edcf59
commit ea7d67c735
4 changed files with 640 additions and 0 deletions

View File

@ -7,6 +7,11 @@
colorScheme = "congo"
defaultAppearance = "light" # valid options: light or dark
[divineRGBVals]
debug = false
themeColorMap = "congo"
tailwindMap = "twcolormap"
autoSwitchAppearance = true
enableSearch = false

52
data/congo.json 100644
View File

@ -0,0 +1,52 @@
{
"themeColors": [
{ "cherry": {
"neutral": "neutral",
"primary": "rose",
"secondary": "green"
}
},
{ "congo": {
"neutral": "gray",
"primary": "violet",
"secondary": "fuchsia"
}
},
{ "fire": {
"neutral": "stone",
"primary": "orange",
"secondary": "rose"
}
},
{ "ocean": {
"neutral": "slate",
"primary": "blue",
"secondary": "cyan"
}
},
{ "sapphire": {
"neutral": "slate",
"primary": "indigo",
"secondary": "pink"
}
},
{ "avocado": {
"neutral": "stone",
"primary": "lime",
"secondary": "emerald"
}
},
{ "slate": {
"neutral": "gray",
"primary": "slate",
"secondary": "gray"
}
}
],
"colorWeights": {
"neutral": "400",
"primary": "600",
"secondary": "400"
},
"fallbackWeight": "100"
}

View File

@ -0,0 +1,310 @@
[
{
"slate": {
"50": "#f8fafc",
"100": "#f1f5f9",
"200": "#e2e8f0",
"300": "#cbd5e1",
"400": "#94a3b8",
"500": "#64748b",
"600": "#475569",
"700": "#334155",
"800": "#1e293b",
"900": "#0f172a"
}
},
{
"gray": {
"50": "#f9fafb",
"100": "#f3f4f6",
"200": "#e5e7eb",
"300": "#d1d5db",
"400": "#9ca3af",
"500": "#6b7280",
"600": "#4b5563",
"700": "#374151",
"800": "#1f2937",
"900": "#111827"
}
},
{
"zinc": {
"50": "#fafafa",
"100": "#f4f4f5",
"200": "#e4e4e7",
"300": "#d4d4d8",
"400": "#a1a1aa",
"500": "#71717a",
"600": "#52525b",
"700": "#3f3f46",
"800": "#27272a",
"900": "#18181b"
}
},
{
"neutral": {
"50": "#fafafa",
"100": "#f5f5f5",
"200": "#e5e5e5",
"300": "#d4d4d4",
"400": "#a3a3a3",
"500": "#737373",
"600": "#525252",
"700": "#404040",
"800": "#262626",
"900": "#171717"
}
},
{
"stone": {
"50": "#fafaf9",
"100": "#f5f5f4",
"200": "#e7e5e4",
"300": "#d6d3d1",
"400": "#a8a29e",
"500": "#78716c",
"600": "#57534e",
"700": "#44403c",
"800": "#292524",
"900": "#1c1917"
}
},
{
"red": {
"50": "#fef2f2",
"100": "#fee2e2",
"200": "#fecaca",
"300": "#fca5a5",
"400": "#f87171",
"500": "#ef4444",
"600": "#dc2626",
"700": "#b91c1c",
"800": "#991b1b",
"900": "#7f1d1d"
}
},
{
"orange": {
"50": "#fff7ed",
"100": "#ffedd5",
"200": "#fed7aa",
"300": "#fdba74",
"400": "#fb923c",
"500": "#f97316",
"600": "#ea580c",
"700": "#c2410c",
"800": "#9a3412",
"900": "#7c2d12"
}
},
{
"amber": {
"50": "#fffbeb",
"100": "#fef3c7",
"200": "#fde68a",
"300": "#fcd34d",
"400": "#fbbf24",
"500": "#f59e0b",
"600": "#d97706",
"700": "#b45309",
"800": "#92400e",
"900": "#78350f"
}
},
{
"yellow": {
"50": "#fefce8",
"100": "#fef9c3",
"200": "#fef08a",
"300": "#fde047",
"400": "#facc15",
"500": "#eab308",
"600": "#ca8a04",
"700": "#a16207",
"800": "#854d0e",
"900": "#713f12"
}
},
{
"lime": {
"50": "#f7fee7",
"100": "#ecfccb",
"200": "#d9f99d",
"300": "#bef264",
"400": "#a3e635",
"500": "#84cc16",
"600": "#65a30d",
"700": "#4d7c0f",
"800": "#3f6212",
"900": "#365314"
}
},
{
"green": {
"50": "#f0fdf4",
"100": "#dcfce7",
"200": "#bbf7d0",
"300": "#86efac",
"400": "#4ade80",
"500": "#22c55e",
"600": "#16a34a",
"700": "#15803d",
"800": "#166534",
"900": "#14532d"
}
},
{
"emerald": {
"50": "#ecfdf5",
"100": "#d1fae5",
"200": "#a7f3d0",
"300": "#6ee7b7",
"400": "#34d399",
"500": "#10b981",
"600": "#059669",
"700": "#047857",
"800": "#065f46",
"900": "#064e3b"
}
},
{
"teal": {
"50": "#f0fdfa",
"100": "#ccfbf1",
"200": "#99f6e4",
"300": "#5eead4",
"400": "#2dd4bf",
"500": "#14b8a6",
"600": "#0d9488",
"700": "#0f766e",
"800": "#115e59",
"900": "#134e4a"
}
},
{
"cyan": {
"50": "#ecfeff",
"100": "#cffafe",
"200": "#a5f3fc",
"300": "#67e8f9",
"400": "#22d3ee",
"500": "#06b6d4",
"600": "#0891b2",
"700": "#0e7490",
"800": "#155e75",
"900": "#164e63"
}
},
{
"sky": {
"50": "#f0f9ff",
"100": "#e0f2fe",
"200": "#bae6fd",
"300": "#7dd3fc",
"400": "#38bdf8",
"500": "#0ea5e9",
"600": "#0284c7",
"700": "#0369a1",
"800": "#075985",
"900": "#0c4a6e"
}
},
{
"blue": {
"50": "#eff6ff",
"100": "#dbeafe",
"200": "#bfdbfe",
"300": "#93c5fd",
"400": "#60a5fa",
"500": "#3b82f6",
"600": "#2563eb",
"700": "#1d4ed8",
"800": "#1e40af",
"900": "#1e3a8a"
}
},
{
"indigo": {
"50": "#eef2ff",
"100": "#e0e7ff",
"200": "#c7d2fe",
"300": "#a5b4fc",
"400": "#818cf8",
"500": "#6366f1",
"600": "#4f46e5",
"700": "#4338ca",
"800": "#3730a3",
"900": "#312e81"
}
},
{
"violet": {
"50": "#f5f3ff",
"100": "#ede9fe",
"200": "#ddd6fe",
"300": "#c4b5fd",
"400": "#a78bfa",
"500": "#8b5cf6",
"600": "#7c3aed",
"700": "#6d28d9",
"800": "#5b21b6",
"900": "#4c1d95"
}
},
{
"purple": {
"50": "#faf5ff",
"100": "#f3e8ff",
"200": "#e9d5ff",
"300": "#d8b4fe",
"400": "#c084fc",
"500": "#a855f7",
"600": "#9333ea",
"700": "#7e22ce",
"800": "#6b21a8",
"900": "#581c87"
}
},
{
"fuchsia": {
"50": "#fdf4ff",
"100": "#fae8ff",
"200": "#f5d0fe",
"300": "#f0abfc",
"400": "#e879f9",
"500": "#d946ef",
"600": "#c026d3",
"700": "#a21caf",
"800": "#86198f",
"900": "#701a75"
}
},
{
"pink": {
"50": "#fdf2f8",
"100": "#fce7f3",
"200": "#fbcfe8",
"300": "#f9a8d4",
"400": "#f472b6",
"500": "#ec4899",
"600": "#db2777",
"700": "#be185d",
"800": "#9d174d",
"900": "#831843"
}
},
{
"rose": {
"50": "#fff1f2",
"100": "#ffe4e6",
"200": "#fecdd3",
"300": "#fda4af",
"400": "#fb7185",
"500": "#f43f5e",
"600": "#e11d48",
"700": "#be123c",
"800": "#9f1239",
"900": "#881337"
}
}
]

View File

@ -0,0 +1,273 @@
{{- /* util/divineRGBVal consume a tailwind color name and weight, return RGB val in hex format. */ -}}
{{- $rgbItchy := newScratch -}}
{{- $themeColors := newScratch -}}
{{- $debug := (site.Params.divineRGBVals.debug|default false) -}}
{{- $rgbItchy.Set "logPrefix" "[util/divineRGBVal.html] " -}}
{{- $rgbItchy.Set "debugPrefix" (print "[DEBUG]" ( $rgbItchy.Get "logPrefix" )) -}}
{{- if $debug -}}
{{- warnf "%s Debug enabled" ( $rgbItchy.Get "debugPrefix") -}}
{{- end -}}
{{- $rgbItchy.Set "needThemeLookup" false -}}
{{- $rgbItchy.Set "twLookupSource" (site.Params.divineRGBVals.tailwindMap |default nil ) -}}
{{- $rgbItchy.Set "returnVal" "#000000" -}}
{{- $rgbItchy.Set "themeSource" (site.Params.divineRGBVals.themeColorMap|default "site.Data.congo") -}}
{{- $rgbItchy.Set "twLookupSource" (site.Params.divineRGBVals.tailwindMap |default nil ) -}}
{{- $rgbItchy.Set "schemeColors" nil -}}
{{- $rgbItchy.Set "primary" (site.Params.divineRGBVals.primary |default nil) -}}
{{- $rgbItchy.Set "secondary" (site.Params.divineRGBVals.secondary |default nil) -}}
{{- $rgbItchy.Set "neutral" (site.Params.divineRGBVals.neutral |default nil) -}}
{{- $colorSchemeName := $rgbItchy.Get "scheme" -}}
{{- $ctx := .context -}}
{{- $color := (.color|default nil) -}}
{{- $shade := (.shade|default nil) -}}
{{- $scheme := (.scheme |default nil ) -}}
{{- $return := (.return |default "RGB" ) -}}
{{- $validReturns := slice "RGB" "TWColor" "TWColorShade" -}}
{{- if in $validReturns $return -}}
{{- if and $debug (ne $return "RGB") -}}
{{- warnf "%s ---- Return set to: %s " ( $rgbItchy.Get "debugPrefix") (string $return) -}}
{{- end -}}
{{- $rgbItchy.Set "return" $return -}}
{{- else -}}
{{- warnf "%s xxxx Unsupported value of %s set for return. Setting to 'RGB' instead." ($rgbItchy.Get "logPrefix") $return -}}
{{- $rgbItchy.Set "return" "RGB" -}}
{{- end -}}
{{- if $scheme -}}
{{- $rgbItchy.Set "scheme" $scheme -}}
{{- if ne $scheme ( site.Params.colorScheme ) -}}
{{- $rgbItchy.Set "needThemeLookup" true -}}
{{- if $debug -}}
{{- warnf "%s ..-. Requested colorScheme '%s' differs from scheme '%s' read from site.Params.colorScheme. Lookup will be necessary." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "scheme") (site.Params.colorScheme) -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- $rgbItchy.Set "scheme" ( site.Params.colorScheme ) -}}
{{- if $debug -}}
{{- warnf "%s ..-. Theme colorScheme not provided on invocation. Read '%s' from site.Params.colorScheme." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "scheme") -}}
{{- end -}}
{{- end -}}
{{- if $shade -}}
{{- if $debug -}}
{{- warnf "%s .+.. Shade given: %s " ( $rgbItchy.Get "debugPrefix") (string $shade) -}}
{{- end -}}
{{- if (strings.HasSuffix $shade "0") -}}
{{- $rgbItchy.Set "shade" (string $shade) -}}
{{- if $debug -}}
{{- warnf "%s .-.. Shade ends with 0 : %s " ($rgbItchy.Get "debugPrefix") ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if $color -}}
{{- if $debug -}}
{{- warnf "%s +... Color given: %s " ( $rgbItchy.Get "debugPrefix") $color -}}
{{- end -}}
{{- if and ( strings.Contains $color "-" ) (strings.HasSuffix $color "0") -}}
{{- if $debug -}}
{{- warnf "%s -... Color %s seems to be a tailwind-style (color)-(shade)" ( $rgbItchy.Get "debugPrefix") $color -}}
{{- end -}}
{{- /* TODO: There has to be a better way to achieve this ????? */ -}}
{{- $c := strings.Split $color "-" -}}
{{- $col := delimit (first 1 $c) "" -}}
{{- $shd := delimit ( last 1 $c) "" -}}
{{- if $debug -}}
{{- warnf "%s --.. Color/Shade: %s %s " ( $rgbItchy.Get "debugPrefix") $col $shd -}}
{{- end -}}
{{- if and ($shade) (ne $shd (string $shade)) -}}
{{- warnf "%s --.. We were fed a tailwind-style color-shade ( %s ) and a shade (%s). %s and %s are not the same value. Please provide one or the other. " ( $rgbItchy.Get "logPrefix") $color (string $shade) $shd (string $shade) -}}
{{- else -}}
{{- $rgbItchy.Set "color" $col -}}
{{- $rgbItchy.Set "shade" $shd -}}
{{- if $debug -}}
{{- warnf "%s ++.. Set Scratch vars Color: %s Shade: %s " ( $rgbItchy.Get "debugPrefix") ( $rgbItchy.Get "color") ( $rgbItchy.Get "shade") -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- if $debug -}}
{{- warnf "%s --.. Color '%s' doesn't seem to be a tailwind-style (color)-(shade) combo. " ( $rgbItchy.Get "debugPrefix") $color -}}
{{- end -}}
{{- $rgbItchy.Set "color" $color -}}
{{- end -}}
{{- if in ( slice "primary" "secondary" "neutral") ($rgbItchy.Get "color") -}}
{{- if $debug -}}
{{- warnf "%s -.-. Color '%s' references a theme-abstracted value. Further divination required" ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "color") -}}
{{- end -}}
{{- $rgbItchy.Set "needThemeLookup" true -}}
{{- if not ($rgbItchy.Get "shade") -}}
{{- $rgbItchy.Set "shade" ($rgbItchy.Get "color") -}}
{{- if $debug -}}
{{- warnf "%s .--. Desired Shade unknown. Will lookup theme-value default for %s" ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "color") -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if ($rgbItchy.Get "shade") -}}
{{- if $debug -}}
{{- warnf "%s .+.. Desired Shade: %s" ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- else -}}
{{- $rgbItchy.Set "needThemeLookup" true -}}
{{- $rgbItchy.Set "shade" ($rgbItchy.Get "color") -}}
{{- if $debug -}}
{{- warnf "%s .--. Desired Shade unknown. Will lookup default for %s" ( $rgbItchy.Get "logPrefix") ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- end -}}
{{- /*
At this point, we should know if
- we need to lookup theme-specific colormap
- we need to lookup default shades
*/ -}}
{{- if ($rgbItchy.Get "needThemeLookup") -}}
{{- /* We need to lookup theme-specific information to return the requested color */ -}}
{{- if not (strings.HasSuffix ($rgbItchy.Get "shade") "0") -}}
{{- if $debug -}}
{{- warnf "%s .--? Shade not provided on invocation. Determining fallback value for '%s'." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- with $themeData := (index site.Data ($rgbItchy.Get "themeSource")) -}}
{{- range $wK, $wV := $themeData.colorWeights -}}
{{- if $debug -}}
{{- warnf "%s .--. Iterating default weights: %s %s" ( $rgbItchy.Get "debugPrefix") $wK ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- if eq $wK ($rgbItchy.Get "shade") -}}
{{- $rgbItchy.Set "shade" $wV -}}
{{- if $debug -}}
{{- warnf "%s .+-. Found weight for K:%s. Set shade to:%s" ( $rgbItchy.Get "debugPrefix") $wK ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if not (strings.HasSuffix ($rgbItchy.Get "shade") "0") -}}
{{- if $debug -}}
{{- warnf "%s +--. Default shade for %s not found. Fetching fallback value." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- $rgbItchy.Set "shade" $themeData.fallbackWeight -}}
{{- warnf "%s .+-. Shade value set to fallback: %s." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- /* shade should be set no matter what now. */ -}}
{{- else -}}
{{- errorf "%s xxx. Theme DataFile %s not accessible, and color shade not provided. Sorry Charlie." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "themeSource") -}}
{{- end -}}
{{- end -}}
{{- if and (eq ($rgbItchy.Get "primary") nil) (eq ($rgbItchy.Get "secondary") nil) (eq ($rgbItchy.Get "neutral") nil) -}}
{{- /* we need to find the Tailwind colors for our theme. */ -}}
{{- if $debug -}}
{{- warnf "%s -.-? %s Scheme Color names unknown. Shortcut this by setting Site params.divineRGBVals.(primary,secondary,neutral) to the values discerned from divination." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "scheme") -}}
{{- end -}}
{{- with $themeData := (index site.Data ($rgbItchy.Get "themeSource")) -}}
{{- if $debug -}}
{{- warnf "%s ..-? Theme Datafile %s Accessible " ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "themeSource") -}}
{{- end -}}
{{- range $tK, $tV := $themeData.themeColors -}}
{{- if and (reflect.IsMap $tV) (eq ($rgbItchy.Get "primary") nil) (eq ($rgbItchy.Get "secondary") nil) (eq ($rgbItchy.Get "neutral") nil) -}}
{{- if $debug -}}
{{- warnf "%s -.-? Iterating themeData: K:%d V:%s " ( $rgbItchy.Get "debugPrefix") $tK $tV -}}
{{- end -}}
{{- range $label, $blob := $tV -}}
{{- if $debug -}}
{{- warnf "%s ..-? Evaluating Scheme %d Name:%s " ( $rgbItchy.Get "debugPrefix") $tK $label -}}
{{- end -}}
{{- if eq $label ($rgbItchy.Get "scheme") -}}
{{- /* we got a match. assign the match to an element in our scratch object */ -}}
{{- $rgbItchy.Set "schemeColors" $blob -}}
{{- if $debug -}}
{{- warnf "%s ..*? Matched Scheme %s! P: %s, S: %s N: %s " ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "scheme") ($rgbItchy.Get "schemeColors").primary ($rgbItchy.Get "schemeColors").secondary ($rgbItchy.Get "schemeColors").neutral }}
{{- end -}}
{{- range $colorRole, $colorName := $blob -}}
{{- $rgbItchy.Set $colorRole $colorName -}}
{{- if not ($themeColors.Get $colorRole) -}}
{{- $themeColors.Set $colorRole $colorName -}}
{{- end -}}
{{- if $debug -}}
{{- warnf "%s +.+? Setting the value of scratch object $rgbItchy.%s. Reading it Back to verify: %s" ( $rgbItchy.Get "debugPrefix") $colorRole ($rgbItchy.Get $colorRole) -}}
{{- end -}}
{{- end -}}
{{- break -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- break -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- /* We don't have the lookup file for the theme's colors. */ -}}
{{- errorf "%s ..x. Theme DataFile %s not accessible, but required to proceed. Sorry.." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "themeSource") -}}
{{- end -}}
{{- else -}}
{{- if $debug -}}
{{- range $colorRole := slice "primary" "secondary" "neutral" -}}
{{- warnf "%s +... %s color set in params as %s" ( $rgbItchy.Get "debugPrefix") $colorRole ($rgbItchy.Get $colorRole) -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- /* we have the Tailwind colors for the requested scheme. */ -}}
{{- range $colorRole := slice "primary" "secondary" "neutral" -}}
{{- if eq $colorRole ( $rgbItchy.Get "color") -}}
{{- $rgbItchy.Set "color" ($rgbItchy.Get $colorRole) -}}
{{- if $debug -}}
{{- warnf "%s +.+? Color %s disambiguated to %s" ( $rgbItchy.Get "debugPrefix") $colorRole ($rgbItchy.Get $colorRole) -}}
{{- end -}}
{{- if or (eq ($rgbItchy.Get "return") "TWColor") (eq ($rgbItchy.Get "return") "TWColorShade" ) -}}
{{- if $debug -}}
{{- warnf "%s +..+ Returning the Tailwind Color Name for %s %s requested: %s " ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "scheme") $colorRole ($rgbItchy.Get "color") -}}
{{- end -}}
{{- if eq ($rgbItchy.Get "return") "TWColor" -}}
{{- $rgbItchy.Set "returnVal" (printf "%s" ($rgbItchy.Get "color") ) -}}
{{- if $debug -}}
{{- warnf "%s *.** returnVal set to color: %s " ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "returnVal") -}}
{{- end -}}
{{- else if eq ($rgbItchy.Get "return") "TWColorShade" -}}
{{- $rgbItchy.Set "returnVal" (printf "%s-%s" ($rgbItchy.Get "color") ($rgbItchy.Get "shade") ) -}}
{{- if $debug -}}
{{- warnf "%s **** returnVal set to color-shade: %s " ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "returnVal") -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- else if $debug -}}
{{- warnf "%s +.+? Role %s is %s" ( $rgbItchy.Get "debugPrefix") $colorRole ($rgbItchy.Get $colorRole) -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- /* the lookup in question doesn't need theme-scoped data. just tailwind. */ -}}
{{- end -}}
{{- if eq ( $rgbItchy.Get "return") "RGB" -}}
{{- with $tailwind := (index site.Data ($rgbItchy.Get "twLookupSource")) -}}{{- /* We have the map of tailwind colors to RGB Vals. */ -}}
{{- if $debug -}}
{{- warnf "%s ...- Tailwind ColorMap Datafile %s Accessible" ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "twLookupSource") -}}
{{- end -}}
{{- $col := default nil -}}
{{- $shd := default nil -}}
{{- $val := default nil -}}
{{- range $tK, $tV := $tailwind -}}
{{- if not $col -}}
{{- range $cName, $cVals := $tV }}
{{- if $debug -}}
{{- warnf "%s *..- Evaluating Tailwind Mapdata %d:%s %s " ( $rgbItchy.Get "debugPrefix") $tK $cName ($rgbItchy.Get "color") -}}
{{- end -}}
{{- if eq $cName ($rgbItchy.Get "color") -}}
{{- if $debug -}}
{{- warnf "%s **.+ Found color %s %s" ( $rgbItchy.Get "debugPrefix") $tK ($rgbItchy.Get "color") -}}
{{- end -}}
{{- $col = $cVals -}}
{{- range $sNum, $sVal := $cVals }}
{{- if $debug -}}
{{- warnf "%s **.- Evaluating %d:%s Shades :%s %s " ( $rgbItchy.Get "debugPrefix") $tK $cName $sNum ($rgbItchy.Get "shade") -}}
{{- end -}}
{{- if eq $sNum ($rgbItchy.Get "shade") -}}
{{- if $debug -}}
{{- warnf "%s **.+ Found %s:%d RGBVal: %s" ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "color") $sNum $sVal -}}
{{- end -}}
{{- $rgbItchy.Set "returnVal" $sVal -}}
{{- if $debug -}}
{{- warnf "%s **** ReturnVal set %s" ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "returnVal") -}}
{{- end -}}
{{- /* return ( $rgbItchy.Get "returnVal" ) */ -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- /* We don't have the map of tailwind colors to RGB Vals. */ -}}
{{- errorf "%s ...x Tailwind ColorMap Datafile %s not accessible." ( $rgbItchy.Get "debugPrefix") ($rgbItchy.Get "twLookupSource") -}}
{{- end -}}
{{- end -}}
{{- return ( $rgbItchy.Get "returnVal" ) -}}