From 637e9c13e245fbfb8e4a2218e2bfd9d822c4518d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Beke=C4=8D?= <martin.bekec@hotmail.com>
Date: Tue, 25 Feb 2025 00:39:00 +0100
Subject: [PATCH] Add error extraction

Pass an array to which KaTeX errors should be pushed. Can be used to implement a custom way to display errors.
---
 index.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/index.js b/index.js
index 3bf81ab..cb17027 100644
--- a/index.js
+++ b/index.js
@@ -173,7 +173,8 @@ module.exports = function math_plugin(md, options) {
             return katex.renderToString(latex, options);
         }
         catch(error){
-            if(options.throwOnError){ console.log(error); }
+            if(options.throwOnError && options.logErrors){ console.log(error); }
+            if(options.errors) options.errors.push(error);
             return `<span class='katex-error' title='${escapeHtml(error.toString())}'>${escapeHtml(latex)}</span>`;
         }
     };
@@ -188,7 +189,8 @@ module.exports = function math_plugin(md, options) {
             return "<p class='katex-block'>" + katex.renderToString(latex, options) + "</p>";
         }
         catch(error){
-            if(options.throwOnError){ console.log(error); }
+            if(options.throwOnError && options.logErrors){ console.log(error); }
+            if(options.errors) options.errors.push(error);
             return `<p class='katex-block katex-error' title='${escapeHtml(error.toString())}'>${escapeHtml(latex)}</p>`;
         }
     }
-- 
GitLab