#!/bin/sh set -eu usage() { cat <<-'EOF' Usage: url-for FILE url-for -h EOF } help() { cat <<-'EOF' Options: -h, --help show this message FILE the path for the URL to be constructed Build an URL for the given FILE, without the FQDN part, adding the required BASE_URL. Examples: Get the URL for "static/style.css", when BASE_URL is empty: $ url-for 'static/style.css' /static/style.css Get the URL for "static/favicon.svg", when BASE_URL is "v2": $ url-for 'static/favicon.svg' /v2/static/favicon.svg 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)) . src/development/lib.sh FILE="${1:-}" eval "$(assert_arg "$FILE" 'FILE')" . src/lib/base-conf printf '%s%s' "${base_url:-/}" "$FILE"