"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
+ "commonmark": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz",
+ "integrity": "sha512-j1yoUo4gxPND1JWV9xj5ELih0yMv1iCWDG6eEQIPLSWLxzCXiFoyS7kvB+WwU+tZMf4snwJMMtaubV0laFpiBA==",
+ "requires": {
+ "entities": "~2.0",
+ "mdurl": "~1.0.1",
+ "minimist": ">=1.2.2",
+ "string.prototype.repeat": "^0.2.0"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
+ "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
+ }
+ }
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"minipass": {
"version": "3.1.3",
"side-channel": "^1.0.4"
}
},
+ "string.prototype.repeat": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
+ "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8="
+ },
"string.prototype.trimend": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
"@tippyjs/react": "^4.2.5",
"babel-polyfill": "^6.26.0",
"browser-encrypt-attachment": "^0.3.0",
+ "commonmark": "^0.30.0",
"dateformat": "^4.5.1",
"emojibase-data": "^6.2.0",
"flux": "^4.0.1",
import EventEmitter from 'events';
+import { Parser, HtmlRenderer } from 'commonmark';
import encrypt from 'browser-encrypt-attachment';
import cons from './cons';
+import settings from './settings';
function getImageDimension(file) {
return new Promise((resolve) => {
});
}
+function getFormatedBody(markdown) {
+ const reader = new Parser();
+ const writer = new HtmlRenderer();
+ const parsed = reader.parse(markdown);
+ return writer.render(parsed);
+}
+
class RoomsInput extends EventEmitter {
constructor(mx) {
super();
body: input.message,
msgtype: 'm.text',
};
+ if (settings.isMarkdown) {
+ content.format = 'org.matrix.custom.html';
+ content.formatted_body = getFormatedBody(input.message);
+ }
this.matrixClient.sendMessage(roomId, content);
}