users/foo-dogsquared/homepage: update theme SCSS and package definition

Also, Hugo doesn't resolve symlinks unfortunately(?) so we have to go
with making it a real file for now. Either way, this is only for
development purposes and the real version is generated within the HM
config.
This commit is contained in:
Gabriel Arazas 2024-09-04 14:57:32 +08:00
parent 1e13478c7b
commit 2221ca1642
No known key found for this signature in database
GPG Key ID: 62104B43D00AA360
4 changed files with 82 additions and 81 deletions

View File

@ -19,60 +19,57 @@
*/}} */}}
{{ if (and $hasLight (not $hasDark)) }} {{ if (and $hasLight (not $hasDark)) }}
{{- warnf "No given dark theme. Generating one from the light theme..." }} {{- warnf "No given dark theme. Generating one from the light theme..." }}
{{ $palette := $hasLight.palette }}
{{ $darkTheme := dict {{ $darkTheme := dict
"scheme" (printf "%s (light)" $hasLight.scheme) "scheme" (printf "%s (light)" $hasLight.scheme)
"base00" $hasLight.base07 "base00" $palette.base07
"base01" $hasLight.base06 "base01" $palette.base06
"base02" $hasLight.base05 "base02" $palette.base05
"base03" $hasLight.base04 "base03" $palette.base04
"base04" $hasLight.base03 "base04" $palette.base03
"base05" $hasLight.base02 "base05" $palette.base02
"base06" $hasLight.base01 "base06" $palette.base01
"base07" $hasLight.base00 "base07" $palette.base00
"base08" (print "{lighten(saturate(#" $hasLight.base08 ", 10%), 15%)}") "base08" (print "{lighten(saturate(#" $palette.base08 ", 10%), 15%)}")
"base09" (print "{lighten(saturate(#" $hasLight.base09 ", 10%), 15%)}") "base09" (print "{lighten(saturate(#" $palette.base09 ", 10%), 15%)}")
"base0A" (print "{lighten(saturate(#" $hasLight.base0A ", 10%), 15%)}") "base0A" (print "{lighten(saturate(#" $palette.base0A ", 10%), 15%)}")
"base0B" (print "{lighten(saturate(#" $hasLight.base0B ", 10%), 15%)}") "base0B" (print "{lighten(saturate(#" $palette.base0B ", 10%), 15%)}")
"base0C" (print "{lighten(saturate(#" $hasLight.base0C ", 10%), 15%)}") "base0C" (print "{lighten(saturate(#" $palette.base0C ", 10%), 15%)}")
"base0D" (print "{lighten(saturate(#" $hasLight.base0D ", 10%), 15%)}") "base0D" (print "{lighten(saturate(#" $palette.base0D ", 10%), 15%)}")
"base0E" (print "{lighten(saturate(#" $hasLight.base0E ", 10%), 15%)}") "base0E" (print "{lighten(saturate(#" $palette.base0E ", 10%), 15%)}")
"base0F" (print "{lighten(saturate(#" $hasLight.base0F ", 10%), 15%)}") "base0F" (print "{lighten(saturate(#" $palette.base0F ", 10%), 15%)}")
}} }}
{{ $themes = merge $themes (dict "_dark" $darkTheme) }} {{ $themes = merge $themes (dict "_dark" $darkTheme) }}
{{ else if (and $hasDark (not $hasLight)) }} {{ else if (and $hasDark (not $hasLight)) }}
{{- warnf "No given light theme. Generating one from the dark theme..." }} {{- warnf "No given light theme. Generating one from the dark theme..." }}
{{ $palette := $hasDark.palette }}
{{ $lightTheme := dict {{ $lightTheme := dict
"scheme" (printf "%s (light)" $hasDark.scheme) "scheme" (printf "%s (light)" $hasDark.scheme)
"base00" $hasDark.base07 "base00" $palette.base07
"base01" $hasDark.base06 "base01" $palette.base06
"base02" $hasDark.base05 "base02" $palette.base05
"base03" $hasDark.base04 "base03" $palette.base04
"base04" $hasDark.base03 "base04" $palette.base03
"base05" $hasDark.base02 "base05" $palette.base02
"base06" $hasDark.base01 "base06" $palette.base01
"base07" $hasDark.base00 "base07" $palette.base00
"base08" (print "{darken(saturate(#" $hasDark.base08 ", 10%), 15%)}") "base08" (print "{darken(saturate(#" $palette.base08 ", 10%), 15%)}")
"base09" (print "{darken(saturate(#" $hasDark.base09 ", 10%), 15%)}") "base09" (print "{darken(saturate(#" $palette.base09 ", 10%), 15%)}")
"base0A" (print "{darken(saturate(#" $hasDark.base0A ", 10%), 15%)}") "base0A" (print "{darken(saturate(#" $palette.base0A ", 10%), 15%)}")
"base0B" (print "{darken(saturate(#" $hasDark.base0B ", 10%), 15%)}") "base0B" (print "{darken(saturate(#" $palette.base0B ", 10%), 15%)}")
"base0C" (print "{darken(saturate(#" $hasDark.base0C ", 10%), 15%)}") "base0C" (print "{darken(saturate(#" $palette.base0C ", 10%), 15%)}")
"base0D" (print "{darken(saturate(#" $hasDark.base0D ", 10%), 15%)}") "base0D" (print "{darken(saturate(#" $palette.base0D ", 10%), 15%)}")
"base0E" (print "{darken(saturate(#" $hasDark.base0E ", 10%), 15%)}") "base0E" (print "{darken(saturate(#" $palette.base0E ", 10%), 15%)}")
"base0F" (print "{darken(saturate(#" $hasDark.base0F ", 10%), 15%)}") "base0F" (print "{darken(saturate(#" $palette.base0F ", 10%), 15%)}")
}} }}
{{ $themes = merge $themes (dict "_light" $lightTheme) }} {{ $themes = merge $themes (dict "_light" $lightTheme) }}
{{ else if not $hasSystemTheme }}
{{ $systemThemes := dict
"_dark" $themes._dark_fallback
"_light" $themes._light_fallback
}}
{{ $themes = merge $systemThemes $themes }}
{{ end }} {{ end }}
{{- range $name, $scheme := $themes }} {{- range $name, $scheme := $themes }}
// This is a template for a colorscheme based from a Base16 data file from // This is a template for a colorscheme based from a Base16 data file from
// https://github.com/chriskempson/base16. // https://github.com/chriskempson/base16.
@mixin createColorScheme { @mixin createColorScheme {
{{ $palette := $scheme.palette }}
{{- range $i := seq 0 15 }} {{- range $i := seq 0 15 }}
{{- $hex := upper (printf "%02x" $i) }} {{- $hex := upper (printf "%02x" $i) }}
{{- $key := printf "base%s" $hex }} {{- $key := printf "base%s" $hex }}
@ -80,15 +77,11 @@
// TODO: Make a better way to interpolate the color strings. // TODO: Make a better way to interpolate the color strings.
{{/* We're just taking advantage the fact that the SASS color functions {{/* We're just taking advantage the fact that the SASS color functions
returns the colors in the same format we needed. */}} returns the colors in the same format we needed. */}}
{{- $color := printf "#%s" (index $scheme $key) }} {{- $color := printf "#%s" (index $palette $key) }}
--{{ $key }}: {{ $color }}; --{{ $key }}: {{ $color }};
{{- end }} {{- end }}
} }
{{- if (or (eq $name "_light_fallback") (eq $name "_dark_fallback")) }}
{{ continue }}
{{- end }}
{{- if eq $name "_light" }} {{- if eq $name "_light" }}
:root { :root {
@include createColorScheme @include createColorScheme
@ -107,7 +100,7 @@
} }
{{- end }} {{- end }}
[data-theme="{{ .scheme }}"]:root, [data-theme="{{ .scheme }}"]::backdrop { [data-theme="{{ .name }}"]:root, [data-theme="{{ .name }}"]::backdrop {
@include createColorScheme; @include createColorScheme;
} }
{{- end }} {{- end }}

View File

@ -1,5 +1,9 @@
scheme: "Bark on a tree" system: "base16"
author: "Gabriel Arazas (https://foo-dogsquared.github.io)" name: "Bark on a tree"
author: "Gabriel Arazas (https://foodogsquared.one)"
description: "Rusty theme resembling forestry inspired from Nord theme."
variant: "dark"
palette:
base00: "2b221f" base00: "2b221f"
base01: "412c26" base01: "412c26"
base02: "5c362c" base02: "5c362c"

View File

@ -1,5 +1,9 @@
scheme: "Albino bark on a tree" system: "base16"
author: "Gabriel Arazas (https://foo-dogsquared.github.io)" name: "Albino bark on a tree"
author: "Gabriel Arazas (https://foodogsquared.one)"
description: "Bright rusty theme resembling forestry inspired from Nord theme."
variant: "light"
palette:
base00: "f0f0f0" base00: "f0f0f0"
base01: "e1e3e2" base01: "e1e3e2"
base02: "dacec7" base02: "dacec7"

View File

@ -12,7 +12,7 @@ buildHugoSite {
preBuild = '' preBuild = ''
install -Dm0644 ${../tinted-theming/base16/bark-on-a-tree.yaml} ./data/foodogsquared-homepage/themes/_dark.yaml install -Dm0644 ${../tinted-theming/base16/bark-on-a-tree.yaml} ./data/foodogsquared-homepage/themes/_dark.yaml
install -Dm0644 ${../tinted-theming/base16/albino-bark-on-a-tree.yaml} ./data/foodogsquared-homepage/themes/_dark.yaml install -Dm0644 ${../tinted-theming/base16/albino-bark-on-a-tree.yaml} ./data/foodogsquared-homepage/themes/_light.yaml
''; '';
meta = with lib; { meta = with lib; {