diff options
| author | 2024-09-26 09:05:37 +0500 | |
|---|---|---|
| committer | 2024-09-26 09:05:37 +0500 | |
| commit | 7682c7aea3e71894ee69eb9b3e257d4eb74b8c81 (patch) | |
| tree | 7425bb9535099a27cd4eb4b8c41995be13fc235c | |
| parent | c2dab82cec1508a07ca1b4bbe8c56c96315f63d0 (diff) | |
update
| -rwxr-xr-x | builder.sh | 62 | ||||
| -rwxr-xr-x | init.sh | 53 | ||||
| -rw-r--r-- | templates/body.mustache | 17 | ||||
| -rw-r--r-- | templates/default.mustache | 27 | ||||
| -rw-r--r-- | templates/head.mustache | 11 |
5 files changed, 90 insertions, 80 deletions
diff --git a/builder.sh b/builder.sh new file mode 100755 index 0000000..1fcdd28 --- /dev/null +++ b/builder.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +declare -g configFile="./templates/config.yaml" +declare -g fileName +declare -g headJson +declare -g bodyJson + +declare -g schemeSystem +declare -g schemeSlug +declare -g schemeName +declare -g schemeAuthor +declare -g schemeVariant + +readarray -t schemesFiles < <(find "$HOME"/projects/schemes/base16/ -type f -iname '*.yaml') + +function createFile() { + # Extract filename entry from config + yq '.default.filename' "$configFile" >"/tmp/filename-base16-nwg-dock.txt" + + fileName=$(lustache-cli -i "/tmp/filename-base16-nwg-dock.txt" --json-data "$headJson") + + if [[ -e ./"$fileName" ]]; then + return + else + touch ./"$fileName" + fi +} + +function getProperty() { + yq -oy "$schemeFile" | yq -o=json -r ".$1" +} + +for schemeFile in "${schemesFiles[@]}"; do + schemeName=$(getProperty "name") + schemeAuthor=$(getProperty "author") + schemeSlug=$(basename "$schemeFile" .yaml) + schemeSlugUnderscored="${schemeSlug//-/_}" + schemeSystem=$(yq '.default.supported-systems[0]' "$configFile") + schemeVariant=$(getProperty "variant") + + headJson=$( + jq \ + --null-input \ + --arg schemeName "$schemeName" \ + --arg schemeAuthor "$schemeAuthor" \ + --arg schemeSlug "$schemeSlug" \ + --arg schemeSlugUnderscored "$schemeSlugUnderscored" \ + --arg schemeSystem "$schemeSystem" \ + --arg schemeVariant "$schemeVariant" \ + '{ "scheme-name": $schemeName, "scheme-author": $schemeAuthor, "scheme-slug": $schemeSlug, "scheme-slug-underscored": $schemeSlugUnderscored, "scheme-system": $schemeSystem, "scheme-variant": $schemeVariant, hasVariant: (if $schemeVariant != "" then "true" else "false" end) }' + ) + + bodyJson=$(getProperty "palette") + + createFile + + lustache-cli -i ./templates/head.mustache --json-data "$headJson" >./"$fileName" + + echo >>./"$fileName" + + lustache-cli -i ./templates/body.mustache --json-data "$bodyJson" >>./"$fileName" +done diff --git a/init.sh b/init.sh deleted file mode 100755 index 549e80c..0000000 --- a/init.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -declare -g configFile="./templates/config.yaml" -declare -g schemeSystem -declare -g schemeSlug -declare -g fileName -declare -g schemeName -declare -g schemeAuthor -declare -g schemeVariant -declare -g customConfigJson - -readarray -t schemesFiles < <(find "$HOME"/projects/schemes/base16/ -type f -iname '*.yaml') - -function createFile() { - # Extract filename entry from config - yq '.default.filename' "$configFile" "/tmp/filename-base16-nwg-dock.txt" - - fileName=$(lustache-cli -i "/tmp/filename-base16-nwg-dock.txt" --json-data "$customConfigJson") - - if [[ -e ./"$fileName" ]]; then - return - else - touch ./"$fileName" - fi -} - -function getProperty() { - yq -oy "$schemeFile" | yq -o=json -r ".$1" -} - -for schemeFile in "${schemesFiles[@]}"; do - schemeName=$(getProperty "name") - schemeAuthor=$(getProperty "author") - schemeSlug=$(basename "$schemeFile" .yaml) - schemeSystem=$(yq '.default.supported-systems[0]' "$configFile") - schemeVariant=$(getProperty "variant") - - customConfigJson=$( - jq --null-input --arg scheme-name "$schemeName" --arg scheme-author "$schemeAuthor" --arg scheme-slug "$schemeSlug" --arg scheme-system "$schemeSystem" --arg scheme-variant "$schemeVariant" '{ "scheme-name": $scheme-name, "scheme-author": $scheme-author, "scheme-slug": $scheme-slug, "scheme-system": $scheme-system, "scheme-variant": $scheme-variant }' - ) - - echo "$schemeName" - echo "$schemeAuthor" - echo "$schemeSlug" - echo "$schemeSystem" - echo "$schemeVariant" - echo "$customConfigJson" - - exit - - # createFile - # lustache-cli -i ./templates/default.mustache --json-data "$customConfigJson" -done diff --git a/templates/body.mustache b/templates/body.mustache new file mode 100644 index 0000000..555bbd8 --- /dev/null +++ b/templates/body.mustache @@ -0,0 +1,17 @@ +window { + background-color: #{{base00}}; + border-color: #{{base06}}; +} + +button, +image { + color: #{{base04}}; +} + +button { + color: #eee; +} + +button:hover { + background-color: #{{base07}}; +} diff --git a/templates/default.mustache b/templates/default.mustache deleted file mode 100644 index 753f038..0000000 --- a/templates/default.mustache +++ /dev/null @@ -1,27 +0,0 @@ -/* -* -* system: {{scheme-system}} -* name: {{scheme-name}} -* slug: {{scheme-slug}} -* author: {{scheme-author}} -* variant: {{scheme-variant}} -* -*/ - -window { - background-color: - border-color: -} - -button, -image { - color: -} - -button { - color: -} - -button:hover { - background-color: -} diff --git a/templates/head.mustache b/templates/head.mustache new file mode 100644 index 0000000..086ff69 --- /dev/null +++ b/templates/head.mustache @@ -0,0 +1,11 @@ +/* +* +* name: {{scheme-name}} +* author: {{{scheme-author}}} +* slug: {{scheme-slug}} +* slug-underscored: {{scheme-slug-underscored}} +* system: {{scheme-system}} +* variant: {{scheme-variant}} +* is-{{scheme-variant}}-variant: {{hasVariant}} +* +*/ |
