123456789101112131415161718192021222324252627282930 |
- #!/bin/bash
- find ./engine/assets/template/ ! -name 'template.go' -type f -exec rm -f {} +
- echo "package template" > ./engine/assets/template/template.go
- echo "" >> ./engine/assets/template/template.go
- echo "var AllData = map[string][]byte{" >> ./engine/assets/template/template.go
- for FILE_FULL in $(find ./hosts/localhost/template/ | grep -v 'hosts/localhost/template/$' | grep -v '.keep'); do
- FILE_BASE="$(basename -- $FILE_FULL)"
- FILE_GO_BASE="${FILE_BASE//[\-\.]/_}_file.go"
- FILE_GO_FULL="./engine/assets/template/${FILE_GO_BASE}"
- GO_VAR_NAME="${FILE_GO_BASE}"
- GO_VAR_NAME=$(echo "$GO_VAR_NAME" | sed -E 's/^([a-zA-Z]{1})/\U\1/g')
- GO_VAR_NAME=$(echo "$GO_VAR_NAME" | sed -E 's/(_)([a-zA-Z]{1})/\U\2/g')
- GO_VAR_NAME=$(echo "$GO_VAR_NAME" | sed -e 's/\.go$//g')
- GO_VAR_NAME="Var${GO_VAR_NAME}"
- FILE_CONTENT=$(cat ${FILE_FULL})
- FILE_CONTENT=$(echo "$FILE_CONTENT" | sed -E 's/([`]+)/` + "\1" + `/g')
- # Write target file
- echo "package template" > ${FILE_GO_FULL}
- echo "" >> ${FILE_GO_FULL}
- echo "var ${GO_VAR_NAME} = []byte(\`${FILE_CONTENT}\`)" >> ${FILE_GO_FULL}
- # Add files to hash
- echo " \"${FILE_BASE}\": ${GO_VAR_NAME}," >> ./engine/assets/template/template.go
- done
- echo "}" >> ./engine/assets/template/template.go
|