2018-12-15 15:19:04 +01:00
|
|
|
extends ./base
|
2018-05-05 18:34:48 +02:00
|
|
|
|
|
|
|
block vars
|
|
|
|
- const user = note.user;
|
|
|
|
- const title = user.name ? `${user.name} (@${user.username})` : `@${user.username}`;
|
|
|
|
- const url = `${config.url}/notes/${note.id}`;
|
2021-12-23 17:16:58 +01:00
|
|
|
- const isRenote = note.renote && note.text == null && note.fileIds.length == 0 && note.poll == null;
|
2023-06-09 03:13:46 +02:00
|
|
|
- const image = (note.files || []).find(file => file.type.startsWith('image/') && !file.isSensitive)
|
|
|
|
- const video = (note.files || []).find(file => file.type.startsWith('video/') && !file.isSensitive)
|
2018-05-05 18:34:48 +02:00
|
|
|
|
|
|
|
block title
|
2019-02-06 14:27:23 +01:00
|
|
|
= `${title} | ${instanceName}`
|
2018-05-05 18:34:48 +02:00
|
|
|
|
|
|
|
block desc
|
|
|
|
meta(name='description' content= summary)
|
|
|
|
|
2018-12-15 15:19:04 +01:00
|
|
|
block og
|
2018-05-05 18:37:32 +02:00
|
|
|
meta(property='og:type' content='article')
|
2018-05-05 18:34:48 +02:00
|
|
|
meta(property='og:title' content= title)
|
|
|
|
meta(property='og:description' content= summary)
|
|
|
|
meta(property='og:url' content= url)
|
2023-05-20 03:35:23 +02:00
|
|
|
if video
|
|
|
|
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)
|
|
|
|
// FIXME: add width and height
|
|
|
|
// FIXME: add embed player for Twitter
|
|
|
|
if image
|
|
|
|
meta(property='twitter:card' content='summary_large_image')
|
|
|
|
meta(property='og:image' content= image.url)
|
|
|
|
else
|
|
|
|
meta(property='twitter:card' content='summary')
|
|
|
|
meta(property='og:image' content= avatarUrl)
|
|
|
|
|
2018-05-05 18:43:53 +02:00
|
|
|
|
2018-12-15 15:19:04 +01:00
|
|
|
block meta
|
2021-12-23 17:16:58 +01:00
|
|
|
if user.host || isRenote || profile.noCrawle
|
2020-11-25 13:31:34 +01:00
|
|
|
meta(name='robots' content='noindex')
|
2023-05-11 09:22:46 +02:00
|
|
|
if profile.preventAiLearning
|
2023-05-10 03:54:56 +02:00
|
|
|
meta(name='robots' content='noimageai')
|
2023-05-10 03:52:41 +02:00
|
|
|
meta(name='robots' content='noai')
|
2020-11-25 13:31:34 +01:00
|
|
|
|
2019-04-03 19:22:50 +02:00
|
|
|
meta(name='misskey:user-username' content=user.username)
|
|
|
|
meta(name='misskey:user-id' content=user.id)
|
|
|
|
meta(name='misskey:note-id' content=note.id)
|
2022-02-02 16:51:41 +01:00
|
|
|
|
2019-04-29 02:11:57 +02:00
|
|
|
// todo
|
2018-12-16 00:49:38 +01:00
|
|
|
if user.twitter
|
|
|
|
meta(name='twitter:creator' content=`@${user.twitter.screenName}`)
|
|
|
|
|
2018-05-05 18:43:53 +02:00
|
|
|
if note.prev
|
2018-05-05 18:46:35 +02:00
|
|
|
link(rel='prev' href=`${config.url}/notes/${note.prev}`)
|
2018-05-05 18:43:53 +02:00
|
|
|
if note.next
|
2018-05-05 18:46:35 +02:00
|
|
|
link(rel='next' href=`${config.url}/notes/${note.next}`)
|
2018-09-07 12:22:14 +02:00
|
|
|
|
|
|
|
if !user.host
|
|
|
|
link(rel='alternate' href=url type='application/activity+json')
|
2019-03-16 01:54:40 +01:00
|
|
|
if note.uri
|
|
|
|
link(rel='alternate' href=note.uri type='application/activity+json')
|