Mercurial > public > pelican-blog
diff fabfile.py @ 0:c4ec6945bb86
Just ran pelican-quickstart and answered some questions.
Created .hgignore file.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 29 Jan 2014 18:53:45 -0600 |
parents | |
children | 75a003a548c4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fabfile.py Wed Jan 29 18:53:45 2014 -0600 @@ -0,0 +1,60 @@ +from fabric.api import * +import fabric.contrib.project as project +import os + +# Local path configuration (can be absolute or relative to fabfile) +env.deploy_path = 'output' +DEPLOY_PATH = env.deploy_path + +# Remote server configuration +production = 'brian@jaguar:22' +dest_path = '/svr/www/deathofagremmie.com/public' + +# Rackspace Cloud Files configuration settings +env.cloudfiles_username = 'my_rackspace_username' +env.cloudfiles_api_key = 'my_rackspace_api_key' +env.cloudfiles_container = 'my_cloudfiles_container' + + +def clean(): + if os.path.isdir(DEPLOY_PATH): + local('rm -rf {deploy_path}'.format(**env)) + local('mkdir {deploy_path}'.format(**env)) + +def build(): + local('pelican -s pelicanconf.py') + +def rebuild(): + clean() + build() + +def regenerate(): + local('pelican -r -s pelicanconf.py') + +def serve(): + local('cd {deploy_path} && python -m SimpleHTTPServer'.format(**env)) + +def reserve(): + build() + serve() + +def preview(): + local('pelican -s publishconf.py') + +def cf_upload(): + rebuild() + local('cd {deploy_path} && ' + 'swift -v -A https://auth.api.rackspacecloud.com/v1.0 ' + '-U {cloudfiles_username} ' + '-K {cloudfiles_api_key} ' + 'upload -c {cloudfiles_container} .'.format(**env)) + +@hosts(production) +def publish(): + local('pelican -s publishconf.py') + project.rsync_project( + remote_dir=dest_path, + exclude=".DS_Store", + local_dir=DEPLOY_PATH.rstrip('/') + '/', + delete=True + )