diff --git a/config/_default/params.toml b/config/_default/params.toml index fe0bc176..218d2f52 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -7,6 +7,11 @@ colorScheme = "congo" defaultAppearance = "light" # valid options: light or dark +[divineRGBVals] + debug = false + themeColorMap = "congo" + tailwindMap = "twcolormap" + autoSwitchAppearance = true enableSearch = false diff --git a/data/congo.json b/data/congo.json new file mode 100644 index 00000000..c904f544 --- /dev/null +++ b/data/congo.json @@ -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" +} \ No newline at end of file diff --git a/data/twcolormap.json b/data/twcolormap.json new file mode 100644 index 00000000..9afefefc --- /dev/null +++ b/data/twcolormap.json @@ -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" + } + } +] \ No newline at end of file diff --git a/layouts/partials/util/divineRGBVal.html b/layouts/partials/util/divineRGBVal.html new file mode 100644 index 00000000..fef78113 --- /dev/null +++ b/layouts/partials/util/divineRGBVal.html @@ -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" ) -}} \ No newline at end of file