Project

mgd

0.01
No release in over 3 years
Low commit activity in last 3 years
Automated deployment of your Middleman blog to Github Pages
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

= 5.8.4
= 4.2.2
= 0.39.0

Runtime

>= 3.0.0
= 2.1.2
 Project Readme

Build Status Gem Version Dependency Status

What is mgd ?

mgd stands for middleman-github-deploy and is a fork of jgd.

mgd will automatically build your Middleman blog and push it to your gh-pages branch (or any other branch of your choice).

Installation and Usage

It is assumed that your blog is in the home directory of your repo.

Install it first:

gem install mgd

Run it locally:

mgd

Now your site is deployed to gh-pages branch of your repo. Done.

PS. You can also specify target branch, with is gh-pages by default. Use --branch command line option.

Ruby ad rubygems versions

Everything should work fine with ruby > 2.0.

There is a bug with rubygems (rubygems/rubygems#1420), so if you're getting error like this:

$ mgd
/Users/user/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/specification.rb:2158:in `method_missing': undefined method `this' for #<Gem::Specification:0x3fc9e849c75c trollop-2.1.2> (NoMethodError)
        from /Users/user/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/specification.rb:1057:in `find_active_stub_by_path'
        from /Users/user/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:64:in `require'
        from /Users/user/.rvm/gems/ruby-2.3.1@gemset/gems/mgd-0.1.0/bin/mgd:4:in `<top (required)>'
        from /Users/user/.rvm/gems/ruby-2.3.1@gemset/bin/mgd:23:in `load'
        from /Users/user/.rvm/gems/ruby-2.3.1@gemset/bin/mgd:23:in `<main>'
        from /Users/user/.rvm/gems/ruby-2.3.1@gemset/bin/ruby_executable_hooks:15:in `eval'
        from /Users/user/.rvm/gems/ruby-2.3.1@gemset/bin/ruby_executable_hooks:15:in `<main>'

check what is your gem version, should be higher than 2.6.3:

$ gem --version

you can update it via:

$ gem update --system  # you might need to be an administrator or root

Deploying with Travis

This is how you might configure your blog to be deployed automatically by travis-ci:

branches:
  only:
    - master
env:
  global:
    - secure: ...
install:
  - bundle
script: mgd -u http://yourname:$PASSWORD@github.com/yourname/blog.git

The environment variable $PASSWORD is set through env/global/secure, as explained here.

Don't forget to add gem require 'mgd' to your Gemfile.

You can use SSH key instead. First, you should encrypt it:

$ travis encrypt-file id_rsa --add

Then, use the URI that starts with git@:

script:
  - mgd -u git@github.com:yourname/blog.git

Read also this article.