docs: function parseTemplate(conf, tmpl) {
    // header
    let header = {};
    let cleanTmpl = tmpl.replace(conf.header, (m, headerStr) => {
      header = yaml.safeLoad(headerStr);
      return '';
    });
  
    // dependencies
    const deps = new LayoutDependency();
  
    const masterPath = header[conf.keys.master];
    if (masterPath) {
      deps.master = {
        path: lookupFile(conf, header[conf.keys.master]),
      };
    }
  
    // replace partial call's relative path to full path
    cleanTmpl = cleanTmpl.replace(conf.partial, (m, partialPath) => {
      const fullPath = lookupFile(conf, partialPath);
      deps.partials.set(
        partialPath,
        {
          path: fullPath,
        },
      );
      return m.replace(partialPath, fullPath);
    });
  
    return {
      header,
      deps,
      tmpl: cleanTmpl,
    };
  }