diff options
Diffstat (limited to '')
-rwxr-xr-x | v2/src/bin/extract | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/v2/src/bin/extract b/v2/src/bin/extract deleted file mode 100755 index 7bbcba7..0000000 --- a/v2/src/bin/extract +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh -set -eu - - -usage() { - cat <<-'EOF' - Usage: - extract -t TYPE FILENAME - extract -h - EOF -} - -help() { - cat <<-'EOF' - - Options: - -t TYPE the type of extraction to perform ("content" or "env") - -h, --help show this message - - FILENAME the name of the input file, also to be used as - URL. - - - Separate the content from the "frontmatter", and emit the - selected one, given the FILENAME. - - - Examples: - - Get the content: - - $ extract -t content src/file.md > src/file.entry-content - - - Get the "frontmatter": - - $ extract -t env src/f.md > src/f.entry-env - EOF -} - - -for flag in "$@"; do - case "$flag" in - --) - break - ;; - --help) - usage - help - exit - ;; - *) - ;; - esac -done - -TYPE='' -while getopts 't:h' flag; do - case "$flag" in - t) - TYPE="$OPTARG" - ;; - h) - usage - help - exit - ;; - *) - usage >&2 - exit 2 - ;; - esac -done -shift $((OPTIND - 1)) - - -FILENAME="${1:-}" -eval "$(assert-arg "$FILENAME" 'FILENAME')" -eval "$(assert-arg "$TYPE" '-t TYPE')" - - -case "$TYPE" in - content) - . "${FILENAME%.md}.entry-env" - printf '%s\n' "$PREAMBLE" - awk ' - separator >= 2 - /^---$/ { separator++ } - ' "$FILENAME" - ;; - env) - cat src/development/config.env - awk ' - /^---$/ { - if (++separator > 1) { - exit - } else { - next - } - } - - { print } - ' "$FILENAME" - printf "FILENAME='%s'\n" "$FILENAME" - cat <<-'REAL_EOF' - TITLE="${TITLE:-$SITE_NAME}" - - URI_TITLE="$(printf '%s' "$TITLE" | uri)" - - URL="$( - printf '%s' "$FILENAME" | - sed \ - -e 's|^src/content/||' \ - -e 's|md$|html|' - )" - - PREAMBLE="$(cat <<EOF - # $TITLE - - <p class="timestamp"> - Posted on <time datetime="$DATE">$(LANG="$LANGUAGE" date -d "$DATE" "$DATE_FMT")</time> - </p> - EOF - )" - REAL_EOF - ;; - *) - printf 'Bad value for TYPE: "%s".\n\n' \ - "$TYPE" >&2 - usage >&2 - exit 2 - ;; -esac |