code: function parse(content, contArr, note, sAttrs) {
  
      contArr = contArr.map(function(v) {
          return '<div class="subSlide">' + contentParser(v) + '</div>';
      });
      if (content.trim() === '') {
          //空的，证明全部是subslide
          content = contArr.join(EOL);
      } else {
          content = contentParser(content);
          content = content.replace(M_SUB_SILDE_PLACEHOLDER, contArr.join(EOL));
      }
      //处理备注的内容
      if (note && note.length > 3) {
          note = ['<aside class="note">', '<section>', note, '</section>', '</aside>'].join(EOL);
      } else {
          note = '';
      }
      var tagStart = '<slide class="slide' + (note ? ' hasnote' : '') + '">';
  
      //处理[slide]的属性
      if (sAttrs) {
          var cls = sAttrs.match(/class=['"]?([^'"]+)['"]?/);
          if (cls) {
              cls = cls[1] + ' slide';
              sAttrs = sAttrs.replace(cls[0], '');
          } else {
              cls = 'slide';
          }
          if (/background/.test(sAttrs) && !/background-/.test(sAttrs) || /background-image/.test(sAttrs)) {
              cls += ' fill';
          }
          tagStart = '<slide class="' + cls + '" ' + sAttrs + '>';
          // console.log(tagStart);
      }
      return tagStart + note + '<section class="slide-wrapper">' + content + '</section></slide>';
  }
docs: 解析 slide内容
  @param  {Array} contArr   [description]
  @param  {[type]} note  [description]
  @param  {[type]} sAttrs 头部属性
  @return {[type]}       [description]