diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index eeb1a9308..da10ec436 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -275,11 +275,16 @@ export default class CodeEditor extends React.Component { handleDropImage (e) { e.preventDefault() - const imagePath = e.dataTransfer.files[0].path - const filename = path.basename(imagePath) + const ValidImageTypes = ['image/gif', 'image/jpeg', 'image/png'] - copyImage(imagePath, this.props.storageKey).then((imagePath) => { - const imageMd = `![${filename}](${path.join('/:storage', imagePath)})` + const file = e.dataTransfer.files[0] + const filePath = file.path + const filename = path.basename(filePath) + const fileType = file['type'] + + copyImage(filePath, this.props.storageKey).then((imagePath) => { + var showPreview = ValidImageTypes.indexOf(fileType) > 0 + const imageMd = `${showPreview ? '!' : ''}[${filename}](${path.join('/:storage', imagePath)})` this.insertImageMd(imageMd) }) } diff --git a/browser/components/MarkdownPreview.js b/browser/components/MarkdownPreview.js index bd5d39391..f5ed2526c 100755 --- a/browser/components/MarkdownPreview.js +++ b/browser/components/MarkdownPreview.js @@ -394,6 +394,9 @@ export default class MarkdownPreview extends React.Component { _.forEach(this.refs.root.contentWindow.document.querySelectorAll('a'), (el) => { this.fixDecodedURI(el) + el.href = this.markdown.normalizeLinkText(el.href) + if (!/\/:storage/.test(el.href)) return + el.href = `file:///${this.markdown.normalizeLinkText(path.join(storagePath, 'images', path.basename(el.href)))}` el.addEventListener('click', this.anchorClickHandler) })