beepweb

Source for beep.wimdupont.com.
git clone git://git.beep.wimdupont.com/beepweb.git
Log | Files | Refs | README | LICENSE

generate.sh (1019B)


      1 #!/bin/bash
      2 
      3 shopt -s extglob
      4 
      5 readonly DEST_DIR=/usr/share/nginx/html
      6 readonly REPO_PATH=$(dirname -- "$(readlink -f "${BASH_SOURCE}")")
      7 readonly PAGES_DIR=$REPO_PATH/pages
      8 readonly HEADER_FILE=$PAGES_DIR/header.adoc
      9 readonly FOOTER_FILE=$PAGES_DIR/footer.adoc
     10 
     11 rm -rf $DEST_DIR
     12 mkdir -p $DEST_DIR/stylesheets
     13 
     14 cp $REPO_PATH/main.css $DEST_DIR/stylesheets/
     15 cp $REPO_PATH/favicon.png $DEST_DIR/
     16 cp $REPO_PATH/robots.txt $DEST_DIR/
     17 
     18 get_page_header() {
     19 	declare -r TITLE="${1^}"
     20 	cat $HEADER_FILE | sed "s/{title}/${TITLE}/g"
     21 }
     22 
     23 get_page_footer() {
     24 	cat $FOOTER_FILE
     25 }
     26 
     27 generate_pages() {
     28 	for file in $PAGES_DIR/!(header.adoc|footer.adoc); do
     29 		if [[ -f $file ]]; then
     30 			filename=$(basename "${file}" .adoc)
     31 			get_page_header "$filename" >> "$DEST_DIR/$filename.adoc"
     32 			cat "$file" >> "$DEST_DIR/$filename.adoc"
     33 			get_page_footer >> "$DEST_DIR/$filename.adoc"
     34 			asciidoctor "$DEST_DIR/$filename.adoc"
     35 			rm "$DEST_DIR/$filename.adoc"
     36 		fi
     37 	done
     38 }
     39 
     40 generate_pages
     41 cp -p "$DEST_DIR/home.html" "$DEST_DIR/index.html"