// Exports// =============================================================================export const config = {matcher: ['/preview/(index.html)?'],};// Rewrite rules shared with local server configurationsexport const rewriteRules = [// Replace CDN URLs with local paths{match: /https?.*\/CHANGELOG.md/g,replace: '/CHANGELOG.md',},{// CDN versioned default// Ex1: //cdn.com/package-name// Ex2: http://cdn.com/package-name@1.0.0// Ex3: https://cdn.com/package-name@latestmatch: /(?:https?:)*\/\/.*cdn.*docsify[@\d.latest]*(?=["'])/g,replace: '/dist/docsify.min.js',},{// CDN paths to local paths// Ex1: //cdn.com/package-name/path/file.js => /path/file.js// Ex2: http://cdn.com/package-name@1.0.0/dist/file.js => /dist/file.js// Ex3: https://cdn.com/package-name@latest/dist/file.js => /dist/file.jsmatch: /(?:https?:)*\/\/.*cdn.*docsify[@\d.latest]*\/(?:dist\/)/g,replace: '/dist/',},];// Serve virtual /preview/index.html// Note: See vercel.json for preview routing configuration// 1. Fetch index.html from /docs/ directory// 2. Replace CDN URLs with local paths (see rewriteRules)// 3. Return preview HTMLexport default async function middleware(request) {const { origin } = new URL(request.url);const indexURL = `${origin}/docs/index.html`;const indexHTML = await fetch(indexURL).then(res => res.text());const previewHTML = rewriteRules.reduce((html, rule) => html.replace(rule.match, rule.replace),indexHTML,);return new Response(previewHTML, {status: 200,headers: {'content-type': 'text/html','x-robots-tag': 'noindex',},});}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型