-
Notifications
You must be signed in to change notification settings - Fork 2
/
updateReadme.sh
59 lines (47 loc) · 1.18 KB
/
updateReadme.sh
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
54
55
56
57
58
59
#!/bin/sh
_extract_desc() {
path=$1
find "$path" -maxdepth 1 -type f | sort | while read -r script; do
desc="$(sed 1d "$script" |
awk '/^ *#/ {print $0; f=1}
f && /^$/ {exit(0)}
/^ *[^#]/ {exit(0)}' |
grep -v shellcheck |
sed 's/ *# *//g' |
tr '\n' ' ')"
s_name="$(basename "$script" | sed -E 's/\.[^.]+$//g')"
[ "$desc" ] && desc=" - $desc"
echo " - [$s_name]($script)$desc" | sed 's/\s*$//g'
done
}
spells() {
cat <<EOF
## [Spells](./spells/): Scritps to be run by hand or through a keybind.
EOF
_extract_desc ./spells
}
cantrips() {
cat <<EOF
## [Cantrips](./cantrips/): Cantrips are scripts lauched from dmenu using the [menu](./cantrips/menu.sh).
EOF
_extract_desc ./cantrips
}
runes() {
cat <<EOF
## [Runes](./runes/): Static configuration files
EOF
}
scrolls() {
cat <<EOF
## [Scrolls](./scrolls/): Instalation scripts *Mostly untested*
EOF
_extract_desc ./scrolls
}
cat <<EOF
# Spell Book
A collection of scripts and dotfiles I like to keep handy.
EOF
for section in spells cantrips runes scrolls; do
echo
$section
done