Files
dualfroz 573bb96204 Resolve result images against an absolute baseUrl
Relative images were resolved against the page URL, but only the
pathname was kept, so with a baseUrl on another domain the image
still loaded from the search site. Keep the origin when the page URL
has one, in the Component UI's resolveUrl filter and in both Default
UI result templates. result_with_subs.svelte didn't resolve images at
all before.

Fixes #573
2026-10-03 01:33:54 +02:00

47 lines
1.7 KiB
TypeScript

export { getInstanceManager, configureInstance } from "./instance-manager";
import { registerFunction } from "adequate-little-templates";
registerFunction("resolveUrl", (url, pageUrl) => {
const s = String(url ?? "");
if (!s || /^[a-z][a-z0-9+.-]*:/i.test(s) || /^\/\//.test(s)) return s;
try {
const resolved = new URL(s, new URL(String(pageUrl ?? "/"), "https://p"));
return resolved.origin === "https://p"
? resolved.pathname + resolved.search + resolved.hash
: resolved.href;
} catch {
return s;
}
});
import "./pagefind-config";
import "./pagefind-input";
import "./pagefind-summary";
import "./pagefind-results";
import "./pagefind-filter-pane";
import "./pagefind-filter-dropdown";
import "./pagefind-modal";
import "./pagefind-modal-trigger";
import "./pagefind-modal-header";
import "./pagefind-modal-body";
import "./pagefind-modal-footer";
import "./pagefind-keyboard-hints";
import "./pagefind-searchbox";
export { PagefindConfig } from "./pagefind-config";
export { PagefindInput } from "./pagefind-input";
export { PagefindSummary } from "./pagefind-summary";
export { PagefindResults } from "./pagefind-results";
export { PagefindFilterPane } from "./pagefind-filter-pane";
export { PagefindFilterDropdown } from "./pagefind-filter-dropdown";
export { PagefindModal } from "./pagefind-modal";
export { PagefindModalTrigger } from "./pagefind-modal-trigger";
export { PagefindModalHeader } from "./pagefind-modal-header";
export { PagefindModalBody } from "./pagefind-modal-body";
export { PagefindModalFooter } from "./pagefind-modal-footer";
export { PagefindKeyboardHints } from "./pagefind-keyboard-hints";
export { PagefindSearchbox } from "./pagefind-searchbox";
export { PagefindElement } from "./base-element";