{"version":3,"sources":["jsdelivr-header.js","/npm/@qcyblm/vuepress-theme-vpx@1.0.7/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,KAAO,QAAQ,QACf,KAAO,QAAQ,WACf,WAAa,YACb,UAAY,WACZ,UAAY,WACZ,cAAgB,cAyHtB,SAAS,eAAe,EAAQ,EAAK,GACnC,MAAM,EAAW,aAAa,UAC5B,EAAc,EAAO,GACrB,EAAU,EAAY,QACtB,EAAO,EAAY,KAErB,GAAgB,IAAZ,EA8CF,MAAO,SA9CU,CACjB,IAAI,EAAU,GAEd,IAAK,IAAI,EAAI,EAAK,EAAI,EAAO,OAAQ,IAAK,CACxC,IAAI,EAAY,EAAO,GACrB,EAAO,EAAU,KACjB,EAAU,EAAU,QACpB,EAAQ,EAAU,KACpB,GAAI,IAAS,EAAU,MAClB,IACQ,UAAT,GAA8B,SAAV,IACtB,EAAU,GAEd,CAEA,GAAI,EAAS,CACX,MAAM,EAAU,KAAK,SAAS,GAC9B,IAAI,EAAW,GAMf,GAJI,IACF,EAAW,MAAM,QAAQ,GAAW,EAAU,EAAQ,MAGpD,GAAY,EAAS,OAAQ,CAG/B,IAAI,EAAM,OAAO,EAAK,MAAM,KAAK,SAC5B,GAAO,EAAM,GAAK,EAAM,KAC3B,EAAM,GAGR,IAAI,EAAU,GAWd,OAVI,IAAS,UACX,EAAU,eAAe,GAChB,IAAS,WAClB,EAAU,gBAAgB,EAAU,GAC3B,IAAS,UAClB,EAAU,eAAe,EAAU,GApKvB,gBAqKH,IACT,EAAU,kBAAkB,EAAU,IAGjC,eAAe,sCAAyC,SACjE,CACF,CACF,CAGF,CAGA,SAAS,eAAe,GACtB,IAAI,EAAU,GAUd,OATA,EAAS,SAAQ,IACf,IAAI,EAAQ,EAAK,KAAO,EAAK,KAAO,EAAK,KACrC,EAAU,EAAK,QAAU,oBAAsB,EAAK,QAAU,IAAM,GACpE,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GACnE,GAAW,CACT,YAAY,EAAK,gBAAgB,+BAAmC,MACpE,0BAA0B,MAAc,EAAK,WAC7C,UAAU,KAAK,GAAE,IAEd,CACT,CAGA,SAAS,gBAAgB,EAAU,GACjC,IAAI,EAAU,GAgBd,OAfA,EAAS,SAAQ,IACf,IAAI,EAAU,EAAK,QAAU,oBAAsB,EAAK,QAAU,IAAM,GACpE,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GAC/D,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GACnE,GAAW,CACT,YAAY,EAAK,gBAAgB,EAAK,2BAA2B,EAAM,OAAS,EAAM,wDAAwD,MAC9I,IAAG,EAAK,OAAS,aAAe,EAAK,OAAS,qBAAuB,IACrE,yCAC2B,MAAc,EAAK,4DACnB,MAAc,EAAK,yBAE9C,IAAG,EAAK,KAAO,aAAe,EAAK,KAAO,oBAAsB,IAChE,UACA,KAAK,GAAE,IAEJ,CACT,CAGA,SAAS,eAAe,EAAU,GAChC,IAAI,EAAU,GAgBd,OAfA,EAAS,SAAQ,IACf,IAAI,EAAU,EAAK,QAAU,oBAAsB,EAAK,QAAU,IAAM,GACpE,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GAC/D,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GACnE,GAAW,CACT,YAAY,EAAK,gBAAgB,EAAK,2BAA2B,EAAM,OAAS,EAAM,wDAAwD,MAC9I,IAAG,EAAK,OAAS,aAAe,EAAK,OAAS,qBAAuB,IACrE,yCAC2B,MAAc,EAAK,4DACnB,MAAc,EAAK,yBAE9C,IAAG,EAAK,KAAO,aAAe,EAAK,KAAO,oBAAsB,IAChE,UACA,KAAK,GAAE,IAEJ,CACT,CAGA,SAAS,kBAAkB,EAAU,GACnC,IAAI,EAAU,GAqCd,OApCA,EAAS,SAAQ,IACf,IAAI,EAAU,EAAK,QAAU,oBAAsB,EAAK,QAAU,IAAM,GACpE,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GAC/D,EAAY,EAAK,UAAY,SAAW,EAAK,UAAY,IAAM,GAC/D,EAAc,EAAK,YAAc,SAAW,EAAK,YAAc,IAAM,GACrE,EAAgB,EAAK,cAAgB,oBAAsB,EAAK,cAAgB,IAAM,GAC1F,GAAW,iCACe,EAAM,OAAS,EAAM,4DAE9B,EAAK,gBAAgB,EAAK,iDACvB,EAAK,oEAInB,EAAK,MAAQ,EAAK,KAClB,gCAAgC,+BACjB,EAAK,gBAAgB,EAAK,qEACjC,EAAK,KAAO,0BAA0B,MAAc,EAAK,2BAA6B,uBACtF,EAAK,KAAO,0BAA0B,MAAc,EAAK,WAAa,8CAG9E,yBAGA,EAAK,QAAU,EAAK,OACpB,kCAAkC,+BACnB,EAAK,YAAc,EAAK,gBAAgB,EAAK,YAAc,EAAK,qEACvE,EAAK,OAAS,aAAa,EAAK,2BAA6B,uBAC7D,EAAK,OAAS,gBAAgB,MAAgB,EAAK,sDAAwD,6CAGnH,wBACJ,IAIG,CACT,CA/QA,OAAO,QAAU,CAAC,EAAS,KACzB,MAAM,YAAE,EAAW,WAAE,GAAe,EAG9B,EACJ,EAAY,SACT,OACA,KAAK,EAAW,SAAW,EAAY,SAAW,CAAC,GACnD,MAAK,GAAQ,EAAY,QAAQ,GAAM,UAGtC,GAAkD,IAA7B,EAAY,aAEvC,MAAO,CACL,MAAK,KACI,CACL,oBAAqB,EACjB,KAAK,QAAQ,UAAW,mCACxB,KAAK,QAAQ,UAAW,mBAIhC,QAAS,CACP,CAAC,gCAAiC,EAAQ,mBAC1C,mBACA,6BACA,CAAC,YAAa,CACZ,KAAM,OACN,aAAc,CACZ,IAAK,KACL,OAAQ,UAGZ,CAAC,YAAa,CACZ,KAAM,MACN,aAAc,CACZ,IAAK,KACL,OAAQ,SAGZ,CAAC,YAAa,CACZ,KAAM,UACN,aAAc,CACZ,IAAK,KACL,OAAQ,aAGZ,CAAC,YAAa,CACZ,KAAM,SACN,aAAc,CACZ,IAAK,KACL,OAAQ,aAGZ,CAAC,YAAa,CACZ,KAAM,UACN,OAAQ,GAAQ,yCAAyC,EAAO,YAAY,cAAmB,OAC/F,MAAO,IAAM,eACb,aAAc,CACZ,IAAK,OACL,OAAQ,aAGZ,CAAC,YAAa,CACZ,KAAM,SACN,OAAQ,GAAQ,iCAChB,MAAO,IAAM,WAEf,CAAC,YAAa,CACZ,KAAM,UACN,OAAQ,GAAQ,sDAAsD,QACtE,MAAO,WAET,CAAC,YAAa,CACZ,KAAM,QACN,aAAc,KAEhB,CACE,YACA,CACE,KAAM,UACN,OAAQ,CAAC,EAAQ,IACR,eAAe,EAAQ,EAAK,aAIzC,CACE,YACA,CACE,KAAM,WACN,OAAQ,CAAC,EAAQ,IACR,eAAe,EAAQ,EAAK,cAIzC,CACE,YACA,CACE,KAAM,UACN,OAAQ,CAAC,EAAQ,IACR,eAAe,EAAQ,EAAK,aAIzC,CACE,YACA,CACE,KA9GY,cA+GZ,OAAQ,CAAC,EAAQ,IACR,eAAe,EAAQ,EAhHpB,iBAoHhB,CAAC,gBAAiB,IAEtB","file":"/npm/@qcyblm/vuepress-theme-vpx@1.0.7/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@qcyblm/vuepress-theme-vpx@1.0.7/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const path = require('path')\r\nconst yaml = require('js-yaml');\r\nconst CARD_LINKS = 'cardLinks';\r\nconst CARD_LINK = 'cardLink';\r\nconst CARD_LIST = 'cardList';\r\nconst CARD_IMG_LIST = 'cardImgList'\r\n\r\n// Theme API.\r\nmodule.exports = (options, ctx) => {\r\n  const { themeConfig, siteConfig } = ctx\r\n\r\n  // resolve algolia\r\n  const isAlgoliaSearch = (\r\n    themeConfig.algolia\r\n    || Object\r\n      .keys(siteConfig.locales && themeConfig.locales || {})\r\n      .some(base => themeConfig.locales[base].algolia)\r\n  )\r\n\r\n  const enableSmoothScroll = themeConfig.smoothScroll === true\r\n\r\n  return {\r\n    alias() {\r\n      return {\r\n        '@AlgoliaSearchBox': isAlgoliaSearch\r\n          ? path.resolve(__dirname, 'components/AlgoliaSearchBox.vue')\r\n          : path.resolve(__dirname, 'noopModule.js')\r\n      }\r\n    },\r\n\r\n    plugins: [\r\n      ['@vuepress/active-header-links', options.activeHeaderLinks],\r\n      '@vuepress/search',\r\n      '@vuepress/plugin-nprogress',\r\n      ['container', {\r\n        type: 'info',\r\n        defaultTitle: {\r\n          '/': '信息',\r\n          '/en/': 'Info'\r\n        }\r\n      }],\r\n      ['container', {\r\n        type: 'tip',\r\n        defaultTitle: {\r\n          '/': '提示',\r\n          '/en/': 'TIP'\r\n        }\r\n      }],\r\n      ['container', {\r\n        type: 'warning',\r\n        defaultTitle: {\r\n          '/': '注意',\r\n          '/en/': 'WARNING'\r\n        }\r\n      }],\r\n      ['container', {\r\n        type: 'danger',\r\n        defaultTitle: {\r\n          '/': '警告',\r\n          '/en/': 'WARNING'\r\n        }\r\n      }],\r\n      ['container', {\r\n        type: 'details',\r\n        before: info => `<details class=\"custom-block details\">${info ? `<summary>${info}</summary>` : ''}\\n`,\r\n        after: () => '</details>\\n',\r\n        defaultTitle: {\r\n          '/': '点击查看',\r\n          '/en/': 'DETAILS'\r\n        }\r\n      }],\r\n      ['container', {\r\n        type: 'center',\r\n        before: info => `<div class=\"center-container\">`,\r\n        after: () => '</div>'\r\n      }],\r\n      ['container', {\r\n        type: 'theorem',\r\n        before: info => `<div class=\"custom-block theorem\"><p class=\"title\">${info}</p>`,\r\n        after: '</div>'\r\n      }],\r\n      ['container', {\r\n        type: 'right',\r\n        defaultTitle: ''\r\n      }],\r\n      [\r\n        'container',\r\n        {\r\n          type: CARD_LINK,\r\n          render: (tokens, idx) => {\r\n            return renderCardList(tokens, idx, CARD_LINK)\r\n          }\r\n        },\r\n      ],\r\n      [\r\n        'container',\r\n        {\r\n          type: CARD_LINKS,\r\n          render: (tokens, idx) => {\r\n            return renderCardList(tokens, idx, CARD_LINKS)\r\n          }\r\n        },\r\n      ],\r\n      [\r\n        'container',\r\n        {\r\n          type: CARD_LIST,\r\n          render: (tokens, idx) => {\r\n            return renderCardList(tokens, idx, CARD_LIST)\r\n          }\r\n        },\r\n      ],\r\n      [\r\n        'container',\r\n        {\r\n          type: CARD_IMG_LIST,\r\n          render: (tokens, idx) => {\r\n            return renderCardList(tokens, idx, CARD_IMG_LIST)\r\n          }\r\n        },\r\n      ],\r\n      ['smooth-scroll', enableSmoothScroll]\r\n    ]\r\n  }\r\n}\r\n// 渲染md容器的卡片列表\r\nfunction renderCardList(tokens, idx, type) {\r\n  const END_TYPE = `container_${type}_close`,\r\n    _tokens$idx = tokens[idx],\r\n    nesting = _tokens$idx.nesting,\r\n    info = _tokens$idx.info;\r\n\r\n  if (nesting === 1) { // 渲染开头的 ':::' 标记\r\n    let yamlStr = '';\r\n\r\n    for (let i = idx; i < tokens.length; i++) {\r\n      let _tokens$i = tokens[i],\r\n        type = _tokens$i.type,\r\n        content = _tokens$i.content,\r\n        _info = _tokens$i.info;\r\n      if (type === END_TYPE) break; // 遇到结束的 ':::' 时\r\n      if (!content) continue;\r\n      if (type === 'fence' && _info === 'yaml') { // 是代码块类型，并且是yaml代码\r\n        yamlStr = content\r\n      }\r\n    }\r\n\r\n    if (yamlStr) { // 正确解析出yaml字符串后\r\n      const dataObj = yaml.safeLoad(yamlStr) // 将yaml字符串解析成js对象\r\n      let dataList = []\r\n\r\n      if (dataObj) { // 正确解析出数据对象\r\n        dataList = Array.isArray(dataObj) ? dataObj : dataObj.list\r\n      }\r\n\r\n      if (dataList && dataList.length) { // 有列表数据\r\n\r\n        // 每行显示几个\r\n        let row = Number(info.split(' ').pop())\r\n        if (!row || row > 4 || row < 1) {\r\n          row = 3 // 默认 3\r\n        }\r\n\r\n        let listDOM = ''\r\n        if (type === CARD_LINK) { // 普通卡片列表1\r\n          listDOM = getCardLinkDOM(dataList)\r\n        } else if (type === CARD_LINKS) { // 普通卡片列表2\r\n          listDOM = getCardLinksDOM(dataList, row)\r\n        } else if (type === CARD_LIST) { // 普通卡片列表3\r\n          listDOM = getCardListDOM(dataList, row)\r\n        } else if (type === CARD_IMG_LIST) { // 卡片图片列表\r\n          listDOM = getCardImgListDOM(dataList, row)\r\n        }\r\n\r\n        return `<div class=\"${type}Container\"><div class=\"card-list\">${listDOM}</div>`\r\n      }\r\n    }\r\n  } else { // 渲染':::' 结尾\r\n    return '</div>'\r\n  }\r\n}\r\n\r\n// 将数据解析成DOM结构 - 普通卡片列表1\r\nfunction getCardLinkDOM(dataList) {\r\n  let listDOM = ''\r\n  dataList.forEach(item => {\r\n    let title = item.desc ? item.desc : item.link\r\n    let bgColor = item.bgColor ? 'background-color:' + item.bgColor + ';' : ''\r\n    let nameColor = item.nameColor ? 'color:' + item.nameColor + ';' : ''\r\n    listDOM += [\r\n      `<a href=\"${item.link}\" title=\"${title}\" class=\"card-item\" style=\"${bgColor}\">`,\r\n      `<p class=\"name\" style=\"${nameColor}\">${item.name}</p>`,\r\n      `</a>\\n`].join(\"\")\r\n  })\r\n  return listDOM\r\n}\r\n\r\n// 将数据解析成DOM结构 - 普通卡片列表2\r\nfunction getCardLinksDOM(dataList, row) {\r\n  let listDOM = ''\r\n  dataList.forEach(item => {\r\n    let bgColor = item.bgColor ? 'background-color:' + item.bgColor + ';' : ''\r\n    let nameColor = item.nameColor ? 'color:' + item.nameColor + ';' : ''\r\n    let textColor = item.textColor ? 'color:' + item.textColor + ';' : ''\r\n    listDOM += [\r\n      `<a href=\"${item.link}\" title=\"${item.link}\" class=\"card-item  ${row ? 'row-' + row : ''}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"${bgColor}\">`,\r\n      `${item.avatar ? '<img src=\"' + item.avatar + '\" class=\"no-zoom\">' : ''}`,\r\n      `<div>\r\n        <p class=\"name\" style=\"${nameColor}\">${item.name}<OutboundLink /></p>\r\n        <p class=\"desc\" style=\"${textColor}\">${item.desc}</p>\r\n      </div>`,\r\n      `${item.icon ? '<i class=\"' + item.icon + ' fa-lg fa-fw \" />' : ''}`,\r\n      `</a>\\n`\r\n    ].join(\"\")\r\n  })\r\n  return listDOM\r\n}\r\n\r\n// 将数据解析成DOM结构 - 普通卡片列表3\r\nfunction getCardListDOM(dataList, row) {\r\n  let listDOM = ''\r\n  dataList.forEach(item => {\r\n    let bgColor = item.bgColor ? 'background-color:' + item.bgColor + ';' : ''\r\n    let nameColor = item.nameColor ? 'color:' + item.nameColor + ';' : ''\r\n    let textColor = item.textColor ? 'color:' + item.textColor + ';' : ''\r\n    listDOM += [\r\n      `<a href=\"${item.link}\" title=\"${item.link}\" class=\"card-item  ${row ? 'row-' + row : ''}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"${bgColor}\">`,\r\n      `${item.avatar ? '<img src=\"' + item.avatar + '\" class=\"no-zoom\">' : ''}`,\r\n      `<div>\r\n        <p class=\"name\" style=\"${nameColor}\">${item.name}<OutboundLink /></p>\r\n        <p class=\"desc\" style=\"${textColor}\">${item.desc}</p>\r\n      </div>`,\r\n      `${item.icon ? '<i class=\"' + item.icon + ' fa-lg fa-fw \" />' : ''}`,\r\n      `</a>\\n`\r\n    ].join(\"\")\r\n  })\r\n  return listDOM\r\n}\r\n\r\n// 将数据解析成DOM结构 - 图文卡片列表\r\nfunction getCardImgListDOM(dataList, row) {\r\n  let listDOM = ''\r\n  dataList.forEach(item => {\r\n    let bgColor = item.bgColor ? 'background-color:' + item.bgColor + ';' : ''\r\n    let nameColor = item.nameColor ? 'color:' + item.nameColor + ';' : ''\r\n    let textColor = item.textColor ? 'color:' + item.textColor + ';' : ''\r\n    let authorColor = item.authorColor ? 'color:' + item.authorColor + ';' : ''\r\n    let authorbgColor = item.authorbgColor ? 'background-color:' + item.authorbgColor + ';' : ''\r\n    listDOM += `\r\n      <div class=\"card-item ${row ? 'row-' + row : ''}\" >\r\n        <div class=\"box-img\">\r\n          <a href=\"${item.link}\" title=\"${item.link}\" target=\"_blank\">\r\n            <img src=\"${item.img}\" class=\"no-zoom\">\r\n          </a>\r\n        </div>\r\n\r\n        ${item.name || item.desc\r\n        ? `<div class=\"box-info\" style=\"${bgColor}\">\r\n              <a href=\"${item.link}\" title=\"${item.link}\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n                ${item.name ? `<p class=\"name\" style=\"${nameColor}\">${item.name}<OutboundLink /></p>` : ''}\r\n                ${item.desc ? `<p class=\"desc\" style=\"${textColor}\">${item.desc}</p>` : ''}\r\n              </a>\r\n             </div>`\r\n        : ''\r\n      }\r\n        \r\n        ${item.avatar || item.author\r\n        ? `<div class=\"box-footer\" style=\"${authorbgColor}\">\r\n              <a href=\"${item.authorLink || item.link}\" title=\"${item.authorLink || item.link}\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n                ${item.avatar ? `<img src=\"${item.avatar}\" class=\"no-zoom\">` : ''}\r\n                ${item.author ? `<span style=\"${authorColor}\">${item.author}</span><OutboundLink style=\"margin-left: 0\"/>` : ''}\r\n              </a>\r\n            </div>`\r\n        : ''\r\n      }\r\n      </div>\r\n    `\r\n  })\r\n  return listDOM\r\n}"]}