mirror of
https://github.com/pinout-xyz/Pinout.xyz.git
synced 2024-11-08 17:47:04 +00:00
69 lines
2.2 KiB
Bash
Executable File
69 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
cd $(dirname $0)
|
|
|
|
masterdir="../src/en/overlay"
|
|
mdlist=$(ls "$masterdir")
|
|
srcdir="../src"
|
|
langlist=$(ls "$srcdir")
|
|
yamlfile="settings.yaml"
|
|
urllist=( "url" "github" "buy" "schematic" )
|
|
filesync=false
|
|
urlfix=false
|
|
|
|
confirm() {
|
|
if [ "$FORCE" == '-y' ]; then
|
|
true
|
|
else
|
|
read -r -p "$1 [y/N] " response < /dev/tty
|
|
if [[ $response =~ ^(yes|y|Y)$ ]]; then
|
|
true
|
|
else
|
|
false
|
|
fi
|
|
fi
|
|
}
|
|
|
|
echo "syncing lang directories..."
|
|
for overlay in $mdlist; do
|
|
board=$(echo "$overlay" | rev | cut -c 4- | rev)
|
|
for dirmd in ${langlist[@]}; do
|
|
if [ -f $srcdir/$dirmd/translate/$overlay ]; then
|
|
if [ -n "$(diff "$masterdir/$overlay" "$srcdir/$dirmd/translate/$overlay" 2> /dev/null)" ]; then
|
|
echo "overwriting $dirmd/translate/$overlay"
|
|
cp $masterdir/$overlay $srcdir/$dirmd/translate/
|
|
filesync=true
|
|
fi
|
|
elif ! [ -f $srcdir/$dirmd/overlay/$overlay ]; then
|
|
echo "copying $overlay to $dirmd/translate/"
|
|
cp $masterdir/$overlay $srcdir/$dirmd/translate/
|
|
filesync=true
|
|
fi
|
|
if ! grep -e $board ../src/$dirmd/$yamlfile &> /dev/null; then
|
|
echo "adding $board to $dirmd/$yamlfile"
|
|
echo "- $board" | tee -a ../src/$dirmd/$yamlfile &> /dev/null
|
|
fi
|
|
|
|
if [ -f "$srcdir/$dirmd/overlay/$overlay" ]; then
|
|
for urltype in ${urllist[@]}; do
|
|
besturl=$(grep "^$urltype" "$masterdir/$overlay")
|
|
langurl=$(grep "^$urltype" "$srcdir/$dirmd/overlay/$overlay")
|
|
if [ "$besturl" != "$langurl" ]; then
|
|
echo "$urltype in en $overlay is $besturl"
|
|
echo "$urltype in $dirmd $overlay is $langurl"
|
|
if confirm "would you like to fix this discrepancy?"; then
|
|
sed -i "s|^$urltype.*$|$besturl|" "$srcdir/$dirmd/overlay/$overlay"
|
|
echo "external link was fixed" && urlfix=true
|
|
fi
|
|
fi
|
|
done
|
|
fi
|
|
done
|
|
done
|
|
|
|
if ! $filesync && ! $urlfix;then
|
|
echo "all translations are up-to-date"
|
|
fi
|
|
|
|
exit 0
|