packages/@vuepress/markdown/lib/tableOfContents.js
function vBindEscape (strs, ...args) {
  return strs.reduce((prev, curr, index) => {
    return prev + curr + (index >= args.length
      ? ''
      : `"${JSON.stringify(args[index])
        .replace(/"/g, "'")
        .replace(/([^\\])(\\\\)*\\'/g, (_, char) => char + '\\u0022')}"`)
  }, '')
}
function vBindEscape (strs, ...args) {
  return strs.reduce((prev, curr, index) => {
    return prev + curr + (index >= args.length
      ? ''
      : `"${JSON.stringify(args[index])
        .replace(/"/g, "'")
        .replace(/([^\\])(\\\\)*\\'/g, (_, char) => char + '\\u0022')}"`)
  }, '')
}
function vBindEscape ( strs , ... args ) { return strs . reduce ( ( prev , curr , index ) => { return prev + curr + ( index >= args . length ? '' : ` ${ JSON . stringify ( args [ index ] ) . replace ( / " / g , "'" ) . replace ( / ([^\\])(\\\\)*\\' / g , ( _ , char ) => char + '\\u0022' ) } ` ) } , '' ) }
escape double quotes in v-bind derivatives
escape double quotes in v - bind derivatives