aboutsummaryrefslogtreecommitdiff
path: root/init.sh
blob: 549e80cade70c6b40e588012c3f629d07670e661 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/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