Files
ai-course/node_modules/relateurl/lib/relate/relativize.js
KQL ce6aa207e9 fix: 修复图片路径以适配GitHub Pages base path
- 将所有图片路径从绝对路径改为使用 process.env.PUBLIC_URL
- 修复 HomePage.tsx 中所有图片引用
- 修复 CoursePage.tsx 中所有图片引用
- 确保图片在 GitHub Pages 上正确加载

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 09:24:45 +08:00

68 lines
1.0 KiB
JavaScript

"use strict";
var pathUtils = require("../util/path");
/*
Get a path relative to the site path.
*/
function relatePath(absolutePath, siteAbsolutePath)
{
var relativePath = [];
// At this point, it's related to the host/port
var related = true;
var parentIndex = -1;
// Find parents
siteAbsolutePath.forEach( function(siteAbsoluteDir, i)
{
if (related)
{
if (absolutePath[i] !== siteAbsoluteDir)
{
related = false;
}
else
{
parentIndex = i;
}
}
if (!related)
{
// Up one level
relativePath.push("..");
}
});
// Form path
absolutePath.forEach( function(dir, i)
{
if (i > parentIndex)
{
relativePath.push(dir);
}
});
return relativePath;
}
function relativize(urlObj, siteUrlObj, options)
{
if (urlObj.extra.relation.minimumScheme)
{
var pathArray = relatePath(urlObj.path.absolute.array, siteUrlObj.path.absolute.array);
urlObj.path.relative.array = pathArray;
urlObj.path.relative.string = pathUtils.join(pathArray);
}
}
module.exports = relativize;