code: function substitute (data, source) {
    var inside
    var out = []
    source.split('\n').forEach(function (line) {
      var match
      if (inside) {
        match = (new RegExp('<!--\\s+END\\s+(' + inside + ')\\s+-->')).exec(line)
        if (match) {
          out.push('<!-- START ' + inside + ' -->\n\n' + data[inside] + '\n\n<!-- END ' + inside + ' -->')
          inside = null
        }
      } else {
        match = /<!--\s+START\s+(\w+)\s+-->/.exec(line)
        if (match && data[match[1]]) {
          inside = match[1]
        } else {
          out.push(line)
        }
      }
    })
    return out.join('\n')
  }
docs: Substitute each START / END pattern in source
  
  Search for `<!-- START Key -->.*<!-- END Key -->` and
  substitute `.*` by the source in data[Key]
  
  Useful in markdown content to replace some generated parts
  
  @param  {Object} data
  Value for substitution
  
  @param  {String} source
  Source where to search pattern
  
  @return {String} Resulting source