diff --git a/Makefile b/Makefile index 09ad6c4..ab5200e 100644 --- a/Makefile +++ b/Makefile @@ -32,19 +32,14 @@ help: @echo ' ' @echo 'Usage: ' @echo ' make html (re)generate the web site ' - @echo ' make clean remove the generated files ' - @echo ' make regenerate regenerate files upon modification ' - @echo ' make publish generate using production settings ' - @echo ' make serve [PORT=8000] serve site at http://localhost:8000' - @echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 ' @echo ' make devserver [PORT=8000] serve and regenerate together ' - @echo ' make ssh_upload upload the web site via SSH ' - @echo ' make rsync_upload upload the web site via rsync+ssh ' + @echo ' make print generate the HTML and PDF files ' @echo ' ' @echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html ' @echo 'Set the RELATIVE variable to 1 to enable relative urls ' @echo ' ' +# Make on the server html: @echo '----------------' "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) @@ -52,40 +47,27 @@ html: python3 rss-to-ap/rss-to-ap.py @echo '----------------' -clean: - [ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)" +# Work-in-process mode +devserver: + "$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -regenerate: - "$(PELICAN)" -r "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) +# Print +md=$(wildcard print/*.md) +md2html=$(md:%.md=%.html) +md2pdf=$(md:%.md=%.pdf) -serve: - "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) +%.html: %.md + pandoc --from markdown --to html -c themes/basic/static/css/print.css $< -o $@ -serve-global: - "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b $(SERVER) +%.pdf: %.md themes/basic/static/css/print.css + pandoc --pdf-engine=weasyprint -c themes/basic/static/css/print.css $< -o $@ + +print: $(md2html) $(md2pdf) -devserver: - "$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -devserver-global: - $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -b 0.0.0.0 -publish: - "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS) -.PHONY: html help clean regenerate serve serve-global devserver publish -# Print -md=$(wildcard content/Essays/*.md) $(wildcard content/pages/*.md) -md2pdf=$(md:%.md=%.pdf) -%.pdf: %.md themes/basic/static/css/print.css -# pandoc -f markdown -t html -c themes/basic/static/css/print.css $< -o $@.html - pandoc --pdf-engine=weasyprint -c themes/basic/static/css/print.css $< -o $@ -print: $(md2pdf) -# $(shell mv content/Essays/*.html content/print/) - $(shell mv content/Essays/*.pdf content/print/) - $(shell mv content/pages/*.html content/print/) - $(shell mv content/pages/*.pdf content/print/)