12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/bin/sh
- boh_help() {
- printf "Usage: boh COMMAND [arg...]\n"
- printf "\nTransform a bounch of markdown files into html\n"
- printf "\nCommands:\n"
- printf "\tinit\tInitialize a dir with basic tpl\n"
- printf "\tbuild\tBuild the things\n"
- printf "\tserve\tStart python simple httpd in teh dir\n"
- }
- boh_init() {
- mkdir _site _assets _templates
- cat <<EOF > _templates/page.tpl
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>\$title</title>
- </head>
- <body>
- \$body
- </body>
- </html>
- EOF
- }
- boh_serve() {
- cd _site
- python2 -m SimpleHTTPServer
- }
- boh_check() {
- type markdown &> /dev/null || {
- >&2 echo "'markdown' is not installed"
- exit 1
- }
- type envsubst &> /dev/null || {
- >&2 echo "'envsubst' is not installed, install 'gettext' package"
- exit 1
- }
- }
- boh_build() {
- echo "Building all the things..."
- for file in `find . -type f -name "*.md"`; do
- title=`echo $file | rev | cut -d / -f 1 | rev | sed s/.md//`
- body=`cat $file | markdown`
- newpath="./_site/"`echo $file | rev | cut -d . -f 2 | rev`".html"
- mkdir -p "${newpath%/*}"
- export title body
- envsubst < "_templates/page.tpl" > "$newpath"
- unset title body
- done
- cp -R _assets/* _site/
- echo "Yay!"
- }
- boh_check
- case $1 in
- "build")
- boh_build
- ;;
- "init")
- boh_init
- ;;
- "serve")
- boh_serve
- ;;
- *)
- boh_help
- ;;
- esac
|