6 INPUTDIR
=$(BASEDIR
)/content
7 OUTPUTDIR
=$(BASEDIR
)/output
8 CONFFILE
=$(BASEDIR
)/pelicanconf.py
9 PUBLISHCONF
=$(BASEDIR
)/publishconf.py
18 SSH_TARGET_DIR
=/home
/jude
/pwan.org
20 S3_BUCKET
=my_s3_bucket
22 DROPBOX_DIR
=~
/Dropbox
/Public
/
25 @echo
'Makefile for a pelican Web site '
28 @echo
' make output (re)generate the web site '
29 @echo
' make clean remove the generated files '
30 @echo
' make regenerate regenerate files upon modification '
31 @echo
' make publish generate using production settings '
32 @echo
' make serve serve site at http://localhost:8000'
33 @echo
' make devserver start/restart develop_server.sh '
34 @echo
' make stopserver stop local server '
35 @echo
' ssh_upload upload the web site via SSH '
36 @echo
' rsync_upload upload the web site via rsync+ssh '
37 @echo
' dropbox_upload upload the web site via Dropbox '
38 @echo
' ftp_upload upload the web site via FTP '
39 @echo
' s3_upload upload the web site via S3 '
40 @echo
' github upload the web site via gh-pages '
44 output
: clean $(OUTPUTDIR
)/index.html
$(OUTPUTDIR
)/pages
/resume.pdf
47 $(PELICAN
) $(INPUTDIR
) -o
$(OUTPUTDIR
) -s
$(CONFFILE
) $(PELICANOPTS
)
49 $(OUTPUTDIR
)/pages
/resume.pdf
: $(INPUTDIR
)/pages
/resume.rst
50 /usr
/bin
/rst2pdf
$(INPUTDIR
)/pages
/resume.rst
$(INPUTDIR
)/pages
/resume.pdf
51 cp
$(INPUTDIR
)/pages
/resume.pdf
$(OUTPUTDIR
)/pages
/resume.pdf
54 [ ! -d
$(OUTPUTDIR
) ] || find
$(OUTPUTDIR
) -mindepth
1 -delete
57 $(PELICAN
) -r
$(INPUTDIR
) -o
$(OUTPUTDIR
) -s
$(CONFFILE
) $(PELICANOPTS
)
60 cd
$(OUTPUTDIR
) && $(PY
) -m pelican.server
63 $(BASEDIR
)/develop_server.sh restart
66 kill
-9 `cat pelican.pid`
68 @echo
'Stopped Pelican and SimpleHTTPServer processes running in background.'
70 publish
: pelican_publish
$(OUTPUTDIR
)/pages
/resume.pdf
73 $(PELICAN
) $(INPUTDIR
) -o
$(OUTPUTDIR
) -s
$(PUBLISHCONF
) $(PELICANOPTS
)
76 scp
-P
$(SSH_PORT
) -r
$(OUTPUTDIR
)/* $(SSH_USER
)@
$(SSH_HOST
):$(SSH_TARGET_DIR
)
79 rsync
-e
"/usr/bin/ssh -p $(SSH_PORT)" -P
-rvz
--delete
$(OUTPUTDIR
)/ $(SSH_USER
)@
$(SSH_HOST
):$(SSH_TARGET_DIR
) --cvs-exclude
81 dropbox_upload
: publish
82 cp
-r
$(OUTPUTDIR
)/* $(DROPBOX_DIR
)
85 lftp ftp
://$(FTP_USER
)@
$(FTP_HOST
) -e
"mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
88 s3cmd sync
$(OUTPUTDIR
)/ s3
://$(S3_BUCKET
) --acl-public
--delete-removed
91 ghp-import
$(OUTPUTDIR
)
92 git push
origin gh-pages
94 .PHONY
: output help
clean regenerate serve devserver publish ssh_upload rsync_upload dropbox_upload ftp_upload s3_upload github