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"