MarkdownResume-Pipeline-Cli.../vendor/git.knownelement.com/ExternalVendorCode/mo/demo/function-for-advanced-looping
Charles N Wyble 809f3adb3b Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' content from commit 5f86add
git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 5f86add57cfb3deaac2e97ceb8c5d64cb9208046
2024-12-10 15:02:49 -06:00

43 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
cd "$(dirname "$0")" # Go to the script's directory
EVERY_REPO() {
# The block contents come in through standard input. Capture it here.
content=$(cat)
echo "# Starting EVERY_REPO"
# Get list of repos
for REPO in "${REPOS[@]}"; do
echo "## Looping one time for repo: $REPO"
# String replace REPO_ with the name
# This changes everything in the content block of the template.
# It rewrites {{__REPO__.name}} into {{resque.name}}, for instance.
# You can prefix your environment variables and do other things as well.
echo "$content" | sed "s/__REPO__/${REPO}/"
echo "## Looped one time for repo: $REPO"
done
echo "# Finished EVERY_REPO"
}
REPOS=(resque hub rip)
declare -A resque hub rip
resque=([name]=Resque [url]=http://example.com/resque)
hub=([name]=Hub [url]=http://example.com/hub)
rip=([name]=Rip [url]=http://example.com/rip)
. ../mo
cat <<EOF | mo
{{#EVERY_REPO}}
The repo is __REPO__
Name: {{__REPO__.name}}
URL: {{__REPO__.url}}
{{/EVERY_REPO}}
EOF