aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Alexey Stepanov <blueingreen@bluig.space>2024-09-26 09:05:37 +0500
committerLibravatar Alexey Stepanov <blueingreen@bluig.space>2024-09-26 09:05:37 +0500
commit7682c7aea3e71894ee69eb9b3e257d4eb74b8c81 (patch)
tree7425bb9535099a27cd4eb4b8c41995be13fc235c
parentc2dab82cec1508a07ca1b4bbe8c56c96315f63d0 (diff)
update
-rwxr-xr-xbuilder.sh62
-rwxr-xr-xinit.sh53
-rw-r--r--templates/body.mustache17
-rw-r--r--templates/default.mustache27
-rw-r--r--templates/head.mustache11
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}}
+*
+*/