Federation progress
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import { resolvePath } from "$sb/lib/resolve.ts";
|
||||
import { assertEquals } from "../../test_deps.ts";
|
||||
|
||||
Deno.test("Test URL resolver", () => {
|
||||
assertEquals(resolvePath("test", "some page"), "some page");
|
||||
assertEquals(
|
||||
resolvePath("!silverbullet.md", "some page"),
|
||||
"!silverbullet.md/some page",
|
||||
);
|
||||
assertEquals(
|
||||
resolvePath("!silverbullet.md/some/deep/path", "some page"),
|
||||
"!silverbullet.md/some page",
|
||||
);
|
||||
assertEquals(resolvePath("!bla/bla", "!bla/bla2"), "!bla/bla2");
|
||||
|
||||
assertEquals(
|
||||
resolvePath("!silverbullet.md", "test/image.png", true),
|
||||
"https://silverbullet.md/test/image.png",
|
||||
);
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
export function resolvePath(
|
||||
currentPage: string,
|
||||
pathToResolve: string,
|
||||
fullUrl = false,
|
||||
): string {
|
||||
if (currentPage.startsWith("!") && !pathToResolve.startsWith("!")) {
|
||||
let domainPart = currentPage.split("/")[0];
|
||||
if (fullUrl) {
|
||||
domainPart = domainPart.substring(1);
|
||||
if (domainPart.startsWith("localhost")) {
|
||||
domainPart = "http://" + domainPart;
|
||||
} else {
|
||||
domainPart = "https://" + domainPart;
|
||||
}
|
||||
}
|
||||
return `${domainPart}/${pathToResolve}`;
|
||||
} else {
|
||||
return pathToResolve;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user