-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgenDoc.sh
33 lines (31 loc) · 1016 Bytes
/
genDoc.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
#!/usr/bin/env bash
for CHALLENGE in "${@%/}" # Strips trailing slash
do
NAME="$(basename "$CHALLENGE" | sed 's/\.//g')" # Strips dots
DOC="$CHALLENGE/README.md"
appendToDoc() {
echo "${1}" >> "$DOC"
}
codeBlock() {
echo '```'"$2"
echo "${1}"
echo '```'
}
rm -f "$DOC" && touch "$DOC"
appendToDoc "# $NAME"
appendToDoc "## Start file"
appendToDoc "$(codeBlock "$(cat "$CHALLENGE/inp")")"
appendToDoc "## End file"
appendToDoc "$(codeBlock "$(cat "$CHALLENGE/out")")"
appendToDoc "## View Diff"
appendToDoc "<details><summary>Click me</summary>"
appendToDoc ""
appendToDoc "$(codeBlock "$(diff "$CHALLENGE/inp" "$CHALLENGE/out")")"
appendToDoc "</details>"
appendToDoc ""
appendToDoc "## VimGolf Solution"
appendToDoc "$(codeBlock "$(cat "$CHALLENGE/ans")" sh)"
appendToDoc "## KdbGolf Solution"
appendToDoc "$(codeBlock "$(cat "$CHALLENGE/ans.q")" q)"
echo "Written doc file to: $DOC"
done