Front / Back (click to flip)
Click card to view front/back
Raw Script
#!/usr/bin/env bash
set +e
tt="/dev/tty";[[ -r "$tt" && -w "$tt" ]]||tt=""
p(){ [[ -n "$tt" ]]&&printf "%b" "$1" >"$tt"||printf "%b" "$1"; }
r(){ local t=""; if [[ -n "$tt" ]]; then IFS= read -r t <"$tt" || t=""; else IFS= read -r t || t=""; fi; printf "%s" "$t"; }
W=60
deck="EDU";subject="EDU";
topic="Introduction to Biology";
subtitle="Basics of Living Organisms and Their Interactions";
note="Biology helps us understand all forms of life and their roles in nature. Whether you are a child or an adult, learning biology shows how living things grow, change, and depend on each other.";
cl(){ printf "\033[2J\033[H"; }
bar(){ printf "%s\n" "$(printf "%*s" "$W" "" | tr " " "=")"; }
row(){ printf "| %-*.*s |\n" "$((W-4))" "$((W-4))" "$1"; }
wrap(){
local txt="$1" max=$((W-4)) chunk rest cut
while [[ -n "$txt" ]]; do
if [[ ${#txt} -le $max ]]; then row "$txt"; break; fi
chunk=${txt:0:$max}
rest=${txt:$max}
if [[ "$chunk" =~ (.+)[[:space:]] ]]; then
cut=${BASH_REMATCH[1]}
row "$cut"
txt="${txt:${#cut}}"; txt="${txt#" "}";
else
row "$chunk"
txt="$rest"
fi
done
}
pause(){ p "Press Enter to continue: "; r >/dev/null; }
menu(){
cl
bar; row "$deck • $subject"; bar
wrap "$topic"
wrap "$subtitle"
if [[ -n "$note" ]]; then wrap "Tip: $note"; fi
bar
row "1) OVERVIEW"
row "2) STEPS"
row "3) TERMINOLOGY"
row "q) EXIT"
bar
p "> "
}
page_OVERVIEW(){
cl
bar; row "OVERVIEW"; bar
local s
p=(
"Biology studies all living things and how they interact."
"It looks at life from tiny microbes to big animals and plants."
"We learn about how organisms grow, function, and evolve."
"Biology explains genetics, ecology, and how bodies work."
"It helps us understand life and protect our environment."
"Biology supports medicine, farming, and conservation efforts."
)
for s in "${p[@]}"; do wrap "$s"; done
bar
pause
}
page_STEPS(){
cl
bar; row "STEPS"; bar
local s
p=(
"Define what biology is and why it matters."
"Explore different types of living organisms."
"Discuss how organisms interact with each other and their environment."
"Introduce basic biological processes like growth and reproduction."
"Explain the importance of genetics and evolution."
"Connect biology to real-world applications like health and environment."
)
for s in "${p[@]}"; do wrap "$s"; done
bar
pause
}
page_TERMINOLOGY(){
cl
bar; row "TERMINOLOGY"; bar
local s
p=(
"Organism — any living thing, from tiny bacteria to large animals."
"Genetics — study of how traits are passed from parents to offspring."
"Ecology — study of how organisms interact with each other and their surroundings."
"Physiology — study of how living things function internally."
"Evolution — process by which species change over time."
"Microorganism — tiny living things, often too small to see without a microscope."
"Environment — the natural world where organisms live."
"Conservation — protecting and preserving natural resources and life forms."
)
for s in "${p[@]}"; do wrap "$s"; done
bar
pause
}
while true; do
menu
read -r choice < "${tt:-/dev/stdin}" || choice=""
case "$choice" in
1) page_OVERVIEW ;;
2) page_STEPS ;;
3) page_TERMINOLOGY ;;
q|Q) cl; bar; row "CARD CLOSED"; bar; p "\n"; break ;;
*) cl; bar; row "Select 1-3 or q"; bar; pause ;;
esac
done
QR Payload
#!/usr/bin/env bash
set -euo pipefail;bash -c $'set +e\ntt="/dev/tty";[[ -r "$tt" && -w "$tt" ]]||tt=""\np(){ [[ -n "$tt" ]]&&printf "%b" "$1" >"$tt"||printf "%b" "$1"; }\nr(){ local t=""; if [[ -n "$tt" ]]; then IFS= read -r t <"$tt" || t=""; else IFS= read -r t || t=""; fi; printf "%s" "$t"; }\nW=60\ndeck="EDU";subject="EDU";\ntopic="Introduction to Biology";\nsubtitle="Basics of Living Organisms and Their Interactions";\nnote="Biology helps us understand all forms of life and their roles in nature. Whether you are a child or an adult, learning biology shows how living things grow, change, and depend on each other.";\ncl(){ printf "\\033[2J\\033[H"; }\nbar(){ printf "%s\\n" "$(printf "%*s" "$W" "" | tr " " "=")"; }\nrow(){ printf "| %-*.*s |\\n" "$((W-4))" "$((W-4))" "$1"; }\nwrap(){\n local txt="$1" max=$((W-4)) chunk rest cut\n while [[ -n "$txt" ]]; do\n if [[ ${#txt} -le $max ]]; then row "$txt"; break; fi\n chunk=${txt:0:$max}\n rest=${txt:$max}\n if [[ "$chunk" =~ (.+)[[:space:]] ]]; then\n cut=${BASH_REMATCH[1]}\n row "$cut"\n txt="${txt:${#cut}}"; txt="${txt#" "}";\n else\n row "$chunk"\n txt="$rest"\n fi\n done\n}\npause(){ p "Press Enter to continue: "; r >/dev/null; }\nmenu(){\n cl\n bar; row "$deck • $subject"; bar\n wrap "$topic"\n wrap "$subtitle"\n if [[ -n "$note" ]]; then wrap "Tip: $note"; fi\n bar\n row "1) OVERVIEW"\n row "2) STEPS"\n row "3) TERMINOLOGY"\n row "q) EXIT"\n bar\n p "> "\n}\npage_OVERVIEW(){\n cl\n bar; row "OVERVIEW"; bar\n local s\n p=(\n"Biology studies all living things and how they interact."\n"It looks at life from tiny microbes to big animals and plants."\n"We learn about how organisms grow, function, and evolve."\n"Biology explains genetics, ecology, and how bodies work."\n"It helps us understand life and protect our environment."\n"Biology supports medicine, farming, and conservation efforts."\n)\n for s in "${p[@]}"; do wrap "$s"; done\n bar\n pause\n}\npage_STEPS(){\n cl\n bar; row "STEPS"; bar\n local s\n p=(\n"Define what biology is and why it matters."\n"Explore different types of living organisms."\n"Discuss how organisms interact with each other and their environment."\n"Introduce basic biological processes like growth and reproduction."\n"Explain the importance of genetics and evolution."\n"Connect biology to real-world applications like health and environment."\n)\n for s in "${p[@]}"; do wrap "$s"; done\n bar\n pause\n}\npage_TERMINOLOGY(){\n cl\n bar; row "TERMINOLOGY"; bar\n local s\n p=(\n"Organism — any living thing, from tiny bacteria to large animals."\n"Genetics — study of how traits are passed from parents to offspring."\n"Ecology — study of how organisms interact with each other and their surroundings."\n"Physiology — study of how living things function internally."\n"Evolution — process by which species change over time."\n"Microorganism — tiny living things, often too small to see without a microscope."\n"Environment — the natural world where organisms live."\n"Conservation — protecting and preserving natural resources and life forms."\n)\n for s in "${p[@]}"; do wrap "$s"; done\n bar\n pause\n}\nwhile true; do\n menu\n read -r choice < "${tt:-/dev/stdin}" || choice=""\n case "$choice" in\n 1) page_OVERVIEW ;;\n 2) page_STEPS ;;\n 3) page_TERMINOLOGY ;;\n q|Q) cl; bar; row "CARD CLOSED"; bar; p "\\n"; break ;;\n *) cl; bar; row "Select 1-3 or q"; bar; pause ;;\n esac\ndone\n'