code: function(file) {
      var data = file.data = parse(file.relative, {locales: options.locales});
  
      // data.locale
      data.locale || (data.locale = options.defaultLocale);
  
      // data.document
      if (~(options.dataExtensions || []).indexOf(data.extname)) {
        data.document = 'data';
      } else if (fm.test(file.contents.toString())) {
        data.document = 'text';
      } else {
        data.document = false;
      }
  
      // data.filepaths
      data.filepaths = [];
      data.filepaths.push(data.locale === options.defaultLocale ? null : data.locale);
      data.filepaths.push.apply(data.filepaths, data.dirnames);
      if (data.document) {
        data.filepaths.push(data.index ? null : data.slug);
        data.filepaths.push('index.html');
      } else {
        data.filepaths.push(data.slug + '.' + data.extname);
      }
      data.filepaths = data.filepaths.filter(function(x) { return x });
  
      // data.filepath
      data.filepath = path.join.apply(path, data.filepaths);
  
      // file.path
      file.path = path.join(file.base, data.filepath);
  
      return file;
    }
docs: init file =========