feat: let's make it pwetty, let's spin on it, and let's refactor it
Signed-off-by: Christina Sørensen <ces@fem.gg>
This commit is contained in:
parent
63c6591334
commit
ba951db84a
1 changed files with 46 additions and 5 deletions
|
@ -1,6 +1,47 @@
|
|||
#!/usr/bin/env bash
|
||||
jq "keys[]" q-codes.json \
|
||||
| sort -R \
|
||||
| head -n 1 \
|
||||
| xargs -I "%" jq '"%" as $qcode | [.[$qcode],$qcode][]' q-codes.json \
|
||||
| more -4
|
||||
|
||||
UPCURSOR_CLEAR_ANSI="\033[1A\033[K"
|
||||
|
||||
select_random_drill() {
|
||||
local drill
|
||||
drill=$(jq 'keys[]' q-codes.json \
|
||||
| sort -R \
|
||||
| head -n 1 \
|
||||
| xargs -I "%" jq "\
|
||||
\"%\" as \$qcode \
|
||||
| .[\$qcode] as \$qobj \
|
||||
| {qcode: \$qcode, question: \$qobj.question, answer: \$qobj.answer}" \
|
||||
q-codes.json
|
||||
)
|
||||
echo "$drill"
|
||||
}
|
||||
|
||||
run_drill() {
|
||||
echo -e "What is the question called by $(echo "$1" | jq --color-output "\"\(.qcode)?\"")?"
|
||||
read -r -p "Press Enter to Reveal Answer"
|
||||
echo -e "$(echo "$UPCURSOR_CLEAR_ANSI")It is: $(echo "$1" | jq --color-output '.question')"
|
||||
|
||||
echo ""
|
||||
|
||||
echo -e "What is the answer called by $(echo "$1" | jq --color-output ".qcode")?"
|
||||
read -r -p "Press Enter to Reveal Answer"
|
||||
echo -e "$(echo "$UPCURSOR_CLEAR_ANSI")It is: $(echo "$1" | jq --color-output '.answer')"
|
||||
|
||||
echo ""
|
||||
}
|
||||
|
||||
main() {
|
||||
local random_drill
|
||||
random_drill="$(select_random_drill)"
|
||||
run_drill "$random_drill"
|
||||
}
|
||||
|
||||
figlet -f nancyj-fancy "Q-CoDe Training" -c -t -os
|
||||
|
||||
echo ""
|
||||
echo -e "To exit drills, use \e[33mctrl-c\e[0m."
|
||||
echo ""
|
||||
|
||||
while true; do
|
||||
main
|
||||
done;
|
||||
|
|
Loading…
Add table
Reference in a new issue