@@ -17,8 +17,9 @@ WORK_DIR="$(dirname "$(dirname "$(realpath "$0")")")"
1717CONTAINER=.container
1818SYNC_TOOL=_scripts/sh/sync_monitor.sh
1919
20- cmd=" bundle exec jekyll s -l -o "
20+ cmd=" bundle exec jekyll s -l"
2121realtime=false
22+ docker=false
2223
2324_help () {
2425 echo " Usage:"
@@ -32,6 +33,7 @@ _help() {
3233 echo " -h, --help Print the help information"
3334 echo " -t, --trace Show the full backtrace when an error occurs"
3435 echo " -r, --realtime Make the modified content updated in real time"
36+ echo " --docker Run within docker"
3537}
3638
3739_cleanup () {
@@ -44,6 +46,9 @@ _cleanup() {
4446}
4547
4648_init () {
49+ if [[ -f Gemfile.lock ]]; then
50+ rm -f Gemfile.lock
51+ fi
4752
4853 if [[ -d " ${WORK_DIR} /${CONTAINER} " ]]; then
4954 rm -rf " ${WORK_DIR} /${CONTAINER} "
@@ -72,9 +77,20 @@ _check_command() {
7277 fi
7378}
7479
80+ _install_tools () {
81+ # docker image `jekyll/jekyll` based on Apline Linux
82+ echo " http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
83+ apk update
84+ apk add yq
85+ }
86+
7587main () {
7688 _init
7789
90+ if $docker ; then
91+ _install_tools
92+ fi
93+
7894 cd " ${WORK_DIR} /${CONTAINER} "
7995 bash _scripts/sh/create_pages.sh
8096 bash _scripts/sh/dump_lastmod.sh
@@ -94,6 +110,12 @@ main() {
94110 " $WORK_DIR " | xargs -0 -I {} bash " ./${SYNC_TOOL} " {} " $WORK_DIR " . &
95111 fi
96112
113+ if ! $docker ; then
114+ cmd+=" -o"
115+ else
116+ cmd+=" -H 0.0.0.0"
117+ fi
118+
97119 echo " \$ $cmd "
98120 eval " $cmd "
99121}
@@ -133,6 +155,10 @@ while (($#)); do
133155 realtime=true
134156 shift
135157 ;;
158+ --docker)
159+ docker=true
160+ shift
161+ ;;
136162 -h | --help)
137163 _help
138164 exit 0
0 commit comments