From c2504b16d243d10b87c3463fe428f384e5aa1120 Mon Sep 17 00:00:00 2001 From: nathan-sixnines Date: Wed, 13 Sep 2023 14:05:14 -0400 Subject: [PATCH] prevent markdownish from modifying text inside code block --- examples/server/public/index.html | 46 +++++++++++++++---------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/examples/server/public/index.html b/examples/server/public/index.html index 1bf2a8b3a..802364f6c 100644 --- a/examples/server/public/index.html +++ b/examples/server/public/index.html @@ -711,31 +711,31 @@ // poor mans markdown replacement const Markdownish = (params) => { - const md = params.text - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/^#{1,6} (.*)$/gim, '

$1

') - .replace(/\*\*(.*?)\*\*/g, '$1') - .replace(/__(.*?)__/g, '$1') - .replace(/\*(.*?)\*/g, '$1') - .replace(/_(.*?)_/g, '$1') - .replace(/```.*?\n([\s\S]*?)```/g, '
$1
') - .replace(/`(.*?)`/g, '$1') - .replace(/\n/gim, '
'); - return html``; + const chunks = params.text.split('```'); + + for (let i = 0; i < chunks.length; i++) { + if (i % 2 === 0) { // outside code block + chunks[i] = chunks[i] + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/^#{1,6} (.*)$/gim, '

$1

') + .replace(/\*\*(.*?)\*\*/g, '$1') + .replace(/__(.*?)__/g, '$1') + .replace(/\*(.*?)\*/g, '$1') + .replace(/_(.*?)_/g, '$1') + .replace(/`(.*?)`/g, '$1') + .replace(/\n/gim, '
'); + } else { // inside code block + chunks[i] = `
${chunks[i]}
`; + } + } + + const restoredText = chunks.join(''); + + return html``; }; - const ModelGenerationInfo = (params) => { - if (!llamaStats.value) { - return html`` - } - return html` - - ${llamaStats.value.predicted_per_token_ms.toFixed()}ms per token, ${llamaStats.value.predicted_per_second.toFixed(2)} tokens per second - - ` - } // simple popover impl const Popover = (props) => {