diff options
Diffstat (limited to 'scripts/org-metadata.sh')
-rwxr-xr-x | scripts/org-metadata.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/org-metadata.sh b/scripts/org-metadata.sh new file mode 100755 index 0000000..ff527ee --- /dev/null +++ b/scripts/org-metadata.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Extract ORG metadata + +ORGIN=${1} +LC_TIME="C" + +STUB=$(awk -F': ' '/^#\+SLUG:/ { printf "%s", $2}' ${ORGIN}) +DATE=$(awk -F': ' '/^#\+DATE:/ { printf "%s", $2}' ${ORGIN}) +YEAR=$(echo ${DATE} | awk -F'-' '{ print $1 }') +MONTH=$(echo ${DATE} | awk -F'-' '{ print $2 }') +SLUG="/blog/${YEAR}/${MONTH}/${STUB}" +TITLE=$(awk -F': ' '/^#\+TITLE:/ { printf "%s", $2}' ${ORGIN}) +PREVIEW=$(sed -n \ + '/^#+BEGIN_PREVIEW/,/^#+END_PREVIEW/p' \ + ${ORGIN} \ + | head -n-1 \ + | tail -n+2) +DESCRIPTION=$(awk -F': ' '/^#\+DESCRIPTION:/ { printf "%s", $2}' ${ORGIN}) +TAGS=$(awk -F': ' '/^#\+TAGS:/ { $1 = ""; printf "%s\n", $0}' ${ORGIN}) +LINKS=$(sed -n -e '/^#+LINK:/p' ${ORGIN}) |