aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/client-html.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/client-html.ts')
-rw-r--r--server/lib/client-html.ts22
1 files changed, 9 insertions, 13 deletions
diff --git a/server/lib/client-html.ts b/server/lib/client-html.ts
index 5485376d3..203bd3893 100644
--- a/server/lib/client-html.ts
+++ b/server/lib/client-html.ts
@@ -24,7 +24,7 @@ import { VideoChannelModel } from '../models/video/video-channel'
24import { getActivityStreamDuration } from '../models/video/video-format-utils' 24import { getActivityStreamDuration } from '../models/video/video-format-utils'
25import { VideoPlaylistModel } from '../models/video/video-playlist' 25import { VideoPlaylistModel } from '../models/video/video-playlist'
26import { MAccountActor, MChannelActor } from '../types/models' 26import { MAccountActor, MChannelActor } from '../types/models'
27import { toSafeHtml } from '../helpers/markdown' 27import { mdToPlainText } from '../helpers/markdown'
28 28
29type Tags = { 29type Tags = {
30 ogType: string 30 ogType: string
@@ -55,10 +55,6 @@ type Tags = {
55 } 55 }
56} 56}
57 57
58const toPlainText = (content: string) => {
59 return toSafeHtml(content).replace(/<[^>]+>/g, '')
60}
61
62class ClientHtml { 58class ClientHtml {
63 59
64 private static htmlCache: { [path: string]: string } = {} 60 private static htmlCache: { [path: string]: string } = {}
@@ -99,13 +95,13 @@ class ClientHtml {
99 } 95 }
100 96
101 let customHtml = ClientHtml.addTitleTag(html, escapeHTML(video.name)) 97 let customHtml = ClientHtml.addTitleTag(html, escapeHTML(video.name))
102 customHtml = ClientHtml.addDescriptionTag(customHtml, toPlainText(video.description)) 98 customHtml = ClientHtml.addDescriptionTag(customHtml, mdToPlainText(video.description))
103 99
104 const url = WEBSERVER.URL + video.getWatchStaticPath() 100 const url = WEBSERVER.URL + video.getWatchStaticPath()
105 const originUrl = video.url 101 const originUrl = video.url
106 const title = escapeHTML(video.name) 102 const title = escapeHTML(video.name)
107 const siteName = escapeHTML(CONFIG.INSTANCE.NAME) 103 const siteName = escapeHTML(CONFIG.INSTANCE.NAME)
108 const description = toPlainText(video.description) 104 const description = mdToPlainText(video.description)
109 105
110 const image = { 106 const image = {
111 url: WEBSERVER.URL + video.getPreviewStaticPath() 107 url: WEBSERVER.URL + video.getPreviewStaticPath()
@@ -157,13 +153,13 @@ class ClientHtml {
157 } 153 }
158 154
159 let customHtml = ClientHtml.addTitleTag(html, escapeHTML(videoPlaylist.name)) 155 let customHtml = ClientHtml.addTitleTag(html, escapeHTML(videoPlaylist.name))
160 customHtml = ClientHtml.addDescriptionTag(customHtml, toPlainText(videoPlaylist.description)) 156 customHtml = ClientHtml.addDescriptionTag(customHtml, mdToPlainText(videoPlaylist.description))
161 157
162 const url = videoPlaylist.getWatchUrl() 158 const url = videoPlaylist.getWatchUrl()
163 const originUrl = videoPlaylist.url 159 const originUrl = videoPlaylist.url
164 const title = escapeHTML(videoPlaylist.name) 160 const title = escapeHTML(videoPlaylist.name)
165 const siteName = escapeHTML(CONFIG.INSTANCE.NAME) 161 const siteName = escapeHTML(CONFIG.INSTANCE.NAME)
166 const description = toPlainText(videoPlaylist.description) 162 const description = mdToPlainText(videoPlaylist.description)
167 163
168 const image = { 164 const image = {
169 url: videoPlaylist.getThumbnailUrl() 165 url: videoPlaylist.getThumbnailUrl()
@@ -241,13 +237,13 @@ class ClientHtml {
241 } 237 }
242 238
243 let customHtml = ClientHtml.addTitleTag(html, escapeHTML(entity.getDisplayName())) 239 let customHtml = ClientHtml.addTitleTag(html, escapeHTML(entity.getDisplayName()))
244 customHtml = ClientHtml.addDescriptionTag(customHtml, toPlainText(entity.description)) 240 customHtml = ClientHtml.addDescriptionTag(customHtml, mdToPlainText(entity.description))
245 241
246 const url = entity.getLocalUrl() 242 const url = entity.getLocalUrl()
247 const originUrl = entity.Actor.url 243 const originUrl = entity.Actor.url
248 const siteName = escapeHTML(CONFIG.INSTANCE.NAME) 244 const siteName = escapeHTML(CONFIG.INSTANCE.NAME)
249 const title = escapeHTML(entity.getDisplayName()) 245 const title = escapeHTML(entity.getDisplayName())
250 const description = toPlainText(entity.description) 246 const description = mdToPlainText(entity.description)
251 247
252 const image = { 248 const image = {
253 url: entity.Actor.getAvatarUrl(), 249 url: entity.Actor.getAvatarUrl(),
@@ -383,7 +379,7 @@ class ClientHtml {
383 } 379 }
384 380
385 metaTags['og:url'] = tags.url 381 metaTags['og:url'] = tags.url
386 metaTags['og:description'] = tags.description 382 metaTags['og:description'] = mdToPlainText(tags.description)
387 383
388 if (tags.embed) { 384 if (tags.embed) {
389 metaTags['og:video:url'] = tags.embed.url 385 metaTags['og:video:url'] = tags.embed.url
@@ -399,7 +395,7 @@ class ClientHtml {
399 private static generateStandardMetaTags (tags: Tags) { 395 private static generateStandardMetaTags (tags: Tags) {
400 return { 396 return {
401 name: tags.title, 397 name: tags.title,
402 description: tags.description, 398 description: mdToPlainText(tags.description),
403 image: tags.image.url 399 image: tags.image.url
404 } 400 }
405 } 401 }