#!/usr/bin/env bash playbook_add() { local path path="$(config "$BASHTARD_PLAYBOOK.path" "/var/www/$BASHTARD_PLAYBOOK")" mkdir -p -- "$path" git -C "$path" init git -C "$path" remote add "$(config "$BASHTARD_PLAYBOOK.remote" "origin")" "$(config "$BASHTARD_PLAYBOOK.repository")" playbook_sync } playbook_sync() { local branch local path local remote branch="$(config "$BASHTARD_PLAYBOOK.branch" "master")" path="$(config "$BASHTARD_PLAYBOOK.path" "/var/www/$BASHTARD_PLAYBOOK")" remote="$(config "$BASHTARD_PLAYBOOK.remote" "origin")" git -C "$path" fetch "$remote" "$branch" git -C "$path" reset --hard "$remote/$branch" case "$(config "$BASHTARD_PLAYBOOK.generator")" in hugo) hugo -D # This will generate all the draft content hugo # And this will generate the actual live blog, but won't remove the draft content ;; *) crit "$BASHTARD_PLAYBOOK/sync" "Unsupported generator '$(config "$BASHTARD_PLAYBOOK.generator")'" esac } playbook_del() { rm -fr -- "$(config "$BASHTARD_PLAYBOOK.path" "/var/www/$BASHTARD_PLAYBOOK")" }