melpa/melpa
2012-01-22 15:30:59 -06:00

81 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
BASEDIR=`dirname $0`
cd ${BASEDIR} || exit 1
function melpa_clear_packages {
echo "*** Clearing the packages folder..."
rm -r packages/*
echo
}
function melpa_build_pkglist {
echo "*** Building all packages..."
emacs --batch -l package-build.el -u dcurtis --eval "(package-build-all)"
echo
}
function melpa_sync {
echo "*** Pushing changes to the server..."
rsync -avz --delete packages html/style.css html/index.html milkbox.net:webapps/melpa/
echo
}
function melpa_generate_html {
echo "*** Building html"
cd html || return 1
erb index.erb > index.md
pandoc --template=template.html --css=style.css -s --mathml -t html --smart index.md > index.html
cd ..
echo
}
function print_usage {
echo "usage: $0 [-h | -?] [clear | build | html | sync]"
}
args=`getopt h $*`
errcode=$?
if [[ "$errcode" > 0 ]]; then
print_usage
exit $errcode
fi
set -- $args
for i; do
case "$i" in
-h | -\?) print_usage
shift
exit
;;
--) shift
break
;;
esac
done
if [[ "$#" == "0" ]]; then
set -- clear build index sync
fi
for i; do
case $i in
clear ) melpa_clear_packages ;;
build ) melpa_build_pkglist ;;
html | index ) melpa_generate_html ;;
sync ) melpa_sync ;;
esac
shift
done
exit 1