From 0cef409d498f3aa3f714f3f05924f933b4a610e5 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Sun, 12 Apr 2020 21:05:23 +0530 Subject: [PATCH] UX: strip base64 image URLs when converting HTML to markdown. --- app/assets/javascripts/discourse/lib/to-markdown.js | 4 ++++ test/javascripts/lib/to-markdown-test.js | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/app/assets/javascripts/discourse/lib/to-markdown.js b/app/assets/javascripts/discourse/lib/to-markdown.js index 83d7b28d04..25e49bfc85 100644 --- a/app/assets/javascripts/discourse/lib/to-markdown.js +++ b/app/assets/javascripts/discourse/lib/to-markdown.js @@ -291,6 +291,10 @@ export class Tag { } if (src) { + if (src.match(/^data:image\/([a-zA-Z]*);base64,([^\"]*)$/)) { + return "[image]"; + } + let alt = attr.alt || pAttr.alt || ""; const width = attr.width || pAttr.width; const height = attr.height || pAttr.height; diff --git a/test/javascripts/lib/to-markdown-test.js b/test/javascripts/lib/to-markdown-test.js index bcda89c9f2..3ae081d0fb 100644 --- a/test/javascripts/lib/to-markdown-test.js +++ b/test/javascripts/lib/to-markdown-test.js @@ -413,3 +413,9 @@ there is a quote above assert.equal(toMarkdown(html), markdown.trim()); }); + +QUnit.test("strips base64 image URLs", assert => { + const html = + ''; + assert.equal(toMarkdown(html), "[image]"); +});