From 5ff1c4b700c0043351668b0d618f3f69d9196df6 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Tue, 31 May 2016 10:48:16 -0700 Subject: [PATCH] Fix #3427: allow language-specific images in Markdown articles --- app/core/utils.coffee | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/core/utils.coffee b/app/core/utils.coffee index 72b007db3..afef39637 100644 --- a/app/core/utils.coffee +++ b/app/core/utils.coffee @@ -259,8 +259,11 @@ module.exports.filterMarkdownCodeLanguages = (text, language) -> return '' unless text currentLanguage = language or me.get('aceConfig')?.language or 'python' excludedLanguages = _.without ['javascript', 'python', 'coffeescript', 'clojure', 'lua', 'java', 'io'], currentLanguage - exclusionRegex = new RegExp "```(#{excludedLanguages.join('|')})\n[^`]+```\n?", 'gm' - text.replace exclusionRegex, '' + # Exclude language-specific code blocks like ```python (... code ...)``` for each non-target language. + codeBlockExclusionRegex = new RegExp "```(#{excludedLanguages.join('|')})\n[^`]+```\n?", 'gm' + # Exclude language-specific images like ![python - image description](image url) for each non-target language. + imageExclusionRegex = new RegExp "!\\[(#{excludedLanguages.join('|')}) - .+?\\]\\(.+?\\)\n?", 'gm' + return text.replace(codeBlockExclusionRegex, '').replace(imageExclusionRegex, '') module.exports.aceEditModes = aceEditModes = 'javascript': 'ace/mode/javascript'