{
  "path": "/posts/2015/2015-10-13-python-fabric",
  "site": "at://did:plc:mracrip6qu3vw46nbewg44sm/site.standard.publication/self",
  "tags": [
    "code",
    "python"
  ],
  "$type": "site.standard.document",
  "title": "Python Fabric",
  "updatedAt": "2015-10-13T07:26:00.000Z",
  "publishedAt": "2015-10-13T07:26:00.000Z",
  "textContent": "To help facilitate my blogging workflow, I wanted to go from written to published post quickly. My general workflow for writing a post for [this blog][MyBlog] looks like this:\n\n1. Create a post in _posts\n2. Write the post\n3. Run fab sync\n\nHere is the repo\n\nfab sync is a custom command that uses the magic of [Fabric][Fabric] to stage, commit and push changes in my blog repo to Github. Next, Fabric uses an ssh session in the Python process to connect to the server on which my blog is hosted, pull down the newest changes from the blog repo and finally, build the Jekyll blog so that the changes are immediately reflected on this site.\n\nA nice part about Fabric is it requires relatively little code to accomplish a lot. It also integrates with the system ssh config so you don't need to supply server credentials in yet another place, you can just configure the Fabric env hosts.\n\n[MyBlog]: https://github.com/danielcorin/my-blog\n[Fabric]: http://www.fabfile.org/\n\nHappy automating!",
  "canonicalUrl": "https://www.danielcorin.com/posts/2015/2015-10-13-python-fabric"
}