60 lines
1.9 KiB
Makefile
60 lines
1.9 KiB
Makefile
PY=python
|
|
PELICAN=pelican
|
|
PELICANOPTS=
|
|
|
|
BASEDIR=$(CURDIR)
|
|
INPUTDIR=$(BASEDIR)/content
|
|
OUTPUTDIR=$(BASEDIR)/output
|
|
CONFFILE=$(BASEDIR)/pelicanconf.py
|
|
PUBLISHCONF=$(BASEDIR)/publishconf.py
|
|
|
|
DEBUG=0
|
|
ifeq ($(DEBUG), 1)
|
|
PELICANOPTS += -D
|
|
endif
|
|
|
|
|
|
help:
|
|
@echo 'Makefile for a pelican Web site '
|
|
@echo ' '
|
|
@echo 'Usage: '
|
|
@echo ' make html (re)generate htmls in output dir '
|
|
@echo ' make clean remove generated files '
|
|
@echo ' make regenerate regenerate files upon modification '
|
|
@echo ' make publish generate using production settings '
|
|
@echo ' make devserver start/restart develop_server.sh '
|
|
@echo ' make stopserver stop local server '
|
|
@echo ' make sync push data up to the mothership '
|
|
@echo ' '
|
|
|
|
|
|
html: | clean $(OUTPUTDIR)/index.html
|
|
@echo 'Done'
|
|
|
|
$(OUTPUTDIR)/%.html:
|
|
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
|
|
|
|
clean:
|
|
find $(OUTPUTDIR) -mindepth 1 -delete
|
|
|
|
regenerate: clean
|
|
$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
|
|
|
|
devserver:
|
|
@cgrc -ru pelican apps-misc -- $(PELICAN) -ql --autoreload -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) &>/dev/null &
|
|
@sleep 1 && { cgrc -rcu pelican || echo 'Pelican server is running in the background.'; }
|
|
|
|
stopserver:
|
|
@cgrc -lru pelican | xargs kill
|
|
@echo 'Stopped Pelican server.'
|
|
|
|
publish:
|
|
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
|
|
|
|
sync: publish
|
|
$(BASEDIR)/sync.sh
|
|
|
|
appengine: sync
|
|
|
|
.PHONY: html help clean regenerate serve devserver stopserver publish appengine sync
|