| PY?=python3 |
| PELICAN?=pelican |
| PELICANOPTS=--fatal warnings |
| |
| BASEDIR=$(CURDIR) |
| INPUTDIR=$(BASEDIR)/content |
| OUTPUTDIR=$(BASEDIR)/output |
| CONFFILE=$(BASEDIR)/pelicanconf.py |
| PUBLISHCONF=$(BASEDIR)/publishconf.py |
| LINKCHECK=pylinkvalidate.py |
| |
| DEBUG ?= 0 |
| ifeq ($(DEBUG), 1) |
| PELICANOPTS += -D |
| endif |
| |
| RELATIVE ?= 0 |
| ifeq ($(RELATIVE), 1) |
| PELICANOPTS += --relative-urls |
| endif |
| |
| help: |
| @echo 'Makefile for a pelican Web site ' |
| @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 test Run pylinkvalidate on 127.0.0.1:8000' |
| @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 ' ' |
| |
| html: |
| $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) |
| |
| clean: |
| [ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR) |
| |
| regenerate: |
| $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) |
| |
| serve: |
| ifdef PORT |
| cd $(OUTPUTDIR) && $(PY) -m pelican.server $(PORT) |
| else |
| cd $(OUTPUTDIR) && $(PY) -m pelican.server |
| endif |
| |
| publish: |
| $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS) |
| |
| test: |
| $(LINKCHECK) -P 127.0.0.1:8000 |
| |
| .PHONY: html help clean regenerate serve publish |