…with some help from Travis + Middleman & Github
This is just a quick post coming straight from the great service Prose.io. Prose is a “beatifully simple content authoring environment for CMS-free websites” and is very easy to use.
This website is built with Middleman which enables easy development and great blog functionality. It handles the building of a static site and assets, but the deployment of a site can go many different ways.
Prose & Middleman
Most of the documentation you’ll find involves setting up Prose with Jekyll, which after having tested personally is a very smooth process and one I’d recommend if you don’t have a log yet at all. With the site already being a Middleman project, it was not too difficult to integrate it without using any Jekyll special sauce… HEADS UP: Non-jekyll projects use a
_prose.yml rather than within a Jekyll
prose: rooturl: 'source/blog' media: 'source/assets/images' metadata: source/blog: - name: "title" field: element: "text" label: "Title" value: "" - name: "author" field: element: "text" label: "Author" value: "" - name: "tags" field: element: "multiselect" label: "Tags" alterable: true options: - name: 'Tech' value: 'tech' ...
Along comes Travis…
If you’re using a User page on GH Pages with Prose & Jekyll then you’re already finished!
If you’re using another tool (Maybe Gulp? We use Gulp pretty much everywhere else, MM is just great for blogs!) then you’ll need to either manually deploy those changes committed by Prose or get a service/hook to do this for you. We do this with Travis.
language: ruby rvm: - 2.1.2 branches: only: - master before_script: # Anything required by your build process... - npm install -g grunt-cli - npm install -g bower - bower install -f script: # Place your regular build/deploy chain here... - "bundle exec middleman build && bundle exec middleman s3_sync"
_prose.yml will need to be in the root of your repo.
This is far simpler than the alternative of installing Ruby/Git/etc. Now for those who just want to write blog articles, the process can be as simple as:
- Content writer creates blog article
- It’s on the website (in a few mins after Travis build finishes…)
Adding this integration streamlines the process of publishing content for a non-technical member of the team.
Originally published on netengine.com.au