You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- #!/bin/bash
- set -eo pipefail
-
-
- if [[ ! "${HEAD}" -gt "1" ]]; then
- HEAD="1"
- fi
-
- FINAL_PAGE="$(find -P ${HOME}/Projects/Website | grep 'index.html' | tail -1)"
-
- if [[ ${1} = 'regen' ]] || [[ ${1} = '--regen' ]]; then
- PAGE=$(find -P ${HOME}/Projects/Website | grep 'index.html' | head -${HEAD} | tail -1)
-
- PAGE_TITLE="$(cat ${PAGE} | head -1 | sed -e 's|<!-- ||; s| -->||')"
- PAGE_HTML="$(cat ${PAGE} | head -2 | tail -1 | sed -e 's|<!-- ||; s| -->||')"
- PAGE_CSS="$(cat ${PAGE} | head -3 | tail -1 | sed -e 's|<!-- ||; s| -->||')"
- PAGE_FAVICON="$(cat ${PAGE} | head -4 | tail -1 | sed -e 's|<!-- ||; s| -->||')"
- PAGE_CONTENT_FILE="$(cat ${PAGE} | head -5 | tail -1 | sed -e 's|<!-- ||; s| -->||')"
- PAGE_CONTENT="$(pandoc --from markdown --to html ${PAGE_CONTENT_FILE} | sed -e 's|/\">|/\" target=\"_blank\">|g; s|.png\">|.png\" target=\"_blank\">|g')"
- DESTINATION_DIR="$(echo ${PAGE} | sed -e 's|index.html||')"
- fi
-
- if [[ ! -z "${1}" ]] && [[ ! -z "${2}" ]] && [[ ! -z "${3}" ]] && [[ ! -z "${4}" ]] && [[ ! -z "${5}" ]] && [[ ! -z "${6}" ]]; then
- PAGE_TITLE="${1}"
- PAGE_HTML="${2}"
- PAGE_CSS="${3}"
- PAGE_FAVICON="${4}"
- PAGE_CONTENT="$(pandoc --from markdown --to html ${5} | sed -e 's|/\">|/\" target=\"_blank\">|g; s|.png\">|.png\" target=\"_blank\">|g')"
- PAGE_CONTENT_FILE="${5}"
- DESTINATION_DIR="${6}"
- fi
-
- if [[ ! -z ${PAGE_TITLE} ]] && [[ ! -z ${PAGE_CONTENT} ]] && [[ ! -z ${PAGE_CONTENT_FILE} ]] && [[ ! -z ${DESTINATION_DIR} ]]; then
- if [[ ! -d "${DESTINATION_DIR}" ]]; then
- mkdir -p "${DESTINATION_DIR}"
- fi
-
- #PAGE_SEMIFINAL="$(cat ${PAGE_HTML} | sed -e "s|PAGE_TITLE|${PAGE_TITLE}|" | sed -e "s|PAGE_CSS|${PAGE_CSS}|" | sed -e "s|PAGE_FAVICON|${PAGE_FAVICON}|")"
-
- echo -e "<!-- ${PAGE_TITLE} -->\n<!-- ${PAGE_HTML} -->\n<!-- ${PAGE_CSS} -->\n<!-- ${PAGE_FAVICON} -->\n<!-- ${PAGE_CONTENT_FILE} -->\n\n$(cat ${PAGE_HTML} | sed -e "s|PAGE_TITLE|${PAGE_TITLE}|" | sed -e "s|PAGE_CSS|${PAGE_CSS}|" | sed -e "s|PAGE_FAVICON|${PAGE_FAVICON}|" | sed -e 's|\./|/|g')\n\t\t\t${PAGE_CONTENT}\n\t\t</main>\n\t</body>\n</html>" > "${DESTINATION_DIR}/index.html"
- else
- echo -e "USAGE:\n${0}\t[PAGE_TITLE]\t\t[PAGE_HTML (file)]\t[PAGE_CSS (file)]\n\t\t[PAGE_FAVICON (file)]\t[PAGE_CONTENT (file)]\t[DESTINATION_DIR]\n${0}\tregen\n${0}\t--regen\n${0}\tregen\t--continuous\n${0}\t--regen\t--continuous"
- fi
-
- export LAST_PAGE="${PAGE}"
-
- export HEAD="$(( ${HEAD} + 1 ))"
-
- if ([[ ${1} = 'regen' ]] || [[ ${1} = '--regen' ]]) && [[ ! "${LAST_PAGE}" = "${FINAL_PAGE}" ]]; then
- ${0} ${1}
- fi
-
- unset LAST_PAGE
-
- unset HEAD
-
- if [[ ${2} = '--continuous' ]]; then
- sleep 10
- ${0} ${1} ${2}
- fi
|