From ecda49e0b20ad3bd52449356dccf2f8095ecfb70 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 25 Mar 2015 21:49:45 -0700 Subject: Flatten directory structure All content files (*.txt, *.html, *.river) are now in /. I did this to simplify the compilation step, and to make linking easier. I'm still thinking about whether I should move the contents of js/, img/, and lua/ into /, or into an 'assets' folder of some sort. We'll see. --- makefile | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 makefile (limited to 'makefile') diff --git a/makefile b/makefile new file mode 100644 index 0000000..34eda34 --- /dev/null +++ b/makefile @@ -0,0 +1,41 @@ +# Produce HTML & RIVER outputs with pandoc +# Case Duckworth | autocento.me +# inspired by Lincoln Mullen | lincolnmullen.com + +# Define directories, file lists, and options +HTMLs := $(patsubst %.txt,%.html,$(wildcard *.txt)) +HTMopts = --template=.template.html +HTMopts+= --smart --mathml --section-divs +RIVERer = lua/river.lua +RIVERs := $(patsubst %.txt,%.river,$(wildcard *.txt)) +RIVopts = +LOZENGE = js/lozenge.js + +# Do everything +.PHONY: all html river lozenge +all : html river lozenge +html : $(HTMLs) +river : $(RIVERs) +lozenge : $(LOZENGE) + +# Generic rule for HTML targets and Markdown sources +%.html : %.txt + pandoc $< -f markdown -t html5 $(HTMopts) -o $@ + +# Generic rule for RIVER targets and Markdown sources +%.river : %.txt + @echo River-ing $@ + @sed -e '/^---$$/,/^...$$/d'\ + -e "s/[^][A-Za-z0-9\/\"':.-]/ /g" $< |\ + pandoc - -f markdown -t $(RIVERer) $(RIVopts) -o $@ + +$(LOZENGE) : $(HTMLs) + @echo "Updating lozenge.js..." + @list=`ls *.html |\ + sed -e 's,../,,g' |\ + tr '\n' ' ' |\ + sed -e 's/\(\S\+.html\) /"\1",/g'\ + -e 's/^\(.*\),$$/var files=[\1]/'` &&\ + sed -i "s/var files=.*/$$list/" $(LOZENGE) +# TODO: add compiling hapax +# TODO: add first line compiler -- cgit 1.4.1-21-gabe81