new-ryuslash.org/GNUmakefile

42 lines
1.5 KiB
Makefile

.PHONY: publish deploy html css help theme
help: ## Show this help
@egrep -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
publish: html css ## Build the site and copy it to the staging directory
deploy: ## Deploy the site to live
@[[ -e public/index.html ]] || (echo "Run make publish before deploy" && exit 1)
rsync --rsh="ssh -p 4511" --verbose --checksum --recursive --delete \
--exclude '*~' --exclude '.eldev' --delete-excluded \
public/ ryuslash.org:ryuslash-next/
html:
@echo "Publishing..."
eldev emacs --quick --batch --load publish.el --funcall org-publish-all
css: public/assets/css/main.css public/assets/css/tekuti.css public/assets/css/cgit.css
public/assets/css/main.css public/assets/css/tekuti.css public/assets/css/cgit.css: \
src/less/include/common.less \
src/less/include/components.less \
src/less/include/colors.less
public/assets/css/%.css: src/less/%.less
lessc $< $@
clean: ## Remove all of the build files
@echo "Cleaning up..."
@rm -rvf *.elc
@rm -rvf public
@rm -rvf .org-timestamps
@rm -rvf posts/index.org
serve: ## Run a simple web server to look at the results
@cd public && php -S localhost:8000
theme: ## Generate the theme CSS
eldev emacs --quick --batch --load htmlize --load ox-html \
-eval "(setq org-html-htmlize-output-type 'css)" \
-funcall org-html-htmlize-generate-css \
-eval '(write-file "src/less/yoshi.css")'