Browse Source

fixed wiki links

master
silberengel 8 months ago
parent
commit
c424ee7beb
  1. 10
      src/lib/utils/markup/asciidoctorPostProcessor.ts
  2. 5
      src/lib/utils/markup/basicMarkupParser.ts
  3. 8
      src/lib/utils/nostrUtils.ts

10
src/lib/utils/markup/asciidoctorPostProcessor.ts

@ -24,9 +24,10 @@ function replaceWikilinks(html: string): string { @@ -24,9 +24,10 @@ function replaceWikilinks(html: string): string {
(_match, target, label) => {
const normalized = normalizeDTag(target.trim());
const display = (label || target).trim();
const url = `./events?d=${normalized}`;
const url = `/events?d=${normalized}`;
// Output as a clickable <a> with the [[display]] format and matching link colors
return `<a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="${normalized}" data-url="${url}" href="${url}">${display}</a>`;
// Use onclick to bypass SvelteKit routing and navigate directly
return `<a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="${normalized}" data-url="${url}" href="${url}" onclick="window.location.href='${url}'; return false;">${display}</a>`;
},
);
}
@ -37,8 +38,9 @@ function replaceWikilinks(html: string): string { @@ -37,8 +38,9 @@ function replaceWikilinks(html: string): string {
function replaceAsciiDocAnchors(html: string): string {
return html.replace(/<a id="([^"]+)"><\/a>/g, (_match, id) => {
const normalized = normalizeDTag(id.trim());
const url = `./events?d=${normalized}`;
return `<a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="${normalized}" data-url="${url}" href="${url}">${id}</a>`;
const url = `/events?d=${normalized}`;
// Use onclick to bypass SvelteKit routing and navigate directly
return `<a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="${normalized}" data-url="${url}" href="${url}" onclick="window.location.href='${url}'; return false;">${id}</a>`;
});
}

5
src/lib/utils/markup/basicMarkupParser.ts

@ -160,9 +160,10 @@ function replaceWikilinks(text: string): string { @@ -160,9 +160,10 @@ function replaceWikilinks(text: string): string {
(_match, target, label) => {
const normalized = normalizeDTag(target.trim());
const display = (label || target).trim();
const url = `./events?d=${normalized}`;
const url = `/events?d=${normalized}`;
// Output as a clickable <a> with the [[display]] format and matching link colors
return `<a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="${normalized}" data-url="${url}" href="${url}">${display}</a>`;
// Use onclick to bypass SvelteKit routing and navigate directly
return `<a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="${normalized}" data-url="${url}" href="${url}" onclick="window.location.href='${url}'; return false;">${display}</a>`;
},
);
}

8
src/lib/utils/nostrUtils.ts

@ -147,7 +147,7 @@ export function createProfileLink( @@ -147,7 +147,7 @@ export function createProfileLink(
const escapedText = escapeHtml(displayText || defaultText);
// Remove target="_blank" for internal navigation
return `<a href="./events?id=${escapedId}" class="npub-badge">@${escapedText}</a>`;
return `<a href="/events?id=${escapedId}" class="npub-badge">@${escapedText}</a>`;
}
/**
@ -230,9 +230,9 @@ export async function createProfileLinkWithVerification( @@ -230,9 +230,9 @@ export async function createProfileLinkWithVerification(
const type = nip05.endsWith("edu") ? "edu" : "standard";
switch (type) {
case "edu":
return `<span class="npub-badge"><a href="./events?id=${escapedId}">@${displayIdentifier}</a>${graduationCapSvg}</span>`;
return `<span class="npub-badge"><a href="/events?id=${escapedId}">@${displayIdentifier}</a>${graduationCapSvg}</span>`;
case "standard":
return `<span class="npub-badge"><a href="./events?id=${escapedId}">@${displayIdentifier}</a>${badgeCheckSvg}</span>`;
return `<span class="npub-badge"><a href="/events?id=${escapedId}">@${displayIdentifier}</a>${badgeCheckSvg}</span>`;
}
}
/**
@ -244,7 +244,7 @@ function createNoteLink(identifier: string): string { @@ -244,7 +244,7 @@ function createNoteLink(identifier: string): string {
const escapedId = escapeHtml(cleanId);
const escapedText = escapeHtml(shortId);
return `<a href="./events?id=${escapedId}" class="inline-flex items-center text-primary-600 dark:text-primary-500 hover:underline break-all">${escapedText}</a>`;
return `<a href="/events?id=${escapedId}" class="inline-flex items-center text-primary-600 dark:text-primary-500 hover:underline break-all">${escapedText}</a>`;
}
/**

Loading…
Cancel
Save