build: Add support for meta refresh redirects.

This commit is contained in:
Bradley Sepos
2016-04-02 19:41:04 -04:00
parent 6f307a2fd6
commit 5789c21146

View File

@@ -56,7 +56,7 @@ function check_dependencies { # takes 1 argument
# builds document(s) from a single source file
function build_source {
local SOURCE DEST DEST_NAME YAML DOCUMENT_Title DOCUMENT_Project DOCUMENT_Project_URL DOCUMENT_Project_Version DOCUMENT_Language DOCUMENT_Language_Code DOCUMENT_Text_Encoding DOCUMENT_Authors DOCUMENT_Copyright DOCUMENT_License DOCUMENT_License_URL DOCUMENT_Content
local SOURCE DEST DEST_NAME YAML DOCUMENT_Title DOCUMENT_Project DOCUMENT_Project_URL DOCUMENT_Project_Version DOCUMENT_Language DOCUMENT_Language_Code DOCUMENT_Text_Encoding DOCUMENT_Authors DOCUMENT_Copyright DOCUMENT_License DOCUMENT_License_URL DOCUMENT_Redirect_URL DOCUMENT_Content
SOURCE="${1}"
DEST="${SOURCE%.markdown}"
DEST_NAME="${DEST##*/}"
@@ -84,7 +84,11 @@ function build_source {
# convert preprocessed markdown document to html
"${MARKDOWN}" -fdlextra -ffencedcode -ffootnote -fgithubtags "${SOURCE}" > "${DOCUMENT_Content}"
# copy main template
cp "${TEMPLATE_Document}" "${DEST}.html"
if [[ "${DOCUMENT_Redirect_URL:-}" != "" ]]; then
cp "${TEMPLATE_Redirect}" "${DEST}.html"
else
cp "${TEMPLATE_Document}" "${DEST}.html"
fi
# omit header and footer templates from license documents
if [[ "${DEST_NAME}" == "license" ]] || [[ "${DEST_NAME}" == "license-summary" ]]; then
sed -E \
@@ -112,6 +116,7 @@ function build_source {
-e 's|{{[ ]*meta\.license[ ]*}}|'"${DOCUMENT_License:-}"'|g' \
-e 's|{{[ ]*meta\.license-abbr[ ]*}}|'"${DOCUMENT_License_Abbr:-}"'|g' \
-e 's|{{[ ]*meta\.license-url[ ]*}}|'"${DOCUMENT_License_URL:-}"'|g' \
-e 's|{{[ ]*meta\.redirect-url[ ]*}}|'"${DOCUMENT_Redirect_URL:-}"'|g' \
-e 's|{{[ ]*base\.relpath[ ]*}}|'"${BASE_RELPATH:-}"'|g' \
-i .sedbak "${DEST}.html"
# postprocess
@@ -154,6 +159,7 @@ fi
TEMPLATE_Document="${TEMPLATE_DIR}/document.html"
TEMPLATE_Header="${TEMPLATE_DIR}/header.html"
TEMPLATE_Footer="${TEMPLATE_DIR}/footer.html"
TEMPLATE_Redirect="${TEMPLATE_DIR}/redirect.html"
# clean docs dir
mkdir -p "${DOCS_DIR}"