refac: citations

This commit is contained in:
Timothy Jaeryang Baek
2025-02-12 23:55:14 -08:00
parent a1dc2664c2
commit 7ff719938a
3 changed files with 21 additions and 17 deletions
+3 -6
View File
@@ -55,15 +55,12 @@ export const replaceTokens = (content, sourceIds, char, user) => {
// Remove sourceIds from the content and replace them with <source_id>...</source_id>
if (Array.isArray(sourceIds)) {
sourceIds.forEach((sourceId) => {
// Escape special characters in the sourceId
const escapedSourceId = escapeRegExp(sourceId);
sourceIds.forEach((sourceId, idx) => {
// Create a token based on the exact `[sourceId]` string
const sourceToken = `\\[${escapedSourceId}\\]`; // Escape special characters for RegExp
const sourceToken = `\\[${idx}\\]`; // Escape special characters for RegExp
const sourceRegex = new RegExp(sourceToken, 'g'); // Match all occurrences of [sourceId]
content = content.replace(sourceRegex, `<source_id data="${sourceId}" />`);
content = content.replace(sourceRegex, `<source_id data="${idx}" title="${sourceId}" />`);
});
}