# Extract code block from a
section identified by data-file attribute. # Usage: extract_code # Example: extract_code ch01.md "main.cpp" extract_code() { local file="$1" name="$2" local output output=$(awk -v name="$name" ' $0 ~ "data-file=\"" name "\"" { found=1; next } found && /^```/ && !inside { inside=1; next } inside && /^```/ { exit } inside { print } ' "$file") if [ -z "$output" ]; then echo "ERROR: extract_code: no match for data-file=\"$name\" in $file" >&2 return 1 fi printf '%s\n' "$output" }