feat: add script to add gitignore tempaltes
This commit is contained in:
parent
981e35124a
commit
f8a231138a
2 changed files with 46 additions and 0 deletions
42
.devfiles/scripts/gitignore.sh
Executable file
42
.devfiles/scripts/gitignore.sh
Executable file
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
root="$(git rev-parse --show-toplevel)"
|
||||||
|
|
||||||
|
base_url="https://git.alecodes.page/api/v1/gitignore/templates"
|
||||||
|
|
||||||
|
query="$*"
|
||||||
|
|
||||||
|
list_available() {
|
||||||
|
curl -Ssl $base_url | jq -r '.[]'
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ -z $query ]]; then
|
||||||
|
list_available
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmp_file="$(mktemp)"
|
||||||
|
|
||||||
|
for template in $query; do
|
||||||
|
# Capitalize the string
|
||||||
|
template=${template,,}
|
||||||
|
template=${template^}
|
||||||
|
|
||||||
|
response="$(curl -Ssl "$base_url/$template")"
|
||||||
|
name="$(echo "$response" | jq -r '.name')"
|
||||||
|
content="$(echo "$response" | jq -r '.source')"
|
||||||
|
|
||||||
|
if [[ "$content" == "null" ]]; then
|
||||||
|
echo "Template not found, available options:"
|
||||||
|
list_available
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "\n### %s\n\n%s\n\n" "$name" "$content" >>"$tmp_file"
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -i -ne "/#### -- TEMPLATES BEGIN -- ####/ {p; r $tmp_file" -e ':a; n; /#### -- TEMPLATES END -- ####/ {p; b}; ba}; p' "$root/.gitignore"
|
||||||
|
|
||||||
|
rm "$tmp_file"
|
||||||
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -1,5 +1,9 @@
|
||||||
# Devfiles
|
# Devfiles
|
||||||
.devfiles/bin/**/*
|
.devfiles/bin/**/*
|
||||||
|
|
||||||
|
#### -- TEMPLATES BEGIN -- ####
|
||||||
|
|
||||||
|
#### -- TEMPLATES END -- ####
|
||||||
|
|
||||||
# Allow to presever folder structure in excluded folers, should be the last rule
|
# Allow to presever folder structure in excluded folers, should be the last rule
|
||||||
!**/.gitkeep
|
!**/.gitkeep
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue