#!/bin/sh set -eu . src/development/lib.sh usage() { cat <<-'EOF' Usage: frontmatter-env.sh < STDIN frontmatter-env.sh -h EOF } help() { cat <<-'EOF' Options: -h, --help Examples: FIXME: $ FIXME EOF } for flag in "$@"; do case "$flag" in --) break ;; --help) usage help exit ;; *) ;; esac done while getopts 'h' flag; do case "$flag" in h) usage help exit ;; *) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) DELIM="$(uuid)" awk -vDELIM="$DELIM" -vQUOTE="'" -F: ' BEGIN { separator = 0 } /^---$/ { separator++ if (separator > 1) { exit } else { next } } /^$/ { next } { printf "%s=\"$(\n\tcat <<-%s%s%s\n\t\t", $1, QUOTE, DELIM, QUOTE base_index = 1 offset = base_index + length($1) + length(": ") # printf "\t%s\n", substr($0, offset + quote, length($0) - offset - quote) # JEKYLL_COMPAT: quoted titles because of the frontmatter if ($3 != "") { quote = length("\"") printf "%s", substr($0, offset + quote, length($0) - offset - quote) } else { printf "%s", substr($0, offset) } printf "\n\t%s\n)\"\n\n", DELIM } '