arudradey's picture
download
raw
1.05 kB
"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;

Xet Storage Details

Size:
1.05 kB
·
Xet hash:
823fc0af1a27e062b92d6ecf2069df09c59c49d52d645e0a4f165c110d42fe15

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.