summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/web/views/note.pug
blob: 9b755f60a23bfba53bb0e2a3351003c9ad2b3ef8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
extends ./base

block vars
	- const user = note.user;
	- const title = user.name ? `${user.name} (@${user.username}${user.host ? `@${user.host}` : ''})` : `@${user.username}${user.host ? `@${user.host}` : ''}`;
	- const url = `${config.webUrl}/notes/${note.id}`;
	- const isRenote = note.renote && note.text == null && note.fileIds.length == 0 && note.poll == null;
	- const images = note.cw ? [] : (note.files || []).filter(file => file.type.startsWith('image/') && !file.isSensitive)
	- const videos = note.cw ? [] : (note.files || []).filter(file => file.type.startsWith('video/') && !file.isSensitive)

block title
	= `${title} | ${instanceName}`

block desc
	meta(name='description' content= summary)

block og
	meta(property='og:type'        content='article')
	meta(property='og:title'       content= title)
	meta(property='og:description' content= summary)
	meta(property='og:url'         content= url)
	if videos.length
		each video in videos
			meta(property='og:video:url'        content= video.url)
			meta(property='og:video:secure_url' content= video.url)
			meta(property='og:video:type'       content= video.type)
			meta(property='og:image'            content= video.thumbnailUrl)
			// FIXME: add width and height
			// FIXME: add embed player for Twitter
	if images.length
		meta(property='twitter:card' content='summary_large_image')
		each image in images
			meta(property='og:image'     content= image.url)
	else if !videos.length
		meta(property='twitter:card' content='summary')
		meta(property='og:image'     content= avatarUrl)


block meta
	if user.host || isRenote || profile.noCrawle
		meta(name='robots' content='noindex')
	if profile.preventAiLearning
		meta(name='robots' content='noimageai')
		meta(name='robots' content='noai')

	meta(name='misskey:user-username' content=user.username)
	meta(name='misskey:user-id' content=user.id)
	meta(name='misskey:note-id' content=note.id)

	// todo
	if user.twitter
		meta(name='twitter:creator' content=`@${user.twitter.screenName}`)

	if note.prev
		link(rel='prev' href=`${config.webUrl}/notes/${note.prev}`)
	if note.next
		link(rel='next' href=`${config.webUrl}/notes/${note.next}`)

	if !user.host
		link(rel='alternate' href=url type='application/activity+json')
	if note.uri
		link(rel='alternate' href=note.uri type='application/activity+json')