12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/usr/bin/env bash
- #
- # mfdoc
- #
- # Start Jekyll in watch mode to work on Marlin Documentation and preview locally
- #
-
- [[ $# == 0 ]] || { echo "usage: `basename $0`" 1>&2 ; exit 1; }
-
- MFINFO=$(mfinfo "$@") || exit 1
- IFS=' ' read -a INFO <<< "$MFINFO"
- ORG=${INFO[0]}
- REPO=${INFO[2]}
- BRANCH=${INFO[5]}
-
- [[ $ORG == "MarlinFirmware" && $REPO == "MarlinDocumentation" ]] || { echo "Wrong repository." 1>&2; exit 1; }
-
- opensite() {
- which xdg-open >/dev/null && TOOL=xdg-open
- which gnome-open >/dev/null && TOOL=gnome-open
- which open >/dev/null && TOOL=open
- URL="http://127.0.0.1:4000/"
- if [ -z "$OPEN" ]; then
- echo "Can't find a tool to open the URL:"
- echo $URL
- else
- echo "Opening preview site in the browser..."
- "$OPEN" "$URL"
- fi
- }
-
- echo "Previewing MarlinDocumentation..."
-
- bundle exec jekyll serve --watch --incremental | {
- while IFS= read -r line
- do
- [[ $line =~ "Server running" ]] && opensite
- echo "$line"
- done
- }
|