mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-17 14:05:04 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
eae95fce61
@ -55,25 +55,6 @@ function is_multi_line(node) {
|
||||
return par.firstChild != par.lastChild;
|
||||
}
|
||||
|
||||
import linkifyMatrix from './linkify-matrix';
|
||||
import * as linkify from 'linkifyjs';
|
||||
linkifyMatrix(linkify);
|
||||
|
||||
// Thieved from draft-js-export-markdown
|
||||
function escapeMarkdown(s) {
|
||||
return s.replace(/[*_`]/g, '\\$&');
|
||||
}
|
||||
|
||||
// Replace URLs, room aliases and user IDs with md-escaped URLs
|
||||
function linkifyMarkdown(s) {
|
||||
const links = linkify.find(s);
|
||||
links.forEach((l) => {
|
||||
// This may replace several instances of `l.value` at once, but that's OK
|
||||
s = s.replace(l.value, escapeMarkdown(l.value));
|
||||
});
|
||||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Class that wraps commonmark, adding the ability to see whether
|
||||
* a given message actually uses any markdown syntax or whether
|
||||
@ -81,7 +62,7 @@ function linkifyMarkdown(s) {
|
||||
*/
|
||||
export default class Markdown {
|
||||
constructor(input) {
|
||||
this.input = linkifyMarkdown(input);
|
||||
this.input = input;
|
||||
|
||||
const parser = new commonmark.Parser();
|
||||
this.parsed = parser.parse(this.input);
|
||||
|
Loading…
Reference in New Issue
Block a user