#!/bin/bash # # Copies a html file without its sorting prefix and extension, placing it in its # own directory and naming it as an index file if necessary # # Copyright (C) 2013 Mike Gerwitz # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ## sstrip() { base="$( basename "$1" )" a="${base#??-}" echo "${1%/*}/${a%.*}" } [ -n "$2" ] || { echo "Usage: $0 src dest" >&2 exit 64 } dest="$( sstrip "$2" )" # if there is a src directory matching the stripped src name, then we shall # place the destination file in a subdirectory of that name; this both solves # the problem of naming conflicts and maintains the illusion of url rewriting # using only the filesystem [ -d "$( sstrip "$1" )" ] \ && dest="$dest/index.html" dir="${dest%/*}" ( test -d "$dir" || mkdir -p "$dir" ) \ && cp -v "$1" "$dest"