diff --git a/src/processors/html-postprocess.ts b/src/processors/html-postprocess.ts
index 79e1cbd..c77066b 100644
--- a/src/processors/html-postprocess.ts
+++ b/src/processors/html-postprocess.ts
@@ -2,6 +2,7 @@ import { processMusicalNotation } from './music';
export interface PostProcessOptions {
enableMusicalNotation?: boolean;
+ linkBaseURL?: string;
}
/**
@@ -31,11 +32,21 @@ export function postProcessHtml(html: string, options: PostProcessOptions = {}):
return `${escapedDisplay}`;
});
- // Convert wikilink:dtag[display] format to HTML
- processed = processed.replace(/wikilink:([^[]+)\[([^\]]+)\]/g, (_match, dTag, displayText) => {
- const escapedDtag = dTag.replace(/"/g, '"');
- const escapedDisplay = displayText.replace(/"/g, '"');
- return `${displayText}`;
+ // Convert WIKILINK:dtag|display placeholder format to HTML
+ // Match WIKILINK:dtag|display, ensuring we don't match across HTML tags
+ processed = processed.replace(/WIKILINK:([^|<>]+)\|([^<>\s]+)/g, (_match, dTag, displayText) => {
+ const escapedDtag = dTag.trim().replace(/"/g, '"');
+ const escapedDisplay = displayText.trim()
+ .replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+
+ // Always use relative URL for wikilinks (works on any domain)
+ const url = `/events?d=${escapedDtag}`;
+
+ return `${escapedDisplay}`;
});
// Convert nostr: links to HTML