[backend/razor] Add rel=alternate links to UserPreview and NotePreview

This commit is contained in:
Laura Hausmann 2025-03-15 01:21:13 +01:00
parent 9cad98f9e8
commit ca2b64a7ad
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
6 changed files with 6 additions and 0 deletions

View file

@ -48,6 +48,7 @@ public class NoteRenderer(
Text = renderedText?.Html,
Cw = note.Cw,
RawText = note.Text,
Uri = note.Uri ?? note.GetPublicUri(instance.Value),
QuoteUrl = note.Renote?.Url ?? note.Renote?.Uri ?? note.Renote?.GetPublicUriOrNull(instance.Value),
QuoteInaccessible = note.Renote?.VisibilityIsPublicOrHome == false,
Attachments = attachments[note.Id]?.Where(p => !inlineMediaUrls.Contains(p.Url)).ToList(),

View file

@ -32,6 +32,7 @@ public class UserRenderer(
Id = user.Id,
Username = user.Username,
Host = user.Host ?? instance.Value.AccountDomain,
Uri = user.GetUriOrPublicUri(instance.Value),
Url = user.UserProfile?.Url ?? user.Uri ?? user.PublicUrlPath,
AvatarUrl = user.GetAvatarUrl(instance.Value),
BannerUrl = user.GetBannerUrl(instance.Value),

View file

@ -8,6 +8,7 @@ public class PreviewNote
public required string? RawText;
public required MarkupString? Text;
public required string? Cw;
public required string? Uri;
public required string? QuoteUrl;
public required bool QuoteInaccessible;
public required List<PreviewAttachment>? Attachments;

View file

@ -11,6 +11,7 @@ public class PreviewUser
public required string Username;
public required string Host;
public required string Url;
public required string Uri;
public required string AvatarUrl;
public required string? BannerUrl;
public required string? MovedToUri;

View file

@ -127,6 +127,7 @@ else
<meta name="og:title" content="@title">
<meta name="og:image" content="@previewImageUrl">
<meta name="og:description" content="@description">
<link rel="alternate" type="application/activity+json" href="@_note.Uri">
<VersionedLink rel="stylesheet" href="/css/public-preview.css"/>
</HeadContent>

View file

@ -42,6 +42,7 @@ else
<meta name="og:description" content="@bio">
}
<meta name="og:image" content="@_user.AvatarUrl">
<link rel="alternate" type="application/activity+json" href="@_user.Uri">
<VersionedLink rel="stylesheet" href="/css/public-preview.css"/>
</HeadContent>
}