summaryrefslogtreecommitdiff
path: root/src/web
diff options
context:
space:
mode:
authorこぴなたみぽ <syuilotan@yahoo.co.jp>2018-02-23 18:34:14 +0900
committerこぴなたみぽ <syuilotan@yahoo.co.jp>2018-02-23 18:34:14 +0900
commitdbc2f42399f5b628279703958cdb963571af04e6 (patch)
treebd99b169682885e46724b18382d7e5d5c457ce6f /src/web
parentMerge pull request #1122 from syuilo/greenkeeper/vue-js-modal-1.3.12 (diff)
downloadmisskey-dbc2f42399f5b628279703958cdb963571af04e6.tar.gz
misskey-dbc2f42399f5b628279703958cdb963571af04e6.tar.bz2
misskey-dbc2f42399f5b628279703958cdb963571af04e6.zip
Fix #1124
Diffstat (limited to 'src/web')
-rw-r--r--src/web/app/common/views/components/post-html.ts31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/web/app/common/views/components/post-html.ts b/src/web/app/common/views/components/post-html.ts
index 006e326849..37954cd7e7 100644
--- a/src/web/app/common/views/components/post-html.ts
+++ b/src/web/app/common/views/components/post-html.ts
@@ -1,15 +1,8 @@
-declare const _URL_: string;
-
import Vue from 'vue';
import * as pictograph from 'pictograph';
-
+import { url } from '../../../config';
import MkUrl from './url.vue';
-const escape = text =>
- text
- .replace(/>/g, '&gt;')
- .replace(/</g, '&lt;');
-
export default Vue.component('mk-post-html', {
props: {
ast: {
@@ -29,12 +22,12 @@ export default Vue.component('mk-post-html', {
const els = [].concat.apply([], (this as any).ast.map(token => {
switch (token.type) {
case 'text':
- const text = escape(token.content)
- .replace(/(\r\n|\n|\r)/g, '\n');
+ const text = token.content.replace(/(\r\n|\n|\r)/g, '\n');
if ((this as any).shouldBreak) {
if (text.indexOf('\n') != -1) {
- const x = text.split('\n').map(t => [createElement('span', t), createElement('br')]);
+ const x = text.split('\n')
+ .map(t => [createElement('span', t), createElement('br')]);
x[x.length - 1].pop();
return x;
} else {
@@ -45,12 +38,12 @@ export default Vue.component('mk-post-html', {
}
case 'bold':
- return createElement('strong', escape(token.bold));
+ return createElement('strong', token.bold);
case 'url':
return createElement(MkUrl, {
props: {
- url: escape(token.content),
+ url: token.content,
target: '_blank'
}
});
@@ -59,16 +52,16 @@ export default Vue.component('mk-post-html', {
return createElement('a', {
attrs: {
class: 'link',
- href: escape(token.url),
+ href: token.url,
target: '_blank',
- title: escape(token.url)
+ title: token.url
}
- }, escape(token.title));
+ }, token.title);
case 'mention':
return (createElement as any)('a', {
attrs: {
- href: `${_URL_}/${escape(token.username)}`,
+ href: `${url}/${token.username}`,
target: '_blank',
dataIsMe: (this as any).i && (this as any).i.username == token.username
},
@@ -81,10 +74,10 @@ export default Vue.component('mk-post-html', {
case 'hashtag':
return createElement('a', {
attrs: {
- href: `${_URL_}/search?q=${escape(token.content)}`,
+ href: `${url}/search?q=${token.content}`,
target: '_blank'
}
- }, escape(token.content));
+ }, token.content);
case 'code':
return createElement('pre', [