aboutsummaryrefslogtreecommitdiff
path: root/buildroot/share/git/mfdoc
diff options
context:
space:
mode:
Diffstat (limited to 'buildroot/share/git/mfdoc')
-rw-r--r--buildroot/share/git/mfdoc38
1 files changed, 38 insertions, 0 deletions
diff --git a/buildroot/share/git/mfdoc b/buildroot/share/git/mfdoc
new file mode 100644
index 0000000..ce21419
--- /dev/null
+++ b/buildroot/share/git/mfdoc
@@ -0,0 +1,38 @@
+#!/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() {
+ URL="http://127.0.0.1:4000/"
+ OPEN=$(echo $(which gnome-open xdg-open open) | awk '{ print $1 }')
+ 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
+}