diff options
Diffstat (limited to 'util/util_readme')
-rw-r--r-- | util/util_readme/description.md | 1 | ||||
-rwxr-xr-x | util/util_readme/util_readme.sh | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/util/util_readme/description.md b/util/util_readme/description.md new file mode 100644 index 0000000000..4b8f596064 --- /dev/null +++ b/util/util_readme/description.md @@ -0,0 +1 @@ +Creates README.md of description files in `./util` subdirectories `Bash` diff --git a/util/util_readme/util_readme.sh b/util/util_readme/util_readme.sh new file mode 100755 index 0000000000..251661442c --- /dev/null +++ b/util/util_readme/util_readme.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Creates `./util/README.md` and `./Documentation/Util.md` of description files +# in `./util` subdirectories +# +# Execute from root of project. Example: +# `sh util/util_readme/util_readme.sh` + +UTIL_README_DIR="$(cd "$(dirname "$0")" || exit; pwd -P)" +UTIL_DIR=$(dirname "$UTIL_README_DIR") +COREBOOT_ROOT_DIR=$(dirname "$UTIL_DIR") +DOCMENTATION_DIR="$COREBOOT_ROOT_DIR/Documentation" + +DESCRIPTION_FILES=$(find "$UTIL_DIR" -name "description.md" | sort) + +echo -n "" > "$UTIL_DIR/README.md" +echo "# Utilities" > "$DOCMENTATION_DIR/util.md" + +for DESC_FILE in $DESCRIPTION_FILES; do + UTIL_NAME=$(echo "$DESC_FILE" | rev | cut -d '/' -f2 | rev) + DESC=$(cat "$DESC_FILE") + + if [[ $DESC == "__"${UTIL_NAME}* || $DESC == "__["${UTIL_NAME}* ]]; then + DESC="* $DESC" + else + DESC="* __${UTIL_NAME}__ - $DESC" + fi + + # format description to under 72 characters per line and only + # breaking on whitespace + DESC=$(echo "$DESC" \ + | tr '\r\n' ' ' \ + | sed 's/ [*]\+/\n\t\*/g' \ + | sed 's/ \+/ /g' \ + | fold -s -w72 \ + | sed 's/\s*$//') + + echo "$DESC" >> "$UTIL_DIR/README.md" + echo "$DESC" >> "$DOCMENTATION_DIR/util.md" +done |