#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-# # # Manage website building # # Andrew Stryker # #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-# #-----------------------------------------------------------------------------# # # Configuration # #-----------------------------------------------------------------------------# DEST ?= axs@sdf.org:html SITE_URL ?= https://axs.sdf.org #-----------------------------------------------------------------------------# # # Define user interface # #-----------------------------------------------------------------------------# .PHONY: default help publish build default: build build: .build_sentinel #> publish: build #> Publish site @echo "📰Publishing..." @# rsync options: @# verbose: show each operation @# links: preserve symlinks @# safe-links: ignore symlinks that point outside of tree @# times: preserve modification times @# delete: delete extraneous files, i.e., files on destination @# chmod: set permsions @echo "\t 📡 Copying from public to ${DEST}" @rsync \ --verbose \ --recursive \ --links \ --safe-links \ --times \ --delete \ --cvs-exclude \ --chmod=D755,F644 \ public/ \ ${DEST} @echo "\t 🛡️ Setting permissions" @ssh axs@sdf.org 'mkhomepg -p' @echo "✓ Publising complete" @echo "\nThe site should be available on ${SITE_URL}" #-----------------------------------------------------------------------------# # # Define file interface # #-----------------------------------------------------------------------------# .build_sentinel: $(wildcard content/*/*) @echo "\t 🏗️ Building site" @# We call hugo with two options: @# --cleanDestinationDir, to remove deleted files @# --minify, to compress files my removing extra whitespace hugo --cleanDestinationDir --minify @touch $@ @echo "✓ Building complete" #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#