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/bin/**/*
|
||||
|
||||
#### -- TEMPLATES BEGIN -- ####
|
||||
|
||||
#### -- TEMPLATES END -- ####
|
||||
|
||||
# Allow to presever folder structure in excluded folers, should be the last rule
|
||||
!**/.gitkeep
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue