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 html (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 html
: clean $(OUTPUTDIR
)/index.html
47 $(PELICAN
) $(INPUTDIR
) -o
$(OUTPUTDIR
) -s
$(CONFFILE
) $(PELICANOPTS
)
50 [ ! -d
$(OUTPUTDIR
) ] || find
$(OUTPUTDIR
) -mindepth
1 -delete
53 $(PELICAN
) -r
$(INPUTDIR
) -o
$(OUTPUTDIR
) -s
$(CONFFILE
) $(PELICANOPTS
)
56 cd
$(OUTPUTDIR
) && $(PY
) -m pelican.server
59 $(BASEDIR
)/develop_server.sh restart
62 kill
-9 `cat pelican.pid`
64 @echo
'Stopped Pelican and SimpleHTTPServer processes running in background.'
67 $(PELICAN
) $(INPUTDIR
) -o
$(OUTPUTDIR
) -s
$(PUBLISHCONF
) $(PELICANOPTS
)
70 scp
-P
$(SSH_PORT
) -r
$(OUTPUTDIR
)/* $(SSH_USER
)@
$(SSH_HOST
):$(SSH_TARGET_DIR
)
73 rsync
-e
"ssh -p $(SSH_PORT)" -P
-rvz
--delete
$(OUTPUTDIR
)/ $(SSH_USER
)@
$(SSH_HOST
):$(SSH_TARGET_DIR
) --cvs-exclude
75 dropbox_upload
: publish
76 cp
-r
$(OUTPUTDIR
)/* $(DROPBOX_DIR
)
79 lftp ftp
://$(FTP_USER
)@
$(FTP_HOST
) -e
"mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
82 s3cmd sync
$(OUTPUTDIR
)/ s3
://$(S3_BUCKET
) --acl-public
--delete-removed
85 ghp-import
$(OUTPUTDIR
)
86 git push
origin gh-pages
88 .PHONY
: html help
clean regenerate serve devserver publish ssh_upload rsync_upload dropbox_upload ftp_upload s3_upload github