forked from github/pelican
Certain configuration options are more useful in production than they are in development. Some examples might be absolute URLs, external analytics service identifiers, Disqus comments, etc. This version of the quickstart script creates two configuration files: one for development and the other for use when publishing. In addition, the related docs have been expanded considerably. Last but not least, the quickstart script will now detect whether there is a project folder associated with the currently active virtualenv (if any) and use it by default.
69 lines
2.2 KiB
Makefile
69 lines
2.2 KiB
Makefile
PELICAN=$pelican
|
|
PELICANOPTS=$pelicanopts
|
|
|
|
BASEDIR=$$(PWD)
|
|
INPUTDIR=$$(BASEDIR)/content
|
|
OUTPUTDIR=$$(BASEDIR)/output
|
|
CONFFILE=$$(BASEDIR)/pelicanconf.py
|
|
PUBLISHCONF=$$(BASEDIR)/publishconf.py
|
|
|
|
FTP_HOST=$ftp_host
|
|
FTP_USER=$ftp_user
|
|
FTP_TARGET_DIR=$ftp_target_dir
|
|
|
|
SSH_HOST=$ssh_host
|
|
SSH_PORT=$ssh_port
|
|
SSH_USER=$ssh_user
|
|
SSH_TARGET_DIR=$ssh_target_dir
|
|
|
|
DROPBOX_DIR=$dropbox_dir
|
|
|
|
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 publish generate using production settings '
|
|
@echo ' ftp_upload upload the web site via FTP '
|
|
@echo ' ssh_upload upload the web site via SSH '
|
|
@echo ' dropbox_upload upload the web site via Dropbox '
|
|
@echo ' rsync_upload upload the web site via rsync/ssh '
|
|
@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)
|
|
|
|
serve:
|
|
cd $$(OUTPUTDIR) && python -m SimpleHTTPServer
|
|
|
|
publish:
|
|
$$(PELICAN) $$(INPUTDIR) -o $$(OUTPUTDIR) -s $$(PUBLISHCONF) $$(PELICANOPTS)
|
|
|
|
dropbox_upload: publish
|
|
cp -r $$(OUTPUTDIR)/* $$(DROPBOX_DIR)
|
|
|
|
ssh_upload: publish
|
|
scp -P $$(SSH_PORT) -r $$(OUTPUTDIR)/* $$(SSH_USER)@$$(SSH_HOST):$$(SSH_TARGET_DIR)
|
|
|
|
rsync_upload: publish
|
|
rsync -e "ssh -p $(SSH_PORT)" -P -rvz --delete $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
|
|
|
|
ftp_upload: publish
|
|
lftp ftp://$$(FTP_USER)@$$(FTP_HOST) -e "mirror -R $$(OUTPUTDIR) $$(FTP_TARGET_DIR) ; quit"
|
|
|
|
github: publish
|
|
ghp-import $$(OUTPUTDIR)
|
|
git push origin gh-pages
|
|
|
|
.PHONY: html help clean regenerate serve publish ftp_upload ssh_upload rsync_upload dropbox_upload github
|