diff --git a/.gitignore b/.gitignore index ac285ce..4be5d50 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ config.cfg +lighttpd-fsfe.conf diff --git a/build-single.sh b/build-single.sh deleted file mode 120000 index 8e6b68a..0000000 --- a/build-single.sh +++ /dev/null @@ -1 +0,0 @@ -/home/max/Dokumente/Selfcoded/build-single.sh \ No newline at end of file diff --git a/fsfe-preview.sh b/fsfe-preview.sh new file mode 100755 index 0000000..14bad23 --- /dev/null +++ b/fsfe-preview.sh @@ -0,0 +1,91 @@ +#!/bin/bash + +ROOT=$(dirname "$(readlink -f "$0")") +if [ ! -e "$ROOT"/config.cfg ]; then echo "Missing config.cfg file. Edit and rename config.cfg.sample"; exit 1; fi +source "$ROOT"/config.cfg + +# XMLLINT test +# Alles in args, selbst erkennen ob build +# Webserver und Path nur anzeigen bei XHTML +# CONFIG file + + +if [ "$1" = "" ]; then + self=$(basename $0) + echo "No parameters or variables given!" + echo + echo "Usage: " + echo + echo "$self file.en.xhtml" + echo " -- build single XHTML file from your source to the local web directory" + echo " the destination will be on the same relative level of the selected XHTML file" + echo " If not a XHTML file, it will be copied to the web directory" + echo + echo "$self --copy picture.png look/style.css" + echo " -- Just copies several files to the local web directory without even trying to build them" + exit 0 +fi + +if [ "$1" = "--copy" ]; then + numargs=$(($# - 1)) + echo "[INFO] Starting a plain mass copy with $numargs files..." + for ((i=1; i <= $numargs; i++)); do + SRC_full=$(realpath $2) + DST_full=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_out|") + echo "[INFO] Copying $SRC_full to $DST_full..." + cp -R $SRC_full $DST_full + shift + done + echo "[SUCCESS] Copying finished. Files should be visible via the local webserver now." + exit 0 +fi + +SRC_rel=$1 # e.g. index.en.xhtml +SRC_full=$(realpath $SRC_rel) # Full path to source file + +# CHECK whether the source file is located in LOC_trunk +if [ ! $(echo $SRC_full | grep "$LOC_trunk") ]; then + echo "[ERROR] Given source file is not part of \$LOC_trunk (currently set to \"$LOC_trunk\"). Please only build files which reside in or below this directory. Aborting now." + exit 1 +fi + +# TEST if a DEV SVN directory is used. If yes, copy clean file to this Dir +if [ "$LOC_trunk_dev" != "" ]; then + SRC_full_dev=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_trunk_dev|") + echo "[INFO] A \"dirty\" Development SVN directory ($LOC_trunk_dev) is being used. Copy file from clean SVN directory ($LOC_trunk) to Development directory..." + cp $SRC_full $SRC_full_dev # copy file from clean SVN to dev/dirty SVN + SRC_full=$SRC_full_dev + LOC_trunk=$LOC_trunk_dev +fi + +echo "[INFO] Using file $SRC_full as source..." + +### TRANSFORM XHTML file path +DST_full=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_out|") # replace SVN directory by build/HTTP destination + +### BUILD/COPY FILE depending on file extension +ftype=${SRC_full##*.} # get extension of file +ftype=$(echo "$ftype" | tr '[:upper:]' '[:lower:]') +ftype_build="xhtml" # file types which have to be built +if [[ "$ftype" == @($ftype_build) ]]; then # file type of source has to be built + DST_full=$(echo $DST_full | sed -E "s/$ftype_build/html/") # Replace xhtml by html + echo "[INFO] XHTML file detected. Going to build into $DST_full ..." + $LOC_trunk/build/build_main.sh process_file $SRC_full > $DST_full +else # if not built, just move it + echo "[INFO] File type ($ftype) is detected as not to be built. Just copying it to $DST_full ..." + cp $SRC_full $DST_full +fi + + +### START WEBSERVER if necessary +if [ ! $(pgrep lighttpd) ]; then + echo "[INFO] Starting webserver" + /usr/sbin/lighttpd -f $HTTPDST_conf +else + echo "[INFO] Webserver already seems to be running." +fi + +### SHOW RESULTS +echo +DST_rel=$(echo $DST_full | sed "s|$LOC_out||") # relative path +echo "[SUCCESS] Finished. File can be viewed at http://localhost:5080$DST_rel" diff --git a/lighttpd-fsfe.conf b/lighttpd-fsfe.conf.sample similarity index 84% rename from lighttpd-fsfe.conf rename to lighttpd-fsfe.conf.sample index 6ee6591..77a9b48 100644 --- a/lighttpd-fsfe.conf +++ b/lighttpd-fsfe.conf.sample @@ -5,7 +5,7 @@ $HTTP["remoteip"] !~ "127.0.0.1" { # change port and document-root accordingly server.port = 5080 -server.document-root = "/home/max/subversion/fsfe/local-build/fsfe.org" +server.document-root = "/home/USER/subversion/fsfe/local-build/fsfe.org" server.errorlog = "/dev/stdout" server.dir-listing = "enable" dir-listing.encoding = "utf-8"