docker/docs/build.sh

58 строки
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
set -o pipefail
usage() {
exit 1
}
extrafiles=($(find . -name "mkdocs-*.yml"))
extralines=()
for file in "${extrafiles[@]}"
do
#echo "LOADING $file"
while read line
do
if [[ "$line" != "" ]]
then
extralines+=("$line")
#echo "LINE (${#extralines[@]}): $line"
fi
done < <(cat "$file")
done
#echo "extra count (${#extralines[@]})"
mv mkdocs.yml mkdocs.yml.bak
echo "# Generated mkdocs.yml from ${extrafiles[@]}"
echo "# Generated mkdocs.yml from ${extrafiles[@]}" > mkdocs.yml
while read line
do
menu=$(echo $line | sed "s/^- \['\([^']*\)', '\([^']*\)'.*/\2/")
if [[ "$menu" != "**HIDDEN**" ]]
# or starts with a '#'?
then
if [[ "$lastmenu" != "" && "$lastmenu" != "$menu" ]]
then
# insert extra elements here
for extra in "${extralines[@]}"
do
#echo "EXTRA $extra"
extramenu=$(echo $extra | sed "s/^- \['\([^']*\)', '\([^']*\)'.*/\2/")
if [[ "$extramenu" == "$lastmenu" ]]
then
echo "$extra" >> mkdocs.yml
fi
done
#echo "# JUST FINISHED $lastmenu"
fi
lastmenu="$menu"
fi
echo "$line" >> mkdocs.yml
done < <(cat "mkdocs.yml.bak")