function matter(input, options) {
  var file = {data: {}, content: input, excerpt: '', orig: input};
  if (input === '') return file;

  file = toFile(input);
  var cached = cache[file.content];

  if (!options) {
    if (cached) {
      file = extend({}, cached);
      file.orig = cached.orig;
      return file;
    }
    cache[file.content] = file;
  }

  return parseMatter(file, options);
}
Takes a string or object with `content` property, extracts
and parses front-matter from the string, then returns an object
with `data`, `content` and other [useful properties](#returned-object).

```js
var matter = require('gray-matter');
console.log(matter('---\ntitle: Home\n---\nOther stuff'));
//=> { data: { title: 'Home'}, content: 'Other stuff' }
```
@param {Object|String} `input` String, or object with `content` string
@param {Object} `options`
@return {Object}
@api public