generateREADME.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/bash
  2. # start script from it's folder
  3. cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null || exit
  4. # Standard file locations
  5. homedir='../../'
  6. . ../env.sh
  7. # Temp Files
  8. tmpreadme1=$(mktemp)
  9. tmpreadme2=$(mktemp)
  10. # Delete TempFiles on exit
  11. CleanExit () {
  12. rm -f "$tmpreadme1"
  13. rm -f "$tmpreadme2"
  14. }
  15. trap CleanExit 0 1
  16. insertTable () {
  17. searchstr="$1"
  18. basefile="$2"
  19. tableline=$( grep -n "$searchstr" "$basefile" | cut -d: -f1)
  20. head -n $(( tableline - 1 )) "$basefile" > "$tmpreadme1"
  21. echo -e "$table" >> "$tmpreadme1"
  22. tail -n +$(( tableline + 1 )) "$basefile" >> "$tmpreadme1"
  23. mv "$tmpreadme1" "$tmpreadme2"
  24. }
  25. ## Generate YouTube Video Table
  26. unset table
  27. nVideos=$( jq '.youtube | length' "$appinfo")
  28. for vid in $(seq 0 $(( nVideos - 1 ))); do
  29. info=$( jq ".youtube[$vid]" "$appinfo" )
  30. # Get Video ID
  31. ID=$( echo "$info" | jq '.ID' | tr -d '"' )
  32. # Channel Info
  33. ChID=$( echo "$info" | jq '.Channel' )
  34. ChTitle=$( jq ".channels[] | select(.ID==${ChID}) | .Title" "$appinfo" | tr -d '"' )
  35. ChURL=$( jq ".channels[] | select(.ID==${ChID}) | .URL" "$appinfo" | tr -d '"' )
  36. ChIcon="https://pi-hosted.com/images/${ChID:1:-1}-logo.png"
  37. # Get Video URL
  38. URL=$( echo "$info" | jq '.URL' | tr -d '"' )
  39. # Get Video Title
  40. TITLE=$( echo "$info" | jq '.Title' | tr -d '"' )
  41. # Get Video Documentation
  42. Doc=$( echo "$info" | jq '.Doc' | tr -d '"' )
  43. if [ "$Doc" != "null" ] ; then
  44. DocMD="[Install Doc]($Docs$Doc)"
  45. else
  46. unset DocMD
  47. fi
  48. line="|$ID|[![$ChTitle]($ChIcon \"$ChTitle\")]($ChURL)|[$TITLE]($URL)|$DocMD|"
  49. if [ "$vid" == "0" ] ; then
  50. table=$line
  51. else
  52. table=$( echo -e "$table\n$line")
  53. fi
  54. done
  55. insertTable '<<<<< YOUTUBE TABLE HERE >>>>>' "$README_TEMPLATE"
  56. cp -f "$tmpreadme2" "$README"