@@ -14,10 +14,11 @@ set -eu
1414
1515WORK_DIR=" $( dirname " $( dirname " $( realpath " $0 " ) " ) " ) "
1616
17- CONTAINER=.container
17+ CONTAINER=" ${WORK_DIR} / .container"
1818SYNC_TOOL=_scripts/sh/sync_monitor.sh
1919
20- cmd=" bundle exec jekyll s -l"
20+ cmd=" bundle exec jekyll s"
21+
2122realtime=false
2223docker=false
2324
@@ -37,27 +38,32 @@ _help() {
3738}
3839
3940_cleanup () {
40- if [[ -d _site || -d .jekyll-cache ]]; then
41- jekyll clean
42- fi
43-
44- rm -rf " ${WORK_DIR} /${CONTAINER} "
41+ rm -rf " $CONTAINER "
4542 ps aux | grep fswatch | awk ' {print $2}' | xargs kill -9 > /dev/null 2>&1
4643}
4744
45+ _setup_docker () {
46+ # docker image `jekyll/jekyll` based on Alpine Linux
47+ echo " http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
48+ apk update
49+ apk add yq
50+
51+ chown -R jekyll:jekyll " $CONTAINER "
52+ }
53+
4854_init () {
4955 if [[ -f Gemfile.lock ]]; then
5056 rm -f Gemfile.lock
5157 fi
5258
53- if [[ -d " ${WORK_DIR} / ${ CONTAINER} " ]]; then
54- rm -rf " ${WORK_DIR} / ${ CONTAINER} "
59+ if [[ -d $ CONTAINER ]]; then
60+ rm -rf " $CONTAINER "
5561 fi
5662
57- temp=" $( mktemp -d) "
58- cp -r " $WORK_DIR " /* " $temp "
59- cp -r " ${WORK_DIR} /.git" " $temp "
60- mv " $temp " " ${WORK_DIR} / ${ CONTAINER} "
63+ local temp=" $( mktemp -d) "
64+ cp -r . /* " $temp "
65+ cp -r . /.git " $temp "
66+ mv " $temp " " $CONTAINER "
6167
6268 trap _cleanup INT
6369}
@@ -77,21 +83,8 @@ _check_command() {
7783 fi
7884}
7985
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-
87- main () {
88- _init
89-
90- if $docker ; then
91- _install_tools
92- fi
93-
94- cd " ${WORK_DIR} /${CONTAINER} "
86+ _run () {
87+ cd " $CONTAINER "
9588 bash _scripts/sh/create_pages.sh
9689 bash _scripts/sh/dump_lastmod.sh
9790
@@ -110,16 +103,26 @@ main() {
110103 " $WORK_DIR " | xargs -0 -I {} bash " ./${SYNC_TOOL} " {} " $WORK_DIR " . &
111104 fi
112105
113- if ! $docker ; then
114- cmd+=" -o"
115- else
106+ if $docker ; then
116107 cmd+=" -H 0.0.0.0"
108+ else
109+ cmd+=" -l -o"
117110 fi
118111
119112 echo " \$ $cmd "
120113 eval " $cmd "
121114}
122115
116+ main () {
117+ _init
118+
119+ if $docker ; then
120+ _setup_docker
121+ fi
122+
123+ _run
124+ }
125+
123126while (( $# )) ; do
124127 opt=" $1 "
125128 case $opt in
0 commit comments