diff --git a/src/update-example-tags.sh b/src/update-example-tags.sh new file mode 100755 index 00000000..80a166eb --- /dev/null +++ b/src/update-example-tags.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +set -Eeuo pipefail + +# allow for simple recursive file globs +shopt -s globstar + +# the left entries will be replaced by the right entries +# the following variables can be used in the replacement: \$filename, \$title, \$imgname, \$category +declare -A replacements=( + "raylib web game" "\$title" + "" "" + "New raylib web videogame\, developed using raylib videogames library" "raylib [\$category] example - \$title" + "raylib - example" "raylib - \$title" + "https://www.raylib.com/common/raylib_logo.png" "https://raw.githubusercontent.com/raysan5/raylib/master/examples/\$category/\$imgname" + "https://www.raylib.com/games.html" "https://www.raylib.com/examples/\$category/\$filename" + "raylib web game" "\$title" +) + +function update_tags { + echo "update tags for: $1" + export filename=$(basename $1) + noext="${filename%.*}" + export title="${noext//_/ }" + export imgname="${noext}.png" + parts=($title) + export category="${parts[0]}" + + for key in "${!replacements[@]}"; do + r=${replacements[$key]} + r=$(envsubst <<< "$r") + bash -c "sed -i 's,$key,$r,g' $1" + done +} + +pushd ../examples + +for i in **/*.html; do + update_tags "$i" +done