|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #!/bin/bash
-
- set -e
-
- LIBRARY=/var/www/html/library
-
- WEBSITE=/var/www/html/hugopiratecare
- [ -d $WEBSITE ] || mkdir -p $WEBSITE
-
- WEBSITEPREVIEW=/var/www/html/hugopiratecare/_preview/
- [ -d $WEBSITEPREVIEW ] || mkdir -p $WEBSITEPREVIEW
-
- GIT_URL="https://git.memoryoftheworld.org/PirateCare/Syllabus"
- HUGO_PREVIEW_URL="https://syllabus.pirate.care/_preview/"
-
- GIT_PATH="git"
- HUGO_PATH="hugo"
-
- BRK="krb"
- SAVEIFS=$IFS
-
- TMP_WEBSITE=/tmp/website$RANDOM
- TMP_WEBSITEPREVIEW=/tmp/websitepreview$RANDOM
-
- d=`date`
- CWD=`pwd`
-
- while read oldrev newrev ref
- do
- refs=`$GIT_PATH diff-tree --no-commit-id --name-only $ref`
- IFS=$'\n'
- r=($refs)
-
- for (( i=0; i<${#r[@]}; i++ ))
- do
- if [ ${r[$i]} = "PUBLISH.trigger.md" ]; then
- cd $CWD
- $GIT_PATH clone . $TMP_WEBSITE
- cd $TMP_WEBSITE
- [ -d $WEBSITE ] || mkdir -p $WEBSITE
-
- if [ -d $WEBSITE ]; then
- safe-rm -rf ${WEBSITE}*
- fi
-
- $HUGO_PATH -e gitea -d $WEBSITE > ${TMP_WEBSITE}/last-commit-log.txt
- printf "\n>> $d\n>> `date`" >> ${TMP_WEBSITE}/last-commit-log.txt
- mv ${TMP_WEBSITE}/last-commit-log.txt $WEBSITE
- cd /tmp/
-
- if [ -d $TMP_WEBSITE ]
- then
- safe-rm -rf $TMP_WEBSITE
- fi
- BRK="brk"
- break
- fi
- done
-
- if [ $BRK = "brk" ]; then
- break
- fi
-
- cd $CWD
- refs=`$GIT_PATH show --format="%s" -s`
- IFS=$' '
- r=($refs)
- for (( i=0; i<${#r[@]}; i++ ))
- do
- if [ ${r[$i]} = "!publish!" ]; then
- $GIT_PATH clone . $TMP_WEBSITE
- cd $TMP_WEBSITE
-
- [ -d $WEBSITE ] || mkdir -p $WEBSITE
-
- if [ -d $WEBSITE ]; then
- safe-rm -rf ${WEBSITE}*
- fi
-
- $HUGO_PATH -e gitea -d $WEBSITE > ${TMP_WEBSITE}/last-commit-log.txt
- printf "\n>> $d\n>> `date`" >> ${TMP_WEBSITE}/last-commit-log.txt
- mv $TMP_WEBSITE/last-commit-log.txt $WEBSITE
- cd /tmp/
-
- if [ -d $TMP_WEBSITE ]; then
- safe-rm -rf $TMP_WEBSITE
- fi
-
- break
- fi
- done
- done
-
- cd $CWD
- $GIT_PATH clone . $TMP_WEBSITEPREVIEW
- cd $TMP_WEBSITEPREVIEW
-
- [ -d $WEBSITEPREVIEW ] || mkdir -p $WEBSITEPREVIEW
- [ -d data ] || mkdir -p data
-
- echo 'edit = true' > data/myvars.toml
- echo 'giturl="'${GIT_URL}'"' >> data/myvars.toml
-
- if [ -d $WEBSITEPREVIEW ]; then
- safe-rm -rf $WEBSITEPREVIEW
- fi
-
-
- $HUGO_PATH -e gitea -d $WEBSITEPREVIEW > ${TMP_WEBSITEPREVIEW}/last-commit-log.txt
- printf "\n>> $d\n>> `date`" >> ${TMP_WEBSITEPREVIEW}/last-commit-log.txt
- mv ${TMP_WEBSITEPREVIEW}/last-commit-log.txt $WEBSITEPREVIEW
-
- if [ -d $TMP_WEBSITEPREVIEW ]; then
- safe-rm -rf $TMP_WEBSITEPREVIEW
- fi
-
- ln -sf $LIBRARY $WEBSITE
- ln -sf $LIBRARY $WEBSITEPREVIEW
-
- IFS=$SAVEIFS
|