21 lines
595 B
JavaScript
21 lines
595 B
JavaScript
|
//@ts-check
|
||
|
|
||
|
import isExternalUrl from "./isExternalUrl.mjs";
|
||
|
import { querySelectorParent } from "./querySelectorAll.mjs";
|
||
|
|
||
|
/**
|
||
|
* Makes sure urls to local pages get passed through the routing system
|
||
|
* @param {HTMLElement} container the element containing links to find
|
||
|
*/
|
||
|
export const rewriteLocalUrls = (container) => {
|
||
|
querySelectorParent(container, "a").forEach((a) => {
|
||
|
const href = a.getAttribute("href");
|
||
|
if (href && !isExternalUrl(href)) {
|
||
|
a.setAttribute("href", "#/" + href.replace(/^\.?\//, ""));
|
||
|
}
|
||
|
});
|
||
|
return container;
|
||
|
};
|
||
|
|
||
|
export default rewriteLocalUrls;
|