diff --git a/app/assets/javascripts/discourse/lib/to-markdown.js.es6 b/app/assets/javascripts/discourse/lib/to-markdown.js.es6
index c20a738d3ea..67b4929c8fa 100644
--- a/app/assets/javascripts/discourse/lib/to-markdown.js.es6
+++ b/app/assets/javascripts/discourse/lib/to-markdown.js.es6
@@ -125,12 +125,19 @@ class Tag {
toMarkdown() {
const e = this.element;
- const attr = e.attributes;
- const pAttr = e.parent && e.parent.attributes;
- const src = (attr && attr.src) || (pAttr && pAttr.src);
+ const attr = e.attributes || {};
+ const pAttr = (e.parent && e.parent.attributes) || {};
+ const src = attr.src || pAttr.src;
if (src) {
- const alt = (attr && attr.alt) || (pAttr && pAttr.alt) || "";
+ let alt = attr.alt || pAttr.alt || "";
+ const width = attr.width || pAttr.width;
+ const height = attr.height || pAttr.height;
+
+ if (width && height) {
+ alt = `${alt}|${width}x${height}`;
+ }
+
return "";
}
diff --git a/test/javascripts/lib/to-markdown-test.js.es6 b/test/javascripts/lib/to-markdown-test.js.es6
index 96ee32db5ac..b35a1fbc560 100644
--- a/test/javascripts/lib/to-markdown-test.js.es6
+++ b/test/javascripts/lib/to-markdown-test.js.es6
@@ -106,11 +106,11 @@ QUnit.test("converts table as readable", assert => {
QUnit.test("converts img tag", assert => {
const url = "https://example.com/image.png";
- let html = ``;
- assert.equal(toMarkdown(html), ``);
+ let html = `
`;
+ assert.equal(toMarkdown(html), ``);
- html = `