initial commit with stuff from arise
Some checks are pending
Deploy Arise to html branch / Deploy Arise (push) Waiting to run
Some checks are pending
Deploy Arise to html branch / Deploy Arise (push) Waiting to run
This commit is contained in:
commit
0faf445b39
62 changed files with 3401 additions and 0 deletions
96
lib/functions/inline/get_page_metadata.sh
Normal file
96
lib/functions/inline/get_page_metadata.sh
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
#!/bin/bash
|
||||
#############
|
||||
# DESCRIPTION
|
||||
#############
|
||||
# Pulls all the Arise-specific metadata from the header of a given page.
|
||||
#
|
||||
# This function is meant to be run inline before other functions so that it can populate the information other functions need to operate upon.
|
||||
#
|
||||
#############
|
||||
# Usage:
|
||||
# get_page_metadata source.md
|
||||
|
||||
get_page_metadata() {
|
||||
if [[ -e $1 ]]; then
|
||||
metadata=$(sed -e '/END ARISE/,$d' < $1)
|
||||
|
||||
# Main page metadata
|
||||
title="$(grep "Title::" <<< $metadata)" # Grab the line with the metadata we want
|
||||
title="${title%\"}" # Remove the trailing quote at the end
|
||||
title="${title#Title:: }" # Remove the name of the metadata variable from the start
|
||||
title="${title#\"}" # Remove the quote at the start of the parsed variable
|
||||
|
||||
author="$(grep "Author::" <<< $metadata)"
|
||||
author="${author%\"}"
|
||||
author="${author#Author:: }"
|
||||
author="${author#\"}"
|
||||
|
||||
description="$(grep "Description::" <<< $metadata)"
|
||||
description="${description%\"}"
|
||||
description="${description#Description:: }"
|
||||
description="${description#\"}"
|
||||
|
||||
language="$(grep "Language::" <<< $metadata)"
|
||||
language="${language%\"}"
|
||||
language="${language#Language:: }"
|
||||
language="${language#\"}"
|
||||
|
||||
thumbnail="$(grep "Thumbnail::" <<< $metadata)"
|
||||
thumbnail="${thumbnail%\"}"
|
||||
thumbnail="${thumbnail#Thumbnail:: }"
|
||||
thumbnail="${thumbnail#\"}"
|
||||
|
||||
published_date="$(grep "Published Date::" <<< $metadata)"
|
||||
published_date="${published_date%\"}"
|
||||
published_date="${published_date#Published Date:: }"
|
||||
published_date="${published_date#\"}"
|
||||
|
||||
modified_date="$(grep "Modified Date::" <<< $metadata)"
|
||||
modified_date="${modified_date%\"}"
|
||||
modified_date="${modified_date#Modified Date:: }"
|
||||
modified_date="${modified_date#\"}"
|
||||
|
||||
# Clean metadata of XML special characters so we don't break the sitemap or RSS feed
|
||||
title="$(clean_xml_string "$title")"
|
||||
author="$(clean_xml_string "$author")"
|
||||
description="$(clean_xml_string "$description")"
|
||||
language="$(clean_xml_string "$language")"
|
||||
thumbnail="$(clean_xml_string "$thumbnail")"
|
||||
published_date="$(clean_xml_string "$published_date")"
|
||||
modified_date="$(clean_xml_string "$modified_date")"
|
||||
|
||||
# Optional page settings with default settings
|
||||
|
||||
# is_toc default: false
|
||||
is_toc=$(grep "toc::" <<< $metadata | cut -d '"' -f2)
|
||||
if [[ $is_toc != "true" ]]; then
|
||||
is_toc="false"
|
||||
fi
|
||||
|
||||
# process_markdown default: true
|
||||
process_markdown=$(grep "process_markdown::" <<< $metadata | cut -d '"' -f2)
|
||||
if [[ $process_markdown != "false" ]]; then
|
||||
process_markdown="true"
|
||||
fi
|
||||
|
||||
# content_header default: true
|
||||
content_header=$(grep "content_header::" <<< $metadata | cut -d '"' -f2)
|
||||
if [[ $content_header != "false" ]]; then
|
||||
content_header="true"
|
||||
fi
|
||||
|
||||
# rss_hide default: false
|
||||
rss_hide=$(grep "rss_hide::" <<< $metadata | cut -d '"' -f2)
|
||||
if [[ $rss_hide != "true" ]]; then
|
||||
rss_hide="false"
|
||||
fi
|
||||
|
||||
# URL
|
||||
relative_url="$(realpath $(dirname $1) | sed 's@.*arise-out@@g')"'/'
|
||||
canonical_url="$base_url""$relative_url"
|
||||
else
|
||||
# Clear out metadata so that anything calling this function expecting to get new data cannot get old values on accident if the requested file does not exist.
|
||||
clear_metadata
|
||||
fi
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue