From ecb63303fef5b8f8154b4bb15802024006a64e98 Mon Sep 17 00:00:00 2001 From: KaitoAzumane Date: Fri, 22 Mar 2024 17:03:46 +0900 Subject: [PATCH] Fix: formula output to comply with KaTeX rules The library's formula output was not following KaTeX rules, specifically missing delimiter symbols, causing the original LaTeX text to be displayed as is. Added options to customize left and right delimiters for improved compatibility. --- src/InsertOpsConverter.ts | 7 ++++++- src/OpAttributeSanitizer.ts | 1 + src/QuillDeltaToHtmlConverter.ts | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/InsertOpsConverter.ts b/src/InsertOpsConverter.ts index 81dc849..1207f16 100644 --- a/src/InsertOpsConverter.ts +++ b/src/InsertOpsConverter.ts @@ -79,7 +79,12 @@ class InsertOpsConverter { ) ) : DataType.Formula in insertPropVal - ? new InsertDataQuill(DataType.Formula, insertPropVal[DataType.Formula]) + ? new InsertDataQuill( + DataType.Formula, + sanitizeOptions.formulaDelimiters.left + + insertPropVal[DataType.Formula] + + sanitizeOptions.formulaDelimiters.right + ) : // custom new InsertDataCustom(keys[0], insertPropVal[keys[0]]); } diff --git a/src/OpAttributeSanitizer.ts b/src/OpAttributeSanitizer.ts index ba92231..916b2d3 100644 --- a/src/OpAttributeSanitizer.ts +++ b/src/OpAttributeSanitizer.ts @@ -44,6 +44,7 @@ interface IUrlSanitizerFn { } interface IOpAttributeSanitizerOptions { urlSanitizer?: IUrlSanitizerFn; + formulaDelimiters: { left: string; right: string }; } class OpAttributeSanitizer { diff --git a/src/QuillDeltaToHtmlConverter.ts b/src/QuillDeltaToHtmlConverter.ts index f157d56..383d202 100644 --- a/src/QuillDeltaToHtmlConverter.ts +++ b/src/QuillDeltaToHtmlConverter.ts @@ -62,6 +62,7 @@ class QuillDeltaToHtmlConverter { multiLineCustomBlock: true, allowBackgroundClasses: false, linkTarget: '_blank', + formulaDelimiters: { left: '$', right: '$' }, }, options, {