Don't replace underscore italics inside of code blocks
| @@ -8,8 +8,16 @@ export const markdownUnderscoreExt = () => { | ||
| 8 | 8 | |
| 9 | 9 | return [{ |
| 10 | 10 | type: 'lang', |
| 11 | 11 | regex: new RegExp('(`{1,3}).*?\\1|\\b(?<!_)_(?!_)(.*?)(?<!_)_(?!_)\\b', 'ggs'), |
| 12 | - replace: '<em>$1</em>', | |
| 12 | + replace: function(match, codeBlock, italicContent) { | |
| 13 | + if (codeBlock) { | |
| 14 | + // If it's a code block, return it unchanged | |
| 15 | + return match; | |
| 16 | + } else { | |
| 17 | + // If it's an italic group, apply the replacement | |
| 18 | + return `<em>${italicContent}</em>`; | |
| 19 | + } | |
| 20 | + }, | |
| 13 | 21 | }]; |
| 14 | 22 | } catch (e) { |
| 15 | 23 | console.error('Error in Showdown-underscore extension:', e); |